def test_invalid_not_enough_args():
    incoming = Message("/onlyoneparameter")
    command = command_resolver.resolve(incoming)
    assert isinstance(command, InvalidCommand)
def test_invalid_unknown_command():
    incoming = Message("/pmb unknown_command")
    command = command_resolver.resolve(incoming)
    assert isinstance(command, InvalidCommand)
def test_resolve_list():
    incoming = Message("/pmb list")
    command = command_resolver.resolve(incoming)

    assert command == ListCommand(None)
def test_ignore():
    incoming = Message("/thisisnotforpmb command")
    command = command_resolver.resolve(incoming)

    assert command == IgnoreCommand()
def test_resolve_record():
    incoming = Message("/pmb record start")
    command = command_resolver.resolve(incoming)

    assert command == RecordCommand("start")
def test_resolve_random():
    incoming = Message("/pmb random 4")
    command = command_resolver.resolve(incoming)

    assert command == RandomCommand(["4"])
def test_resolve_dota():
    incoming = Message("/pmb dota")
    command = command_resolver.resolve(incoming)

    assert command == DotaCommand()
def test_resolve_play_by_id():
    incoming = Message("/pmb play 0 1")
    command = command_resolver.resolve(incoming)

    assert command == PlayCommand(["0", "1"])
def test_resolve_play_by_name():
    incoming = Message("/pmb play this thing")
    command = command_resolver.resolve(incoming)

    assert command == PlayCommand(["this", "thing"])