コード例 #1
0
ファイル: gologictest.py プロジェクト: jimbobsweeney/Go
 def test_check_for_group(self):
     self.testgame = gologic.game(19)
     self.testgame.groups.append(gologic.group((5,5),0)) 
     self.testmove = gologic.move((4,5),0)
     self.testgame.check_for_group(self.testmove)
     assert len(self.testmove.adjacent_groups) == 1,"There should be one adjacent group to this move"
     self.testgame.groups.append(gologic.group((3,5),1))
     self.testgame.check_for_group(self.testmove)
     assert len(self.testmove.adjacent_op_groups) == 1,"There should be one adjacent opponent group to this move" 
コード例 #2
0
ファイル: gologictest.py プロジェクト: jimbobsweeney/Go
 def test_check_for_group_2(self):
     self.testgame = gologic.game(19)
     self.testgame.groups.append(gologic.group((5,5),0)) 
     self.testgame.groups.append(gologic.group((3,5),0)) 
     self.testgame.groups.append(gologic.group((4,6),0)) 
     self.testgame.groups.append(gologic.group((4,4),0))
     self.testmove = gologic.move((4,5),0) 
     self.testgame.check_for_group(self.testmove)
     assert len(self.testmove.adjacent_groups) == 4,"There should be 4 adjacent groups to this move"
コード例 #3
0
ファイル: gologictest.py プロジェクト: jimbobsweeney/Go
 def test_merge_group(self):
     self.testgame = gologic.game(30)
     self.testgame.groups.append(gologic.group((5,5),0))
     self.testgame.groups[0].add_position((4,4))
     self.testgame.groups[0].add_position((5,4))
     self.testgame.groups.append(gologic.group((3,4),0))
     self.testgame.groups[1].add_position((3,5)) 
     self.testgame.groups.append(gologic.group((4,6),0))
     self.testmergelist = [self.testgame.groups[0],self.testgame.groups[1],self.testgame.groups[2]]
     self.testgame.merge_groups(self.testmergelist)
     assert len(self.testgame.groups) == 1,"Should only be one group after this merge"
コード例 #4
0
ファイル: gologictest.py プロジェクト: jimbobsweeney/Go
 def test_check_for_group_4(self):
     self.testgame = gologic.game(19)
     self.testgame.groups.append(gologic.group((5,5),0))
     self.testgame.groups[0].add_position((4,4))
     self.testgame.groups[0].add_position((5,4))
     self.testgame.groups.append(gologic.group((3,4),0))
     self.testgame.groups[1].add_position((3,5)) 
     self.testgame.groups.append(gologic.group((4,6),0))     
     self.testmove = gologic.move((4,5),0)
     self.testgame.check_for_group(self.testmove)
     assert len(self.testmove.adjacent_groups) == 3,"There should be 3 adjacent groups to this move" 
