def test_known_command(tc): channel = gtp_engine_fixtures.get_test_channel() controller = Gtp_controller(channel, 'kc test') tc.assertTrue(controller.known_command("test")) tc.assertFalse(controller.known_command("nonesuch")) tc.assertTrue(controller.known_command("test")) tc.assertFalse(controller.known_command("nonesuch"))
def test_known_command_2(tc): # Checking that known_command caches its responses # and that it treats an error or unknown value the same as 'false'. channel = Preprogrammed_gtp_channel( "= true\n\n= absolutely not\n\n? error\n\n# unreached\n\n") controller = Gtp_controller(channel, 'kc2 test') tc.assertTrue(controller.known_command("one")) tc.assertFalse(controller.known_command("two")) tc.assertFalse(controller.known_command("three")) tc.assertTrue(controller.known_command("one")) tc.assertFalse(controller.known_command("two")) tc.assertEqual( channel.get_command_stream(), "known_command one\nknown_command two\nknown_command three\n")
def test_gtp_aliases(tc): channel = gtp_engine_fixtures.get_test_channel() controller = Gtp_controller(channel, 'alias test') controller.set_gtp_aliases({ 'aliased': 'test', 'aliased2': 'nonesuch', }) tc.assertIs(controller.known_command("test"), True) tc.assertIs(controller.known_command("aliased"), True) tc.assertIs(controller.known_command("nonesuch"), False) tc.assertIs(controller.known_command("test"), True) tc.assertIs(controller.known_command("aliased"), True) tc.assertIs(controller.known_command("nonesuch"), False) tc.assertEqual(controller.do_command("test"), "test response") tc.assertEqual(controller.do_command("aliased"), "test response") with tc.assertRaises(BadGtpResponse) as ar: controller.do_command("aliased2") tc.assertEqual(ar.exception.gtp_error_message, "unknown command") tc.assertEqual(ar.exception.gtp_command, "nonesuch")
def test_gtp_aliases(tc): channel = gtp_engine_fixtures.get_test_channel() controller = Gtp_controller(channel, 'alias test') controller.set_gtp_aliases({ 'aliased' : 'test', 'aliased2' : 'nonesuch', }) tc.assertIs(controller.known_command("test"), True) tc.assertIs(controller.known_command("aliased"), True) tc.assertIs(controller.known_command("nonesuch"), False) tc.assertIs(controller.known_command("test"), True) tc.assertIs(controller.known_command("aliased"), True) tc.assertIs(controller.known_command("nonesuch"), False) tc.assertEqual(controller.do_command("test"), "test response") tc.assertEqual(controller.do_command("aliased"), "test response") with tc.assertRaises(BadGtpResponse) as ar: controller.do_command("aliased2") tc.assertEqual(ar.exception.gtp_error_message, "unknown command") tc.assertEqual(ar.exception.gtp_command, "nonesuch")