예제 #1
0
    def test_oppose(self):
        src = "oppose with 30"
        parsed = parse(src)

        self.assertIsInstance(parsed, SkirmishCommand)
        self.assertEqual(parsed.action, "attack")
        self.assertEqual(parsed.amount, 30)
예제 #2
0
 def test_attack_with_codeword(self):
     src = "attack with 30 copies of my college thesis"
     parsed = parse(src)
     self.assertIsInstance(parsed, SkirmishCommand)
     self.assertEqual(parsed.action, "attack")
     self.assertEqual(parsed.amount, 30)
     self.assertEqual(parsed.troop_type, "copies of my college thesis")
예제 #3
0
 def test_skirmish(self):
     src = "attack with 30"
     parsed = parse(src)
     self.assertIsInstance(parsed, SkirmishCommand)
     self.assertEqual(parsed.action, "attack")
     self.assertEqual(parsed.amount, 30)
     self.assertEqual(parsed.troop_type, "infantry")
예제 #4
0
 def test_skirmish(self):
     src = "attack with 30"
     parsed = parse(src)
     self.assertIsInstance(parsed, SkirmishCommand)
     self.assertEqual(parsed.action, "attack")
     self.assertEqual(parsed.amount, 30)
     self.assertEqual(parsed.troop_type, "infantry")
예제 #5
0
 def test_attack_with_bad_type(self):
     src = "attack with 30 muppet"
     parsed = parse(src)
     self.assertIsInstance(parsed, SkirmishCommand)
     self.assertEqual(parsed.action, "attack")
     self.assertEqual(parsed.amount, 30)
     self.assertEqual(parsed.troop_type, "muppet")
예제 #6
0
    def test_move_implied_all(self):
        src = "lead to hurfendurf"
        parsed = parse(src)

        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(-1, parsed.amount)
        self.assertEqual(parsed.where[0].destination, "hurfendurf")
예제 #7
0
    def test_oppose(self):
        src = "oppose with 30"
        parsed = parse(src)

        self.assertIsInstance(parsed, SkirmishCommand)
        self.assertEqual(parsed.action, "attack")
        self.assertEqual(parsed.amount, 30)
예제 #8
0
 def test_attack_with_bad_type(self):
     src = "attack with 30 muppet"
     parsed = parse(src)
     self.assertIsInstance(parsed, SkirmishCommand)
     self.assertEqual(parsed.action, "attack")
     self.assertEqual(parsed.amount, 30)
     self.assertEqual(parsed.troop_type, "muppet")
예제 #9
0
 def testUnicodeword(self):
     """See what I did there?"""
     src = u'codeword "ಠ_ಠ" is cavalry'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertEqual(parsed.code, u'ಠ_ಠ')
     self.assertEqual(parsed.word, "cavalry")
예제 #10
0
    def testMoveSubreddit(self):
        src = 'lead 10 to /r/hurfendurf'
        parsed = parse(src)

        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(10, parsed.amount)
        self.assertEqual(parsed.where[0].destination, "hurfendurf")
예제 #11
0
 def testRemoveCodeword(self):
     src = 'codeword remove "werg"'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertEqual(parsed.code, 'werg')
     self.assert_(parsed.remove)
     self.assertFalse(parsed.all)
예제 #12
0
 def testRemoveCodeword(self):
     src = 'codeword remove "werg"'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertEqual(parsed.code, 'werg')
     self.assert_(parsed.remove)
     self.assertFalse(parsed.all)
예제 #13
0
    def testMovePlain(self):
        src = "lead 10 to hurfendurf"

        parsed = parse(src)
        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(10, parsed.amount)
        self.assertEqual(parsed.where[0].destination, "hurfendurf")
예제 #14
0
    def testMoveSubreddit(self):
        src = 'lead 10 to /r/hurfendurf'
        parsed = parse(src)

        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(10, parsed.amount)
        self.assertEqual(parsed.where[0].destination, "hurfendurf")
예제 #15
0
 def testUnicodeword(self):
     """See what I did there?"""
     src = u'codeword "ಠ_ಠ" is cavalry'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertEqual(parsed.code, u'ಠ_ಠ')
     self.assertEqual(parsed.word, "cavalry")
예제 #16
0
    def test_move_implied_all(self):
        src = "lead to hurfendurf"
        parsed = parse(src)

        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(-1, parsed.amount)
        self.assertEqual(parsed.where[0].destination, "hurfendurf")
예제 #17
0
    def testMovePlain(self):
        src = "lead 10 to hurfendurf"

        parsed = parse(src)
        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(10, parsed.amount)
        self.assertEqual(parsed.where[0].destination, "hurfendurf")
예제 #18
0
 def test_attack_with_codeword(self):
     src = "attack with 30 copies of my college thesis"
     parsed = parse(src)
     self.assertIsInstance(parsed, SkirmishCommand)
     self.assertEqual(parsed.action, "attack")
     self.assertEqual(parsed.amount, 30)
     self.assertEqual(parsed.troop_type, "copies of my college thesis")
