# Path: voidwalker/framework/interface/parameter.py
# class BooleanParameter(Parameter):
#     __metaclass__ = abc.ABCMeta
# 
#     @abc.abstractmethod
#     def default_value(self):
#         raise NotImplementedError
# 
# Path: voidwalker/framework/interface/command.py
# class Command(object):
#     pass
# 
# Path: voidwalker/framework/interface/command.py
# class CommandFactory(object):
#     __metaclass__ = abc.ABCMeta
# 
#     @abc.abstractmethod
#     def create(self, command_type, inferior_repository, platform_factory,
#                inferior_factory, thread_factory, config, terminal):
#         raise NotImplementedError
# 
# Path: voidwalker/framework/interface/command.py
# class DataCommand(Command):
#     __metaclass__ = abc.ABCMeta
# 
#     @abc.abstractmethod
#     def execute(self, terminal, thread, argument):
#         raise NotImplementedError
# 
# Path: voidwalker/framework/interface/parameter.py
# class EnumParameter(Parameter):
#     __metaclass__ = abc.ABCMeta
# 
#     @abc.abstractmethod
#     def sequence(self):
#         raise NotImplementedError
# 
# Path: voidwalker/framework/interface/parameter.py
# class Parameter(object):
#     __metaclass__ = abc.ABCMeta
# 
#     def init(self):
#         pass
# 
#     @staticmethod
#     def name():
#         raise NotImplementedError
# 
#     @abc.abstractmethod
#     def default_value(self):
#         raise NotImplementedError
# 
# Path: voidwalker/framework/interface/parameter.py
# class ParameterFactory(object):
#     __metaclass__ = abc.ABCMeta
# 
#     @abc.abstractmethod
#     def create(self, parameter_type):
#         raise NotImplementedError
# 
# Path: voidwalker/backends/test/target.py
# class TestInferior(Inferior):
#     def __init__(self, cpu, inferior_id):
#         super(TestInferior, self).__init__(cpu)
#         self._id = inferior_id
# 
#     def id(self):
#         return self._id
# 
#     def disassemble(self, address, length):
#         return None
# 
#     def read_memory(self, address, length):
#         return None
# 
#     def write_memory(self, buf, address):
#         return None
# 
# Path: voidwalker/backends/test/target.py
# class TestThread(Thread):
#     def __init__(self, inferior, thread_id):
#         super(TestThread, self).__init__(inferior)
#         self._thread_id = thread_id
# 
#     def name(self):
#         return ('thread %d' % self._thread_id)
# 
#     def id(self):
#         return self._thread_id
# 
#     def is_valid(self):
#         return True


from ...framework.interface import BooleanParameter
from ...framework.interface import Command
from ...framework.interface import CommandFactory
from ...framework.interface import DataCommand
from ...framework.interface import EnumParameter
from ...framework.interface import Parameter
from ...framework.interface import ParameterFactory
from .target import TestInferior
from .target import TestThread
                def __init__(self):
                    command_type.__init__(self)

                def invoke(self, argument, _):
                    inferior = TestInferior()
                    thread = TestThread(inferior.id(), 0)
                    command_type.execute(self, terminal, thread, argument)

            return TestDataCommand()

        if issubclass(command_type, Command):
            class TestCommand(command_type):
                __doc__ = command_type.__doc__

                def __init__(self):
                    command_type.__init__(self)

                def invoke(self, argument, _):
                    command_type.execute(self, terminal, argument)

            return TestCommand()

        else:
            raise TypeError('Command type %s unknown!' %
                            str(command_type))


class TestParameterFactory(ParameterFactory, object):
    def create(self, parameter_type):
        if issubclass(parameter_type, EnumParameter):

# Path: voidwalker/framework/interface/parameter.py
# class BooleanParameter(Parameter):
#     __metaclass__ = abc.ABCMeta
# 
#     @abc.abstractmethod
#     def default_value(self):
#         raise NotImplementedError
# 
# Path: voidwalker/framework/interface/command.py
# class Command(object):
#     pass
# 
# Path: voidwalker/framework/interface/command.py
# class CommandFactory(object):
#     __metaclass__ = abc.ABCMeta
# 
#     @abc.abstractmethod
#     def create(self, command_type, inferior_repository, platform_factory,
#                inferior_factory, thread_factory, config, terminal):
#         raise NotImplementedError
# 
# Path: voidwalker/framework/interface/command.py
# class DataCommand(Command):
#     __metaclass__ = abc.ABCMeta
# 
#     @abc.abstractmethod
#     def execute(self, terminal, thread, argument):
#         raise NotImplementedError
# 
# Path: voidwalker/framework/interface/parameter.py
# class EnumParameter(Parameter):
#     __metaclass__ = abc.ABCMeta
# 
#     @abc.abstractmethod
#     def sequence(self):
#         raise NotImplementedError
# 
# Path: voidwalker/framework/interface/parameter.py
# class Parameter(object):
#     __metaclass__ = abc.ABCMeta
# 
#     def init(self):
#         pass
# 
#     @staticmethod
#     def name():
#         raise NotImplementedError
# 
#     @abc.abstractmethod
#     def default_value(self):
#         raise NotImplementedError
# 
# Path: voidwalker/framework/interface/parameter.py
# class ParameterFactory(object):
#     __metaclass__ = abc.ABCMeta
# 
#     @abc.abstractmethod
#     def create(self, parameter_type):
#         raise NotImplementedError
# 
# Path: voidwalker/backends/test/target.py
# class TestInferior(Inferior):
#     def __init__(self, cpu, inferior_id):
#         super(TestInferior, self).__init__(cpu)
#         self._id = inferior_id
# 
#     def id(self):
#         return self._id
# 
#     def disassemble(self, address, length):
#         return None
# 
#     def read_memory(self, address, length):
#         return None
# 
#     def write_memory(self, buf, address):
#         return None
# 
# Path: voidwalker/backends/test/target.py
# class TestThread(Thread):
#     def __init__(self, inferior, thread_id):
#         super(TestThread, self).__init__(inferior)
#         self._thread_id = thread_id
# 
#     def name(self):
#         return ('thread %d' % self._thread_id)
# 
#     def id(self):
#         return self._thread_id
# 
#     def is_valid(self):
#         return True


# Path: voidwalker/backends/test/interface.py
from ...framework.interface import BooleanParameter
from ...framework.interface import Command
from ...framework.interface import CommandFactory
from ...framework.interface import DataCommand
from ...framework.interface import EnumParameter
from ...framework.interface import Parameter
from ...framework.interface import ParameterFactory
from .target import TestInferior
from .target import TestThread

                def __init__(self):
                    command_type.__init__(self)

                def invoke(self, argument, _):
                    inferior = TestInferior()
                    thread = TestThread(inferior.id(), 0)
                    command_type.execute(self, terminal, thread, argument)

            return TestDataCommand()

        if issubclass(command_type, Command):
            class TestCommand(command_type):
                __doc__ = command_type.__doc__

                def __init__(self):
                    command_type.__init__(self)

                def invoke(self, argument, _):
                    command_type.execute(self, terminal, argument)

            return TestCommand()

        else:
            raise TypeError('Command type %s unknown!' %
                            str(command_type))


class TestParameterFactory(ParameterFactory, object):
    def create(self, parameter_type):
        if issubclass(parameter_type, EnumParameter):

            class TestParameterEnum(parameter_type):