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

from Map.Piece import Piece 

from Map.Move import Move 

import unittest 

 

class TestPiece(unittest.TestCase): 

 

def test_init(self): 

# test for simple case where no exception is expected 

piece = Piece(0,0,False) 

self.assertEquals(piece.x, 0) 

self.assertEquals(piece.y, 0) 

self.assertEquals(piece.isVertical, False) 

 

# test for cases where incorrect values are given 

with self.assertRaises(AttributeError): 

piece = Piece('0',0,False) 

 

with self.assertRaises(AttributeError): 

piece = Piece(0,'0',False) 

 

with self.assertRaises(AttributeError): 

piece = Piece(0,0,'False') 

 

# double check and make all wrong 

with self.assertRaises(AttributeError): 

piece = Piece('0','0','False') 

 

def test_move(self): 

piece = Piece(0, 0, False) 

 

# test right move valid 

move = Move.right('*') 

piece.move(move) 

self.assertEquals(piece.x, 1) 

self.assertEquals(piece.y, 0) 

 

# test left move valid 

move = Move.left('*') 

piece.move(move) 

self.assertEquals(piece.x, 0) 

self.assertEquals(piece.y, 0) 

 

# test vertical move on horizontal piece 

move = Move.up('*') 

with self.assertRaises(AttributeError): 

piece.move(move) 

 

# test up move valid 

piece = Piece(0, 0, True) 

move = Move.up('*') 

piece.move(move) 

self.assertEquals(piece.x, 0) 

self.assertEquals(piece.y, -1) 

 

# test down move valid 

move = Move.down('*') 

piece.move(move) 

self.assertEquals(piece.x, 0) 

self.assertEquals(piece.y, 0) 

 

# test horizontal move on vertical piece 

move = Move.right('*') 

with self.assertRaises(AttributeError): 

piece.move(move) 

 

# test invalid move given 

move.up = 3 

with self.assertRaises(AttributeError): 

piece.move(move) 

 

# test invalid type given 

move = None 

with self.assertRaises(AttributeError): 

piece.move(move)