예제 #19
0
 def testBasicCodeword(self):
     src = 'codeword "barf" is infantry'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertFalse(parsed.remove)
     self.assertFalse(parsed.status)
     self.assertEqual(parsed.code, 'barf')
     self.assertEqual(parsed.word, "infantry")
예제 #20
0
    def test_targeted(self):
        src = "support #7 with 30"
        parsed = parse(src)

        self.assertIsInstance(parsed, SkirmishCommand)
        self.assertEqual(parsed.action, "support")
        self.assertEqual(parsed.amount, 30)
        self.assertEqual(parsed.target, 7)
예제 #21
0
    def test_multimove(self):
        src = "lead all to wergland, /r/testplace, somewhereelse"
        parsed = parse(src)

        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(-1, parsed.amount)
        self.assertEqual(parsed.names,
                         ["wergland", 'testplace', 'somewhereelse'])
예제 #22
0
    def test_multimove(self):
        src = "lead all to wergland, /r/testplace, somewhereelse"
        parsed = parse(src)

        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(-1, parsed.amount)
        self.assertEqual(parsed.names,
                         ["wergland", 'testplace', 'somewhereelse'])
예제 #23
0
    def test_targeted(self):
        src = "support #7 with 30"
        parsed = parse(src)

        self.assertIsInstance(parsed, SkirmishCommand)
        self.assertEqual(parsed.action, "support")
        self.assertEqual(parsed.amount, 30)
        self.assertEqual(parsed.target, 7)
예제 #24
0
 def testBasicCodeword(self):
     src = 'codeword "barf" is infantry'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertFalse(parsed.remove)
     self.assertFalse(parsed.status)
     self.assertEqual(parsed.code, 'barf')
     self.assertEqual(parsed.word, "infantry")
예제 #25
0
    def test_sector_only_move(self):
        src = "lead all to #5"
        parsed = parse(src)

        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(-1, parsed.amount)
        dest = parsed.where[0]
        self.assertIsNone(dest.destination)
        self.assertEqual(dest.destination_sector, 5)
예제 #26
0
    def test_sector_move(self):
        src = "lead all to wergland#1"
        parsed = parse(src)

        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(-1, parsed.amount)
        dest = parsed.where[0]
        self.assertEqual(dest.destination, "wergland")
        self.assertEqual(dest.destination_sector, 1)
예제 #27
0
    def test_sector_move(self):
        src = "lead all to wergland#1"
        parsed = parse(src)

        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(-1, parsed.amount)
        dest = parsed.where[0]
        self.assertEqual(dest.destination, "wergland")
        self.assertEqual(dest.destination_sector, 1)
예제 #28
0
    def test_sector_only_move(self):
        src = "lead all to #5"
        parsed = parse(src)

        self.assertIsInstance(parsed, MoveCommand)
        self.assertEqual(-1, parsed.amount)
        dest = parsed.where[0]
        self.assertIsNone(dest.destination)
        self.assertEqual(dest.destination_sector, 5)
예제 #29
0
    def test_misspellings(self):
        """Common mis-spellings are aliased"""
        src = "attack with 30 range"
        parsed = parse(src)

        self.assertEqual(parsed.action, "attack")
        self.assertEqual(parsed.amount, 30)
        self.assertEqual(parsed.troop_type, "ranged")

        src = "attack with 30 calvary"
        parsed = parse(src)

        self.assertEqual(parsed.action, "attack")
        self.assertEqual(parsed.amount, 30)
        self.assertEqual(parsed.troop_type, "cavalry")

        src = "attack with 30 calvalry"
        parsed = parse(src)

        self.assertEqual(parsed.action, "attack")
        self.assertEqual(parsed.amount, 30)
        self.assertEqual(parsed.troop_type, "cavalry")
예제 #30
0
    def test_misspellings(self):
        """Common mis-spellings are aliased"""
        src = "attack with 30 range"
        parsed = parse(src)

        self.assertEqual(parsed.action, "attack")
        self.assertEqual(parsed.amount, 30)
        self.assertEqual(parsed.troop_type, "ranged")

        src = "attack with 30 calvary"
        parsed = parse(src)

        self.assertEqual(parsed.action, "attack")
        self.assertEqual(parsed.amount, 30)
        self.assertEqual(parsed.troop_type, "cavalry")

        src = "attack with 30 calvalry"
        parsed = parse(src)

        self.assertEqual(parsed.action, "attack")
        self.assertEqual(parsed.amount, 30)
        self.assertEqual(parsed.troop_type, "cavalry")
예제 #31
0
 def testCodewordStatus(self):
     src = 'codeword status'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assert_(parsed.status)
예제 #32
0
 def testRemoveAllCodeword(self):
     src = 'codeword remove all'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assert_(parsed.remove)
     self.assert_(parsed.all)
예제 #33
0
 def testRemoveAllCodeword(self):
     src = 'codeword remove all'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assert_(parsed.remove)
     self.assert_(parsed.all)
