Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

from Map.Move import Move 

from test import files 

import unittest 

 

class TestMove(unittest.TestCase): 

 

def test_init(self): 

# test all valid kinds of moves and if no exception is thrown 

# then the test case is passed 

move = Move('a',1,0) 

move = Move('a',-1,0) 

move = Move('a',0,1) 

move = Move('a',0,-1) 

move = Move('a',-3,0) 

move = Move('a',0,3) 

 

# test all diagnols and make sure excpetion is thrown 

with self.assertRaises(AttributeError): 

move = Move('a',1,1) 

 

with self.assertRaises(AttributeError): 

move = Move('a',-1,1) 

 

with self.assertRaises(AttributeError): 

move = Move('a',1,-1) 

 

with self.assertRaises(AttributeError): 

move = Move('a',-1,-1) 

 

# test when a type other than string is given to make sure 

# an exception is thrown 

with self.assertRaises(AttributeError): 

move = Move(0,-1,-1) 

 

with self.assertRaises(AttributeError): 

move = Move(['a'],-1,-1) 

 

def test_isValid(self): 

# test if a valid move is valid 

move = Move('a',0,1) 

self.assertTrue(move.isValid()) 

 

# test if negative values are okay 

move.up = -1 

self.assertTrue(move.isValid()) 

 

move.right = -3 

move.up = 0 

self.assertTrue(move.isValid()) 

 

# test if both invalid up and right is invalid 

move.up = -3 

move.right = 3 

self.assertFalse(move.isValid()) 

 

# test if diagnols are invalid 

move.up = 1 

move.right = 1 

self.assertFalse(move.isValid()) 

 

move.up = -1 

move.right = 1 

self.assertFalse(move.isValid()) 

 

move.up = 1 

move.right = -1 

self.assertFalse(move.isValid()) 

 

move.up = -1 

move.right = -1 

self.assertFalse(move.isValid()) 

 

def test_equals(self): 

move1 = Move.down('a') 

move2 = Move.down('a') 

self.assertTrue(move1.equals(move2)) 

 

move3 = Move.up('a') 

self.assertFalse(move1.equals(move3)) 

 

move4 = Move.right('a') 

self.assertFalse(move1.equals(move4)) 

 

move5 = Move.down('*') 

self.assertFalse(move1.equals(move5)) 

 

def test_toStr(self): 

move = Move.right('*') 

self.assertEquals(move.toStr(), '*, 1, 0') 

 

def test_left(self): 

move = Move.left('a') 

self.assertEquals(move.piece, 'a') 

self.assertEquals(move.up, 0) 

self.assertEquals(move.right, -1) 

 

move = Move.left('a', size=3) 

self.assertEquals(move.piece, 'a') 

self.assertEquals(move.up, 0) 

self.assertEquals(move.right, -3) 

 

def test_right(self): 

move = Move.right('a') 

self.assertEquals(move.piece, 'a') 

self.assertEquals(move.up, 0) 

self.assertEquals(move.right, 1) 

 

move = Move.right('a', size=3) 

self.assertEquals(move.piece, 'a') 

self.assertEquals(move.up, 0) 

self.assertEquals(move.right, 3) 

 

def test_up(self): 

move = Move.up('a') 

self.assertEquals(move.piece, 'a') 

self.assertEquals(move.up, -1) 

self.assertEquals(move.right, 0) 

 

move = Move.up('a', size=4) 

self.assertEquals(move.piece, 'a') 

self.assertEquals(move.up, -4) 

self.assertEquals(move.right, 0) 

 

def test_down(self): 

move = Move.down('a') 

self.assertEquals(move.piece, 'a') 

self.assertEquals(move.up, 1) 

self.assertEquals(move.right, 0) 

 

move = Move.down('a', size=-3) 

self.assertEquals(move.piece, 'a') 

self.assertEquals(move.up, 3) 

self.assertEquals(move.right, 0)