Beispiel #1
0
    def test_CanRemoveStone_RemoveStoneFromBoardBeforeMove_RaisesException(self):
        "Checking if user can remove stone from board before his move"

        # Mock request
        request         = Mock()
        request.user    = User.objects.get(pk=1)

        # Remove black stone
        stone = Stone.objects.get(row=0, col=0, color=0)
        stone.row,stone.col = -1,-1

        # Validate stone
        form = StoneDeleteForm(request=request, data=model_to_dict(stone))
        self.assertFalse(form.is_valid())
        self.assertEqual(form.non_field_errors(), [u'ERR_STONE_003'])
Beispiel #2
0
    def test_CanRemoveStone_RemoveCorrectStoneFromBoard_RaisesException(self):
        "Checking if user with white stones can remove black stone after white move."

        # Mock request
        request = Mock()
        request.user = User.objects.get(pk=2)

        # Remove black stone by user with white stones
        stone = Stone.objects.get(row=0, col=0, color=0)
        # Update stone state
        stone.row, stone.col = -1, -1

        # Validate stone
        form = StoneDeleteForm(request=request, data=model_to_dict(stone))
        self.assertTrue(form.is_valid())
Beispiel #3
0
    def test_CanRemoveStone_RemoveCorrectStoneFromBoard_RaisesException(self):
        "Checking if user with white stones can remove black stone after white move."

        # Mock request
        request         = Mock()
        request.user    = User.objects.get(pk=2)

        # Remove black stone by user with white stones
        stone = Stone.objects.get(row=0, col=0, color=0)
        # Update stone state
        stone.row,stone.col = -1,-1

        # Validate stone
        form = StoneDeleteForm(request=request, data=model_to_dict(stone))
        self.assertTrue(form.is_valid())
Beispiel #4
0
    def test_CanRemoveStone_RemoveOwnStoneFromBoard_RaisesException(self):
        "Checking if user can remove own stone from board"

        # Mock request
        request = Mock()
        request.user = User.objects.get(pk=1)

        # Remove white stone
        stone = Stone.objects.get(row=1, col=0, color=1)
        # Update stone state
        stone.row, stone.col = -1, -1

        # Validate stone
        form = StoneDeleteForm(request=request, data=model_to_dict(stone))
        self.assertFalse(form.is_valid())
        self.assertEqual(form.non_field_errors(), [u'ERR_STONE_003'])