# Path: kitty/interfaces/base.py
# class EmptyInterface(BaseInterface):
#     '''
#     This interface may be used when there is no need for user interface
#     '''
# 
#     def __init__(self, name='EmptyInterface', logger=None):
#         '''
#         :param name: name of the object
#         :param logger: logger for the object (default: None)
#         '''
#         super(EmptyInterface, self).__init__(name, logger)
# 
#     def failure_detected(self):
#         '''
#         handle failure detection
#         '''
#         pass
# 
#     def progress(self):
#         '''
#         handle progress
#         '''
#         pass
# 
#     def finished(self):
#         '''
#         handle finished
#         '''
#         pass
# 
#     def _start(self):
#         pass
# 
#     def _stop(self):
#         pass


import unittest
import logging
from kitty.model import Template, GraphModel, String, UInt32
from kitty.fuzzers import ClientFuzzer
from kitty.interfaces.base import EmptyInterface
from mocks.mock_target import ClientTargetMock

        self.default_config = {
            'always': {
                'trigger': {
                    'fuzzer': self.fuzzer,
                    'stages': [
                        (self._default_stage, {})
                    ]
                }
            }
        }
        self.target = ClientTargetMock(self.default_config, self.default_callback, logger=self.logger)
        self.fuzzer.set_target(self.target)

        self.fuzzer.set_range(self.start_index, self.end_index)
        self.fuzzer.set_delay_between_tests(self.delay_duration)

    def testRaisesExceptionWhenStartedWithoutModel(self):

        self.fuzzer.set_model(None)
        self.assertRaises(AssertionError, self.fuzzer.start)
        self.fuzzer = None

    def testRaisesExceptionWhenStartedWithoutTarget(self):
        self.fuzzer.set_target(None)
        self.assertRaises(AssertionError, self.fuzzer.start)
        self.fuzzer = None

    def testRaisesExceptionWhenStartedWithoutInterface(self):
        self.fuzzer.set_interface(None)

# Path: kitty/interfaces/base.py
# class EmptyInterface(BaseInterface):
#     '''
#     This interface may be used when there is no need for user interface
#     '''
# 
#     def __init__(self, name='EmptyInterface', logger=None):
#         '''
#         :param name: name of the object
#         :param logger: logger for the object (default: None)
#         '''
#         super(EmptyInterface, self).__init__(name, logger)
# 
#     def failure_detected(self):
#         '''
#         handle failure detection
#         '''
#         pass
# 
#     def progress(self):
#         '''
#         handle progress
#         '''
#         pass
# 
#     def finished(self):
#         '''
#         handle finished
#         '''
#         pass
# 
#     def _start(self):
#         pass
# 
#     def _stop(self):
#         pass


# Path: tests/test_fuzzer_client.py
import unittest
import logging
from kitty.model import Template, GraphModel, String, UInt32
from kitty.fuzzers import ClientFuzzer
from kitty.interfaces.base import EmptyInterface
from mocks.mock_target import ClientTargetMock


        self.default_config = {
            'always': {
                'trigger': {
                    'fuzzer': self.fuzzer,
                    'stages': [
                        (self._default_stage, {})
                    ]
                }
            }
        }
        self.target = ClientTargetMock(self.default_config, self.default_callback, logger=self.logger)
        self.fuzzer.set_target(self.target)

        self.fuzzer.set_range(self.start_index, self.end_index)
        self.fuzzer.set_delay_between_tests(self.delay_duration)

    def testRaisesExceptionWhenStartedWithoutModel(self):

        self.fuzzer.set_model(None)
        self.assertRaises(AssertionError, self.fuzzer.start)
        self.fuzzer = None

    def testRaisesExceptionWhenStartedWithoutTarget(self):
        self.fuzzer.set_target(None)
        self.assertRaises(AssertionError, self.fuzzer.start)
        self.fuzzer = None

    def testRaisesExceptionWhenStartedWithoutInterface(self):
        self.fuzzer.set_interface(None)

        self.assertRaises(AssertionError, self.fuzzer.start)