def test_InitColourScheme(self): c = Cube(colour_scheme=['A', 'B', 'C', 'D', 'E', 'F']) self.assertTrue(np.array_equal(c.face('U'), _solid_side_array('A'))) self.assertTrue(np.array_equal(c.face('D'), _solid_side_array('B'))) self.assertTrue(np.array_equal(c.face('F'), _solid_side_array('C'))) self.assertTrue(np.array_equal(c.face('B'), _solid_side_array('D'))) self.assertTrue(np.array_equal(c.face('L'), _solid_side_array('E'))) self.assertTrue(np.array_equal(c.face('R'), _solid_side_array('F')))
def test_InitDefaults(self): c = Cube() self.assertTrue(np.array_equal(c.face('U'), _solid_side_array('W'))) self.assertTrue(np.array_equal(c.face('D'), _solid_side_array('Y'))) self.assertTrue(np.array_equal(c.face('F'), _solid_side_array('G'))) self.assertTrue(np.array_equal(c.face('B'), _solid_side_array('B'))) self.assertTrue(np.array_equal(c.face('L'), _solid_side_array('O'))) self.assertTrue(np.array_equal(c.face('R'), _solid_side_array('R')))
def test_SolvedSpecificSide(self): c = Cube() c._state = np.array([ [['W', 'W', 'W'], ['W', 'W', 'W'], ['W', 'W', 'W']], [['Y', 'Y', 'Y'], ['Y', 'Y', 'Y'], ['Y', 'Y', 'Y']], [['O', 'O', 'O'], ['G', 'G', 'G'], ['G', 'G', 'G']], [['R', 'R', 'R'], ['B', 'B', 'B'], ['B', 'B', 'B']], [['B', 'B', 'B'], ['O', 'O', 'O'], ['O', 'O', 'O']], [['G', 'G', 'G'], ['R', 'R', 'R'], ['R', 'R', 'R']], ]) self.assertTrue(c.solved('U')) self.assertTrue(c.solved(['U', 'D'])) self.assertFalse(c.solved('F')) self.assertFalse(c.solved(['U', 'D', 'F']))
def _generate_test_cube(): c = Cube() c._state = np.array([ [['W', 'Y', 'W'], ['Y', 'W', 'Y'], ['W', 'Y', 'W']], [['Y', 'W', 'Y'], ['W', 'Y', 'W'], ['Y', 'W', 'Y']], [['G', 'B', 'G'], ['B', 'G', 'B'], ['G', 'B', 'G']], [['B', 'G', 'B'], ['G', 'B', 'G'], ['B', 'G', 'B']], [['O', 'R', 'O'], ['R', 'O', 'R'], ['O', 'R', 'O']], [['R', 'O', 'R'], ['O', 'R', 'O'], ['R', 'O', 'R']], ]) return c
def test_SolvedNewCube(self): c = Cube() self.assertTrue(c.solved())
def test_GetFaceInvalid(self): c = Cube() with self.assertRaises(RuntimeError): c.face('z')
def test_GetFaceCase(self): c = Cube() u1 = c.face('U') u2 = c.face('u') self.assertTrue(np.array_equal(u1, u2))