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)
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")
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")
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")
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")
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")
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")
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)
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")
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")
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)
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'])
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)
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)
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")
def testCodewordStatus(self): src = 'codeword status' parsed = parse(src) self.assertIsInstance(parsed, CodewordCommand) self.assert_(parsed.status)
def testRemoveAllCodeword(self): src = 'codeword remove all' parsed = parse(src) self.assertIsInstance(parsed, CodewordCommand) self.assert_(parsed.remove) self.assert_(parsed.all)
def test_basic_defect(self): text = "defect" parsed = parse(text) self.assertIsInstance(parsed, DefectCommand) self.assertEqual(None, parsed.team)
def testMixedCaseDemote(self): src = "demote HurfenDurf" parsed = parse(src) self.assertIsInstance(parsed, PromoteCommand) self.assertEqual(parsed.who, "HurfenDurf") self.assertEqual(parsed.direction, 0)
def testDemoteCommand(self): src = "demote hurfendurf" parsed = parse(src) self.assertIsInstance(parsed, PromoteCommand) self.assertEqual(parsed.who, "hurfendurf") self.assertEqual(parsed.direction, 0)
def test_specific_defect(self): text = "defect to periwinkle" parsed = parse(text) self.assertIsInstance(parsed, DefectCommand) self.assertEqual(parsed.team, 1)
def test_stop(self): src = "stop" parsed = parse(src) self.assertIsInstance(parsed, StopCommand)
def testStatusCommand(self): src = 'status' parsed = parse(src) self.assertIsInstance(parsed, StatusCommand)
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")
def test_extract(self): src = "extract" parsed = parse(src) self.assertIsInstance(parsed, ExtractCommand)
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")
def test_invade_command(self): src = "invade hurfendurf" parsed = parse(src) self.assertIsInstance(parsed, InvadeCommand) self.assertEqual(parsed.where, "hurfendurf")
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")