def test_gameplay_multikill(self):
     test_interface = gologic.interface()
     test_interface.newgame(19)
     test_interface.pass_turn()
     test_interface.try_move((3,1))#white
     test_interface.try_move((3,2))#black
     test_interface.try_move((2,2))
     test_interface.try_move((2,3))
     test_interface.try_move((1,3))
     test_interface.try_move((3,4))
     test_interface.try_move((2,4))
     test_interface.try_move((4,3))
     test_interface.try_move((3,5))
     test_interface.pass_turn()
     test_interface.try_move((4,4))
     test_interface.pass_turn()
     test_interface.try_move((5,3))
     test_interface.pass_turn()
     test_interface.try_move((4,2))
     test_interface.pass_turn()
     assert len(test_interface.game.groups) == 12,"should be 12 groups now"
     test_interface.try_move((3,3))
     assert len(test_interface.game.groups) == 9,"should be 9 groups now"
     assert test_interface.game.dead_stones[0] == 4,"should be 4 dead black stones"
     for group in test_interface.game.groups: assert group.colour == 1,"All groups should be white"
     test_interface.pass_turn()
     test_interface.try_move((2,3))
     assert len(test_interface.game.groups) == 6,"should be 6 groups now"
 def test_gameplay_corner(self):
     test_interface = gologic.interface()
     test_interface.newgame(9)
     test_interface.try_move((8,7))#black
     test_interface.try_move((8,8))#white
     test_interface.try_move((7,8))#black
     for group in test_interface.game.groups: assert group.colour == 0,"All groups should be black"
     assert len(test_interface.game.groups) == 2,"should be 2 groups now"
 def test_illegal_move(self):
     test_interface = gologic.interface()
     test_interface.newgame(9)
     test_interface.try_move((1,8))#black
     test_interface.pass_turn()
     test_interface.try_move((0,7))#black
     legality = test_interface.try_move((0,8))#white
     assert legality == False
 def test_gameplay_box(self):
     test_interface = gologic.interface()
     test_interface.newgame(9)
     test_interface.try_move((2,2))#black
     test_interface.try_move((3,3))#white
     test_interface.try_move((2,3))#black
     test_interface.try_move((3,4))#white
     test_interface.try_move((2,4))#black
     test_interface.try_move((3,5))#white
     test_interface.try_move((2,5))#black
     test_interface.try_move((4,5))#white
     test_interface.try_move((2,6))#black
     test_interface.try_move((5,5))#white
     test_interface.try_move((3,6))#black
     test_interface.try_move((5,4))#white
     test_interface.try_move((4,6))#black
     test_interface.try_move((5,3))#white
     test_interface.try_move((5,6))#black
     test_interface.try_move((4,3))#white
     test_interface.try_move((6,6))#black
     test_interface.pass_turn()
     test_interface.try_move((6,5))#black
     test_interface.pass_turn()
     test_interface.try_move((6,4))#black
     test_interface.pass_turn()
     test_interface.try_move((6,3))#black
     test_interface.pass_turn()
     test_interface.try_move((6,2))#black
     test_interface.pass_turn()
     test_interface.try_move((5,2))#black
     test_interface.pass_turn()
     test_interface.try_move((4,2))#black
     test_interface.pass_turn()
     test_interface.try_move((3,2))#black
     assert test_interface.try_move((4,4)) == False,"""White cannot move here"""
     assert len(test_interface.game.groups) == 2,"should be 2 groups now"
     test_interface.pass_turn()
     test_interface.try_move((4,4))#black
     assert test_interface.game.dead_stones[1] == 8,"should be 8 dead white stones"
     assert len(test_interface.game.groups) == 2,"should be 2 group now"
     for group in test_interface.game.groups: assert group.colour == 0,"All groups should be black"
     assert len(test_interface.game.groups[0].positions) == 16,"Group should have 16 stones in it"
 def test_gameplay_the_ladder(self):
     test_interface = gologic.interface()
     test_interface.newgame(13)
     test_interface.try_move((4,3))#black
     test_interface.try_move((3,3))#white
     test_interface.try_move((4,2))
     test_interface.pass_turn()
     test_interface.try_move((3,4))
     test_interface.pass_turn()
     test_interface.try_move((2,3))
     test_interface.try_move((3,2))
     test_interface.try_move((3,1))
     test_interface.try_move((2,2))
     test_interface.try_move((1,2))
     test_interface.try_move((2,1))
     test_interface.try_move((2,0))
     test_interface.try_move((1,1))
     test_interface.try_move((0,1))
     test_interface.try_move((1,0))
     test_interface.try_move((0,0))
     assert test_interface.game.dead_stones[1] == 6,"should be 6 dead white stones"
     for group in test_interface.game.groups: assert group.colour == 0,"All groups should be black"
     assert len(test_interface.game.groups) == 7,"should be 7 groups now"
 def test_gameplay(self):
     test_interface = gologic.interface()
     test_interface.newgame(13)
     test_interface.try_move((2,2))#black
     test_interface.try_move((2,1))#white
     test_interface.try_move((2,3))#black
     assert len(test_interface.game.groups) == 2,"should be 2 groups now"
     test_interface.try_move((2,0))#white
     assert len(test_interface.game.groups) == 2,"should be 2 groups now"
     test_interface.try_move((1,1))#black
     assert len(test_interface.game.groups) == 3,"should be 3 groups now"
     test_interface.pass_turn()
     test_interface.try_move((1,0))
     test_interface.pass_turn()
     test_interface.try_move((3,1))
     test_interface.pass_turn()
     test_interface.try_move((3,0))
     assert len(test_interface.game.groups) == 3,"should be 3 groups now"
     assert test_interface.game.dead_stones[1] == 2,"should be 2 dead white stones"
     test_interface.pass_turn()
     test_interface.try_move((2,1))
     assert len(test_interface.game.groups) == 1,"should be 1 group now"
     assert len(test_interface.game.groups[0].positions) == 7,"Group should have 7 stones in it"