class AlexMessageBarTest(AbstractComponentTest):
    '''
    Test class to test the working of the widget. The systematic_references_presenter is
    initialized with mock implementations of the dependencies. There
    should also be a an integration test for the presenter.
    '''
    def __init__(self):
        super().__init__()
        self.message_broker = MessageBroker()
        self.name = "Message bar"

    def create_view(self, master):
        self.message_bar = AlexMessageBar(master, )
        self.message_broker.subscribe(self.message_bar)
        self.message_bar.pack(side=TOP)

    def add_button(self, master):

        message = Message(ERROR_MESSAGE,
                          messagetype='error',
                          message='An error has occurred')
        button = AlexButton(
            master,
            text='Send error message',
            command=lambda m=message: self.message_broker.send_message(m))
        button.pack(side=TOP)

    def test_component(self, master, message_label):
        self.message_label = message_label
        self.create_view(master)
        self.add_button(master)
Exemplo n.º 2
0
class AbstractComponentTest:
    def __init__(self):
        self.message_broker = MessageBroker()
        self.message_broker.subscribe(self)
        self.name = "Please overwrite name in subclass"

    def test_component(self, master, message_label):
        self.master = master
        self.message_label = message_label

    def __str__(self):
        return self.name
 def setUp(self):
     
     self.broker = MessageBroker()
     class TestClass:
         
         def __init__(self):
             self.message_type = None
             self.message_text = None
         
         def receive_message(self, message):
             if message.key == ERROR_MESSAGE:
                 self.message_type = message.messagetype
                 self.message_text = message.message
             
     self.test_class = TestClass()
     self.broker.subscribe(self.test_class)
class DisplayMessageTest(unittest.TestCase):


    def setUp(self):
        
        self.broker = MessageBroker()
        class TestClass:
            
            def __init__(self):
                self.message_type = None
                self.message_text = None
            
            def receive_message(self, message):
                if message.key == ERROR_MESSAGE:
                    self.message_type = message.messagetype
                    self.message_text = message.message
                
        self.test_class = TestClass()
        self.broker.subscribe(self.test_class)

    def test_show_error(self):
        
        self.broker.show_error("error text")
        self.assertEqual("error", self.test_class.message_type)
        self.assertEqual("error text", self.test_class.message_text)

    def test_show_info(self):
        
        self.broker.show_info("info text")
        self.assertEqual("info", self.test_class.message_type)
        self.assertEqual("info text", self.test_class.message_text)

    def test_show_warning(self):
        
        self.broker.show_warning("warning text")
        self.assertEqual("warning", self.test_class.message_type)
        self.assertEqual("warning text", self.test_class.message_text)

    def test_show_debug(self):
        
        self.broker.show_debug("debug text")
        self.assertEqual("debug", self.test_class.message_type)
        self.assertEqual("debug text", self.test_class.message_text)
Exemplo n.º 5
0
    def __init__(self, test_classes):

        self.message_broker = MessageBroker()
        self.window_manager = WindowManager(self.message_broker)

        self.create_test_instances(test_classes)

        self.root = self.window_manager.create_new_window()
        geometry = '800x450'
        self.root.geometry(geometry)

        self.test_frame = None

        top_frame = Frame(self.root)
        top_frame.pack(side=TOP, fill=BOTH, expand=TRUE)

        message_frame = Frame(self.root)
        message_frame.pack(side=TOP)

        button_frame = Frame(self.root)
        button_frame.pack(side=TOP)

        self.message_label = AlexLabel(message_frame)
        self.message_label.pack(side=LEFT)

        self.menu_frame = Frame(top_frame)
        self.menu_frame.pack(side=LEFT, anchor=NW, padx=5)

        label = AlexLabel(self.menu_frame)
        label.set("Select a test")
        label.pack()

        self.tests = AlexListBox(
            self.menu_frame,  # @UndefinedVariable
            height=len(self.test_instances),
            selectioncommand=self.run_selected_test,
        )

        self.tests.set_items(self.test_instances)
        self.tests.pack(anchor=NW)

        self.widget_frame = Frame(top_frame, borderwidth=1, relief=SOLID)
        self.widget_frame.pack(side=LEFT, fill=BOTH, expand=TRUE)

        quit_button = Button(button_frame, command=self.root.quit, text="Quit")
        quit_button.pack(side=LEFT)
 def testMessageBroker(self):
     broker = MessageBroker()
     class TestClass:
         
         def receive_message(self, message):
             self.key = message.key
             self.param1 = message.param1
             self.param2 = message.param2
             
     test_class = TestClass()
     broker.subscribe(test_class)
     broker.send_message(Message("KEY", param1="P1", param2="P2"))
     
     self.assertEqual("KEY", test_class.key)
     self.assertEqual("P1", test_class.param1)
     self.assertEqual("P2", test_class.param2)
