Ejemplo n.º 1
0
 def test_compareRotates_180degrees_flips(self):
     t1 = tiles.Tile(self.tile1)
     t2 = tiles.Tile(self.tile1)
     t1.flipHorizontal()
     t1.flipVertical()
     t2.rotate180()
     self.assertEqual(str(t1), str(t2))
Ejemplo n.º 2
0
 def test_compareRotates_270degrees_3steps(self):
     t1 = tiles.Tile(self.tile1)
     t2 = tiles.Tile(self.tile1)
     for i in range(3):
         t1.rotate90()
     t2.rotate270()
     self.assertEqual(str(t1), str(t2))
Ejemplo n.º 3
0
 def test_compareRotates_180degrees(self):
     t1 = tiles.Tile(self.tile1)
     t2 = tiles.Tile(self.tile1)
     for i in range(2):
         t1.rotate90()
         # print(t1)
     t2.rotate180()
     self.assertEqual(str(t1), str(t2))
Ejemplo n.º 4
0
 def test_flipHorizontal_edgeIDs_3x3(self):
     t = tiles.Tile(self.tile1)
     t.flipHorizontal()
     expected = [
         self.t1Sides[0], self.t1Sides[3], self.t1Sides[2], self.t1Sides[1]
     ]
     self.assertEqual(expected, t.sideIDs)
Ejemplo n.º 5
0
 def test_flipVertical_edgeIDs_4x4(self):
     t = tiles.Tile(self.tile2)
     t.flipVertical()
     expected = [
         self.t2Sides[2], self.t2Sides[1], self.t2Sides[0], self.t2Sides[3]
     ]
     self.assertEqual(expected, t.sideIDs)
Ejemplo n.º 6
0
 def test_rotate270_edgeIDs_4x4(self):
     t = tiles.Tile(self.tile2)
     t.rotate270()
     expected = [
         self.t2Sides[1], self.t2Sides[2], self.t2Sides[3], self.t2Sides[0]
     ]
     self.assertEqual(expected, t.sideIDs)
Ejemplo n.º 7
0
 def test_rotate180_edgeIDs_3x3(self):
     t = tiles.Tile(self.tile1)
     t.rotate180()
     expected = [
         self.t1Sides[2], self.t1Sides[3], self.t1Sides[0], self.t1Sides[1]
     ]
     self.assertEqual(expected, t.sideIDs)
Ejemplo n.º 8
0
 def test_rotate90_corners_3x3(self):
     t = tiles.Tile(self.tile1)
     orig = str(t).split('\n')
     t.rotate90()
     newT = str(t).split('\n')
     self.assertEqual(orig[0][0], newT[0][-1], "Top left -> top right")
     self.assertEqual(orig[0][1], newT[1][-1], "Top middle -> middle right")
     self.assertEqual(orig[0][-1], newT[-1][-1],
                      "Top right -> bottom right")
     self.assertEqual(orig[1][0], newT[0][1], "Middle left -> top middle")
     self.assertEqual(orig[1][1], newT[1][1], "Centre -> centre")
     self.assertEqual(orig[1][-1], newT[-1][1],
                      "Middle right -> bottom middle")
     self.assertEqual(orig[-1][0], newT[0][0], "Bottom left -> top left")
     self.assertEqual(orig[-1][1], newT[1][0],
                      "Bottom middle -> middle left")
     self.assertEqual(orig[-1][-1], newT[-1][0],
                      "Bottom right -> bottom left")
Ejemplo n.º 9
0
 def test_rotate90_corners_4x4(self):
     t = tiles.Tile(self.tile2)
     orig = str(t).split('\n')
     t.rotate90()
     newT = str(t).split('\n')
     self.assertEqual(orig[0][0], newT[0][-1], "Top left -> top right")
     self.assertEqual(orig[0][1], newT[1][-1],
                      "Top left-middle -> above-middle right")
     self.assertEqual(orig[0][-1], newT[-1][-1],
                      "Top right -> bottom right")
     self.assertEqual(orig[1][0], newT[0][-2],
                      "Above-middle left -> top right-middle")
     self.assertEqual(orig[1][-1], newT[-1][-2],
                      "Below-middle right -> bottom left-middle")
     self.assertEqual(orig[-1][0], newT[0][0], "Bottom left -> top left")
     self.assertEqual(orig[-1][1], newT[1][0],
                      "Bottom middle -> middle left")
     self.assertEqual(orig[-1][-1], newT[-1][0],
                      "Bottom right -> bottom left")
Ejemplo n.º 10
0
 def test_rotate270_full_rotation_1080degrees(self):
     t = tiles.Tile(self.tile1)
     orig = str(t)
     for i in range(4):
         t.rotate270()
     self.assertEqual(orig, str(t))
Ejemplo n.º 11
0
 def test_init_sideID_calculation_4x4(self):
     t = tiles.Tile(self.tile2)
     self.assertEqual(self.t2Sides, t.sideIDs)
Ejemplo n.º 12
0
 def test_patternMatch_knownGoodAssembly_pos2(self):
     buffer = ["0"]
     buffer.extend(self.knownPuzzleSolutionOriented)
     tile = tiles.Tile(buffer)
     self.assertTrue(tile._patternMatch((1, 16), self.serpentPattern))
Ejemplo n.º 13
0
 def test_findPatternMatches_knownGoodAssembly_match(self):
     buffer = ["0"]
     buffer.extend(self.knownPuzzleSolutionOriented)
     tile = tiles.Tile(buffer)
     matches = [m for m in tile._findPatternMatches(self.serpentPattern)]
     self.assertEqual(set([(2, 2), (1, 16)]), set(matches))
Ejemplo n.º 14
0
 def test_findPatternMatches_knownGoodAssembly_count(self):
     buffer = ["0"]
     buffer.extend(self.knownPuzzleSolutionOriented)
     tile = tiles.Tile(buffer)
     matches = [m for m in tile._findPatternMatches(self.serpentPattern)]
     self.assertTrue(2, len(matches))
Ejemplo n.º 15
0
 def test_count(self):
     buffer = ["0"]
     buffer.extend(self.knownPuzzleSolutionOriented)
     tile = tiles.Tile(buffer)
     self.assertEqual(303, tile.countSymbol('#'))
Ejemplo n.º 16
0
 def test_rotate180_full_rotation_360degrees(self):
     t = tiles.Tile(self.tile1)
     orig = str(t)
     for i in range(2):
         t.rotate180()
     self.assertEqual(orig, str(t))
Ejemplo n.º 17
0
 def test_flipVertical_reversible(self):
     t = tiles.Tile(self.tile1)
     orig = str(t)
     for i in range(2):
         t.flipVertical()
     self.assertEqual(orig, str(t))
Ejemplo n.º 18
0
 def test_init_sideID_calculation_3x3(self):
     t = tiles.Tile(self.tile1)
     self.assertEqual(self.t1Sides, t.sideIDs)