示例#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)