コード例 #5
0
ファイル: gologictest.py プロジェクト: Wonko-the-sane/GOLOGIC
 def test_make_a_move2(self):
     self.testgame = gologic.game(19)
     self.testgame.gameboard.add_stone((4,5),1,15)
     self.testgame.groups.append(gologic.group((4,5),1,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((6,5),1,15)
     self.testgame.groups.append(gologic.group((6,5),1,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((5,6),1,15)
     self.testgame.groups.append(gologic.group((5,6),1,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((5,4),1,15)
     self.testgame.groups.append(gologic.group((5,4),1,self.testgame.gameboard.grid))
     self.testmove = gologic.move((5,5),0)
     legality = self.testgame.make_a_move(self.testmove)
     assert legality == False,"this move should be illegal"
コード例 #6
0
ファイル: gologictest.py プロジェクト: Wonko-the-sane/GOLOGIC
 def test_sim_move2(self):
     self.testgame = gologic.game(19)
     self.testgame.gameboard.add_stone((4,5),0,15)
     self.testgame.groups.append(gologic.group((4,5),0,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((6,5),0,15)
     self.testgame.groups.append(gologic.group((6,5),0,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((5,6),0,15)
     self.testgame.groups.append(gologic.group((5,6),0,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((5,4),0,15)
     self.testgame.groups.append(gologic.group((5,4),0,self.testgame.gameboard.grid))
     self.testmove = gologic.move((5,5),0)
     sim_game = self.testgame.sim_move(self.testmove)
     assert len(sim_game.groups) == 1,"There should be 1 group"
     assert len(sim_game.groups[0].positions) == 5,"There should be 5 positions in the group"
コード例 #7
0
ファイル: gologictest.py プロジェクト: jimbobsweeney/Go
 def test_am_i_alive(self):
     self.testboard = gologic.board(13)
     self.testgroup = gologic.group((3,3),0)
     assert self.testgroup.am_i_alive(self.testboard.grid) == True, "group should have more than 0 liberties"
      
     self.testgroup2 = gologic.group((0,0),0)
     self.testboard.grid[(1,0)] = gologic.stone(1,2)
     self.testboard.grid[(0,1)] = gologic.stone(1,3)
     assert self.testgroup2.am_i_alive(self.testboard.grid) == False, "group should have 0 liberties"
  
     self.testgroup3 = gologic.group((10,10),0)
     self.testboard.grid[(11,10)] = gologic.stone(1,2)
     self.testboard.grid[(9,10)] = gologic.stone(1,3)
     self.testboard.grid[(10,11)] = gologic.stone(1,4)
     self.testboard.grid[(10,9)] = gologic.stone(1,5)
     assert self.testgroup3.am_i_alive(self.testboard.grid) == False, "group should have 0 liberties"
コード例 #8
0
ファイル: gologictest.py プロジェクト: Wonko-the-sane/GOLOGIC
 def test_am_i_alive2(self):
     self.testgame = gologic.game(9)
     self.testgame.gameboard.add_stone((5,5),0,1)
     self.testgame.groups.append(gologic.group((5,5),0,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((4,4),0,1)
     self.testgame.groups[0].add_position((4,4),self.testgame.gameboard.grid)
     assert self.testgame.groups[0].am_i_alive(self.testgame.gameboard.grid) == True, "group should have more than 0 liberties"
コード例 #9
0
ファイル: gologictest.py プロジェクト: Wonko-the-sane/GOLOGIC
 def test_merge_group(self):
     self.testgame = gologic.game(30)
     self.testgame.gameboard.add_stone((5,5),0,1)
     self.testgame.groups.append(gologic.group((5,5),0,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((4,4),0,1)
     self.testgame.groups[0].add_position((4,4),self.testgame.gameboard.grid)
     self.testgame.gameboard.add_stone((5,4),0,1)
     self.testgame.groups[0].add_position((5,4),self.testgame.gameboard.grid)
     self.testgame.gameboard.add_stone((3,4),0,1)
     self.testgame.groups.append(gologic.group((3,4),0,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((3,5),0,1)
     self.testgame.groups[1].add_position((3,5),self.testgame.gameboard.grid) 
     self.testgame.gameboard.add_stone((4,6),0,1)
     self.testgame.groups.append(gologic.group((4,6),0,self.testgame.gameboard.grid))
     self.testmergelist = [self.testgame.groups[0],self.testgame.groups[1],self.testgame.groups[2]]
     self.testgame.merge_groups(self.testmergelist)
     assert len(self.testgame.groups) == 1,"Should only be one group after this merge"
     assert len(self.testgame.groups[0].positions) == 6 ,"Group should have 6 positions"
     assert self.testgame.gameboard.grid[(4,6)].my_group == self.testgame.groups[0],"Stones my_group var should have been set to remaining group"
コード例 #10
0
ファイル: gologictest.py プロジェクト: jimbobsweeney/Go
 def test_am_i_alive3(self):
     self.testgame = gologic.game(9)
     self.testgame.groups.append(gologic.group((4,5),0))
     self.testgame.groups[0].add_position((4,4))
     self.testgame.gameboard.add_stone((4,4),0,15)
     self.testgame.gameboard.add_stone((4,5),0,16)
     self.testgame.gameboard.add_stone((4,3),1,17)
     self.testgame.gameboard.add_stone((4,6),1,18)
     self.testgame.gameboard.add_stone((3,4),1,19)
     self.testgame.gameboard.add_stone((3,5),1,20)
     self.testgame.gameboard.add_stone((5,4),1,21)
     self.testgame.gameboard.add_stone((5,5),1,22)
     assert self.testgame.groups[0].am_i_alive(self.testgame.gameboard.grid) == False, "group should have 0 liberties"
コード例 #11
0
ファイル: gologictest.py プロジェクト: jimbobsweeney/Go
 def test_kill_group(self):
     self.testgame = gologic.game(19)
     self.testgame.gameboard.add_stone((5,5),1,15)
     self.testgame.gameboard.add_stone((4,4),1,15)
     self.testgame.gameboard.add_stone((5,4),1,15)
     self.testgame.groups.append(gologic.group((5,5),1))
     self.testgame.groups[0].add_position((4,4))
     self.testgame.groups[0].add_position((5,4))
     assert len(self.testgame.groups) == 1,"There should be 1 group"
     print self.testgame.dead_stones[0]
     self.testgame.kill_group(self.testgame.groups[0])
     assert len(self.testgame.groups) == 0,"There should be 0 groups after killing group"
     for position, value in self.testgame.gameboard.grid.items():
         assert value == None,"Board should be empty"
コード例 #12
0
ファイル: gologictest.py プロジェクト: Wonko-the-sane/GOLOGIC
 def test_make_a_move4(self):
     self.testgame = gologic.game(19)
     self.testgame.gameboard.add_stone((3,4),0,10)
     self.testgame.groups.append(gologic.group((3,4),0,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((3,5),0,10)
     self.testgame.groups[0].add_position((3,5),self.testgame.gameboard.grid)
     self.testgame.gameboard.add_stone((2,3),1,10)
     self.testgame.groups.append(gologic.group((2,3),1,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((2,4),1,10)
     self.testgame.groups[1].add_position((2,4),self.testgame.gameboard.grid)
     self.testgame.gameboard.add_stone((2,5),1,10)
     self.testgame.groups[1].add_position((2,5),self.testgame.gameboard.grid)
     self.testgame.gameboard.add_stone((4,4),1,10)
     self.testgame.groups.append(gologic.group((4,4),1,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((4,5),1,10)
     self.testgame.groups[1].add_position((4,5),self.testgame.gameboard.grid)
     self.testgame.gameboard.add_stone((3,6),1,10)
     self.testgame.groups.append(gologic.group((3,6),1,self.testgame.gameboard.grid))
     self.testmove = gologic.move((3,3),1)
     legality = self.testgame.make_a_move(self.testmove)
     assert legality != False,"this move should be legal"
     assert len(legality.groups) == 3,"should be 3 groups after this move has been made"  
     assert legality.dead_stones[0] == 2,"2 black stones should have died"
コード例 #13
0
ファイル: gologictest.py プロジェクト: Wonko-the-sane/GOLOGIC
 def test_check_for_group_3(self):
     self.testgame = gologic.game(19)
     self.testgame.gameboard.add_stone((5,5),0,1)
     self.testgame.groups.append(gologic.group((5,5),0,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((4,4),0,1)
     self.testgame.groups[0].add_position((4,4),self.testgame.gameboard.grid)
     self.testgame.gameboard.add_stone((5,4),0,1)
     self.testgame.groups[0].add_position((5,4),self.testgame.gameboard.grid)
     self.testgame.gameboard.add_stone((3,4),0,1)
     self.testgame.groups[0].add_position((3,4),self.testgame.gameboard.grid)
     self.testgame.gameboard.add_stone((3,5),0,1)
     self.testgame.groups[0].add_position((3,5),self.testgame.gameboard.grid)      
     self.testmove = gologic.move((4,5),0)
     self.testgame.check_for_group(self.testmove)
     assert len(self.testmove.adjacent_groups) == 1,"There should be one adjacent group to this move"  
コード例 #14
0
ファイル: gologictest.py プロジェクト: Wonko-the-sane/GOLOGIC
 def test_make_a_move3(self):
     self.testgame = gologic.game(19)
     self.testgame.gameboard.add_stone((4,5),1,15)
     self.testgame.groups.append(gologic.group((4,5),1,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((6,5),1,15)
     self.testgame.groups.append(gologic.group((6,5),1,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((5,6),1,15)
     self.testgame.groups.append(gologic.group((5,6),1,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((5,4),1,15)
     self.testgame.groups.append(gologic.group((5,4),1,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((4,4),0,15)
     self.testgame.groups.append(gologic.group((4,4),0,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((5,3),0,15)
     self.testgame.groups.append(gologic.group((5,3),0,self.testgame.gameboard.grid))
     self.testgame.gameboard.add_stone((6,4),0,15)
     self.testgame.groups.append(gologic.group((6,4),0,self.testgame.gameboard.grid))
     self.testmove = gologic.move((5,5),0)
     legality = self.testgame.make_a_move(self.testmove)
     assert legality != False,"this move should be legal" 
     assert len(self.testgame.groups) == 7,"should be 7 groups after this move has been made"  
     assert legality.dead_stones[1] == 1,"One white stone should have died"
コード例 #15
0
ファイル: gologictest.py プロジェクト: jimbobsweeney/Go
 def test_new_group(self):
     self.testgroup = gologic.group((3,5),0)
     assert self.testgroup.positions[0][0] == 3 , "x position should be 3"
     assert self.testgroup.positions[0][1] == 5 , "y position should be 5"
コード例 #16
0
ファイル: gologictest.py プロジェクト: Wonko-the-sane/GOLOGIC
 def test_new_group(self):
     self.testgame = gologic.game(19)
     self.testgame.gameboard.add_stone((3,5),1,15)
     self.testgroup = gologic.group((3,5),0,self.testgame.gameboard.grid)
     assert self.testgroup.positions[0][0] == 3 , "x position should be 3"
     assert self.testgroup.positions[0][1] == 5 , "y position should be 5"