예제 #1
0
 def  test_immutability_change_whole_tree(self):
     z = Zipper().insert(1).right().insert(4).up().left().insert(2).left().insert(3).up().up()
     z_2 = Zipper().insert(1).right().insert(4).up().left().insert(2).left().insert(3).up().up()
     z.set_value(2).right().set_value(8).up().left().set_value(4).left().set_value(6).up().up()
     self.assertEqual(z.value(), z_2.value())
     self.assertEqual(z.right().value(), z_2.right().value())
     self.assertEqual(z.right().up().left().value(), z_2.right().up().left().value())
     self.assertEqual(z.right().up().left().left().value(), z_2.right().up().left().left().value())
     self.assertEqual(z.right().up().left().up().value(), z_2.right().up().left().up().value())
예제 #2
0
 def test_immutability_set_value(self):
     z = Zipper().insert(1).right().insert(4).up().left().insert(2).left().insert(3)
     z_2 = z.set_value(5)
     self.assertEqual(z.value(), 3)
     self.assertEqual(z_2.value(), 5)