예제 #1
0
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"))
예제 #2
0
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"))
예제 #3
0
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")
예제 #4
0
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")
예제 #5
0
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")
예제 #6
0
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")