Exemplo n.º 7
0
    def setUp(self):

        self.export_info = ExportInfo()
        self.export_info = ExportInfo()
        self.export_info.cd_name = "TEST_CD"
        self.export_info.start_date = AlexDate(1973, 5, 1)
        self.export_info.end_date = AlexDate(1974, 5, 1)
        self.export_info.location_id = SystematicPoint(
            SystematicIdentifier("1.2.3", 4, 5), "dummy description")

        self.export_info_json = '{%s, %s, %s, %s}' % (
            '"cd_name": "TEST_CD"',
            '"end_date": {"_day": 1, "_month": 5, "_year": 1974}',
            '"location_id": {%s, %s}' %
            ('"description": "dummy description"',
             '"id": {"node_id": "1.2.3", "roman": 4, "subfolder": 5}'),
            '"start_date": {"_day": 1, "_month": 5, "_year": 1973}')

        self.message_broker = MessageBroker()
        self.generation_engine = MagicMock(spec=GenerationEngine)
        self.presenter = ChronoCDExporterMenuAdditionsPresenter(
            self.message_broker, self.generation_engine)

        self.presenter.view = MagicMock()
 def testMessageInMessage(self):
     broker = MessageBroker()
     class TestClass:
         
         def __init__(self, message_broker):
             self.message_broker = message_broker
             self.received_key2 = False
         
         def receive_message(self, message):
             if message == 'KEY1':
                 self.message_broker.send_message(Message('KEY2'))
             if message == 'KEY2':
                 self.received_key2 = True
             
     test_class = TestClass(broker)
     broker.subscribe(test_class)
     broker.send_message(Message("KEY1"))
     
     self.assertTrue(test_class.received_key2)
Exemplo n.º 9
0
class ReferenceComponentTest(DialogTest):
    def __init__(self, window_manager):
        self.message_broker = MessageBroker()
        self.message_broker.subscribe(self)
        super().__init__(window_manager)

    def receive_message(self, message):
        if message == REQ_SET_EVENT:
            self.message_broker.send_message(
                Message(CONF_EVENT_CHANGED, event=message.event))
        if message == REQ_SET_DOCUMENT:
            self.message_broker.send_message(
                Message(CONF_DOCUMENT_CHANGED, document=message.document))
        if message == CONF_EVENT_CHANGED:
            self.message_label.set("Current event: %s" % message.event)
        if message == CONF_DOCUMENT_CHANGED:
            self.message_label.set("Current document: %s" % message.document)
        if message == ERROR_MESSAGE:
            self.message_label.set(message.message)
Exemplo n.º 10
0
 def __init__(self):
     self.message_broker = MessageBroker()
     self.message_broker.subscribe(self)
     self.name = "Please overwrite name in subclass"
 def __init__(self):
     super().__init__()
     self.message_broker = MessageBroker()
     self.name = "Message bar"
Exemplo n.º 12
0
 def __init__(self, window_manager):
     self.message_broker = MessageBroker()
     self.message_broker.subscribe(self)
     super().__init__(window_manager)