예제 #34
0
    def test_basic_defect(self):
        text = "defect"
        parsed = parse(text)

        self.assertIsInstance(parsed, DefectCommand)
        self.assertEqual(None, parsed.team)
예제 #35
0
 def testMixedCaseDemote(self):
     src = "demote HurfenDurf"
     parsed = parse(src)
     self.assertIsInstance(parsed, PromoteCommand)
     self.assertEqual(parsed.who, "HurfenDurf")
     self.assertEqual(parsed.direction, 0)
예제 #36
0
    def test_basic_defect(self):
        text = "defect"
        parsed = parse(text)

        self.assertIsInstance(parsed, DefectCommand)
        self.assertEqual(None, parsed.team)
예제 #37
0
 def testDemoteCommand(self):
     src = "demote hurfendurf"
     parsed = parse(src)
     self.assertIsInstance(parsed, PromoteCommand)
     self.assertEqual(parsed.who, "hurfendurf")
     self.assertEqual(parsed.direction, 0)
예제 #38
0
    def test_specific_defect(self):
        text = "defect to periwinkle"
        parsed = parse(text)

        self.assertIsInstance(parsed, DefectCommand)
        self.assertEqual(parsed.team, 1)
예제 #39
0
 def test_stop(self):
     src = "stop"
     parsed = parse(src)
     self.assertIsInstance(parsed, StopCommand)
예제 #40
0
 def testStatusCommand(self):
     src = 'status'
     parsed = parse(src)
     self.assertIsInstance(parsed, StatusCommand)
예제 #41
0
 def testDemoteCommand(self):
     src = "demote hurfendurf"
     parsed = parse(src)
     self.assertIsInstance(parsed, PromoteCommand)
     self.assertEqual(parsed.who, "hurfendurf")
     self.assertEqual(parsed.direction, 0)
예제 #42
0
 def testStatusCommand(self):
     src = 'status'
     parsed = parse(src)
     self.assertIsInstance(parsed, StatusCommand)
예제 #43
0
 def test_region_codeword(self):
     src = 'codeword "Best Londo" is "Orange Londo"'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertEqual(parsed.code, 'Best Londo')
     self.assertEqual(parsed.word, "Orange Londo")
예제 #44
0
 def test_extract(self):
     src = "extract"
     parsed = parse(src)
     self.assertIsInstance(parsed, ExtractCommand)
예제 #45
0
 def testMixedCaseDemote(self):
     src = "demote HurfenDurf"
     parsed = parse(src)
     self.assertIsInstance(parsed, PromoteCommand)
     self.assertEqual(parsed.who, "HurfenDurf")
     self.assertEqual(parsed.direction, 0)
예제 #46
0
 def test_stop(self):
     src = "stop"
     parsed = parse(src)
     self.assertIsInstance(parsed, StopCommand)
예제 #47
0
 def testCodewordAliases(self):
     src = 'codeword "werg" is calvalry'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertEqual(parsed.code, 'werg')
     self.assertEqual(parsed.word, "cavalry")
예제 #48
0
    def test_invade_command(self):
        src = "invade hurfendurf"
        parsed = parse(src)

        self.assertIsInstance(parsed, InvadeCommand)
        self.assertEqual(parsed.where, "hurfendurf")
예제 #49
0
 def testBiggerCodeword(self):
     src = 'codeword "hello, world!" is ranged'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertEqual(parsed.code, 'hello, world!')
     self.assertEqual(parsed.word, "ranged")
예제 #50
0
 def testBiggerCodeword(self):
     src = 'codeword "hello, world!" is ranged'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertEqual(parsed.code, 'hello, world!')
     self.assertEqual(parsed.word, "ranged")
예제 #51
0
 def testCodewordStatus(self):
     src = 'codeword status'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assert_(parsed.status)
예제 #52
0
 def testCodewordAliases(self):
     src = 'codeword "werg" is calvalry'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertEqual(parsed.code, 'werg')
     self.assertEqual(parsed.word, "cavalry")
예제 #53
0
 def test_extract(self):
     src = "extract"
     parsed = parse(src)
     self.assertIsInstance(parsed, ExtractCommand)
예제 #54
0
 def test_region_codeword(self):
     src = 'codeword "Best Londo" is "Orange Londo"'
     parsed = parse(src)
     self.assertIsInstance(parsed, CodewordCommand)
     self.assertEqual(parsed.code, 'Best Londo')
     self.assertEqual(parsed.word, "Orange Londo")
예제 #55
0
    def test_invade_command(self):
        src = "invade hurfendurf"
        parsed = parse(src)

        self.assertIsInstance(parsed, InvadeCommand)
        self.assertEqual(parsed.where, "hurfendurf")
예제 #56
0
    def test_specific_defect(self):
        text = "defect to periwinkle"
        parsed = parse(text)

        self.assertIsInstance(parsed, DefectCommand)
        self.assertEqual(parsed.team, 1)