Пример #1
0
 def test_get_item_id(self):
     equipment = Equipment()
     equipment.id = 1
     self.mock_equipment_service.get_all_equipment.return_value = [equipment]
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEquals(1, equipment_store.get_value(iter, 0))
Пример #2
0
 def test_description_set_to_non_string(self):
     equipment = Equipment()
     try:
         equipment.description = 42
     except (TypeError):
         pass
     else:
         self.fail("Should not be able to set description to non string value.")
Пример #3
0
 def test_get_item_active(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.active = False
     self.mock_equipment_service.get_all_equipment.return_value = [equipment]
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertFalse(equipment_store.get_value(iter, 4))
Пример #4
0
 def test_prior_usage_set_to_non_numeric_string(self):
     equipment = Equipment()
     try:
         equipment.prior_usage = "test"
     except(ValueError):
         pass
     else:
         self.fail("Should not be able to set life expectancy to non numeric value.")
Пример #5
0
 def test_notes_set_to_non_string(self):
     equipment = Equipment()
     try:
         equipment.notes = 42
     except (TypeError):
         pass
     else:
         self.fail("Should not be able to set notes to non-string value.")
Пример #6
0
 def test_get_item_description(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.description = u"item description"
     self.mock_equipment_service.get_all_equipment.return_value = [equipment]
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEquals("item description", equipment_store.get_value(iter, 1))
Пример #7
0
 def test_prior_usage_set_to_non_numeric_string(self):
     equipment = Equipment()
     try:
         equipment.prior_usage = "test"
     except (ValueError):
         pass
     else:
         self.fail("Should not be able to set life expectancy to non numeric value.")
Пример #8
0
 def test_active_set_to_non_boolean(self):
     equipment = Equipment()
     try:
         equipment.active = "test"
     except(TypeError):
         pass
     else:
         self.fail("Should not be able to set active to non-boolean value.")
Пример #9
0
 def test_id_set_to_non_numeric_string(self):
     equipment = Equipment()
     try:
         equipment.id = "test"
     except (ValueError):
         pass
     else:
         self.fail("Should not be able to set equipment id to non numeric value.")
Пример #10
0
 def test_description_set_to_non_string(self):
     equipment = Equipment()
     try:
         equipment.description = 42
     except(TypeError):
         pass
     else:
         self.fail("Should not be able to set description to non string value.")
Пример #11
0
 def test_id_set_to_non_numeric_string(self):
     equipment = Equipment()
     try:
         equipment.id = "test"
     except(ValueError):
         pass
     else:
         self.fail("Should not be able to set equipment id to non numeric value.")
Пример #12
0
 def test_notes_set_to_non_string(self):
     equipment = Equipment()
     try:
         equipment.notes = 42
     except(TypeError):
         pass
     else:
         self.fail("Should not be able to set notes to non-string value.")
Пример #13
0
 def test_active_set_to_non_boolean(self):
     equipment = Equipment()
     try:
         equipment.active = "test"
     except (TypeError):
         pass
     else:
         self.fail("Should not be able to set active to non-boolean value.")
Пример #14
0
 def test_get_item_usage_text(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.life_expectancy = 200
     self.mock_equipment_service.get_all_equipment.return_value = [equipment]
     self.mock_equipment_service.get_equipment_usage.return_value = 100
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEquals("100 / 200", equipment_store.get_value(iter, 3))
Пример #15
0
 def test_get_item_usage_percent_usage_exceeds_life_expectancy(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.life_expectancy = 200
     self.mock_equipment_service.get_all_equipment.return_value = [equipment]
     self.mock_equipment_service.get_equipment_usage.return_value = 300
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEquals(100, equipment_store.get_value(iter, 2), "Progress bar cannot exceed 100%.")
Пример #16
0
 def test_get_item_usage_percent_zero_usage(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.life_expectancy = 200
     self.mock_equipment_service.get_all_equipment.return_value = [equipment]
     self.mock_equipment_service.get_equipment_usage.return_value = 0
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEquals(0, equipment_store.get_value(iter, 2))
Пример #17
0
 def test_update_equipment_non_existant(self):
     self.mock_ddbb.select.return_value = []
     equipment = Equipment()
     equipment.id = 1
     try:
         self.equipment_service.store_equipment(equipment)
         self.fail("Should not be able to update an item which did not previously exist.")
     except(EquipmentServiceException):
         pass
Пример #18
0
 def test_update_equipment_non_existant(self):
     self.mock_ddbb.select.return_value = []
     equipment = Equipment()
     equipment.id = 1
     try:
         self.equipment_service.store_equipment(equipment)
         self.fail("Should not be able to update an item which did not previously exist.")
     except (EquipmentServiceException):
         pass
Пример #19
0
 def test_active_set_to_non_boolean(self):
     equipment = Equipment()
     equipment.active = "test"
     self.ddbb.session.add(equipment)
     try:
         self.ddbb.session.commit()
         self.assertTrue(equipment.active)
     except StatementError:
         pass
Пример #20
0
 def test_get_item_id(self):
     equipment = Equipment()
     equipment.id = 1
     self.mock_equipment_service.get_all_equipment.return_value = [
         equipment
     ]
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEquals(1, equipment_store.get_value(iter, 0))
Пример #21
0
 def test_store_equipment_duplicate_description(self):
     self.mock_ddbb.select.return_value = [(1,)]
     equipment = Equipment()
     equipment.description = u"test item"
     try:
         self.equipment_service.store_equipment(equipment)
         self.fail("Should not be able to store new item with non-unique description.")
     except(EquipmentServiceException):
         pass
Пример #22
0
 def test_store_equipment_duplicate_description(self):
     self.mock_ddbb.select.return_value = [(1,)]
     equipment = Equipment()
     equipment.description = u"test item"
     try:
         self.equipment_service.store_equipment(equipment)
         self.fail("Should not be able to store new item with non-unique description.")
     except (EquipmentServiceException):
         pass
Пример #23
0
 def test_multiple_equipment_items(self):
     equipment1 = Equipment()
     equipment1.id = 1
     equipment2 = Equipment()
     equipment2.id = 2
     self.mock_equipment_service.get_all_equipment.return_value = [equipment1, equipment2]
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     iter = equipment_store.iter_next(iter)
     self.assertEquals(2, equipment_store.get_value(iter, 0))
Пример #24
0
 def test_update_equipment_duplicate_description(self):
     self.mock_ddbb.select.return_value = [(1, u"test item", True, 500, 200, u"Test notes.")]
     equipment = Equipment()
     equipment.id = 2
     equipment.description = u"test item"
     try:
         self.equipment_service.store_equipment(equipment)
         self.fail("Should not be able to change item description to non-unique value.")
     except(EquipmentServiceException):
         pass
Пример #25
0
 def test_notes_set_to_string(self):
     equipment = Equipment()
     equipment.notes = "100$ Shoes" + chr(255)
     try:
         self.ddbb.session.add(equipment)
         self.ddbb.session.flush()
     except (ProgrammingError, DataError, OperationalError):
         pass
     else:
         self.fail("Should not be able to set notes to non-unicode string value.")
Пример #26
0
 def test_get_item_active(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.active = False
     self.mock_equipment_service.get_all_equipment.return_value = [
         equipment
     ]
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertFalse(equipment_store.get_value(iter, 4))
Пример #27
0
 def test_update_equipment(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.description = u"new description"
     self.mock_ddbb.select.return_value =  [(1, u"old description", 1, 0, 0,u"")]
     self.equipment_service.store_equipment(equipment)
     self.mock_ddbb.update.assert_called_with("equipment", 
                                              "description,active,life_expectancy,prior_usage,notes", 
                                              ["new description", 1, 0, 0,"" ], 
                                              "id = 1")
Пример #28
0
 def test_prior_usage_set_to_non_numeric_string(self):
     equipment = Equipment()
     equipment.prior_usage = "test"
     try:
         self.ddbb.session.add(equipment)
         self.ddbb.session.flush()
     except StatementError:
         pass
     else:
         self.fail("Should not be able to set life expectancy to non numeric value.")
Пример #29
0
 def test_id_set_to_non_numeric_string(self):
     equipment = Equipment()
     equipment.id = "test"
     try:
         self.ddbb.session.add(equipment)
         self.ddbb.session.flush()
     except (IntegrityError, OperationalError, DataError):
         pass
     else:
         self.fail("Should not be able to set equipment id to non numeric value.")
Пример #30
0
 def test_update_equipment_duplicate_description(self):
     self.mock_ddbb.select.return_value = [(1, u"test item", True, 500, 200, u"Test notes.")]
     equipment = Equipment()
     equipment.id = 2
     equipment.description = u"test item"
     try:
         self.equipment_service.store_equipment(equipment)
         self.fail("Should not be able to change item description to non-unique value.")
     except (EquipmentServiceException):
         pass
Пример #31
0
 def test_description_set_to_non_unicode_string(self):
     equipment = Equipment()
     equipment.description = "100$ Shoes" + chr(255)
     try:
         self.ddbb.session.add(equipment)
         self.ddbb.session.flush()
     except (ProgrammingError, DataError):
         pass
     else:
         self.fail("Should not be able to set description to non unicode string value.")
Пример #32
0
 def test_get_item_usage_percent_zero_usage(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.life_expectancy = 200
     self.mock_equipment_service.get_all_equipment.return_value = [
         equipment
     ]
     self.mock_equipment_service.get_equipment_usage.return_value = 0
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEquals(0, equipment_store.get_value(iter, 2))
Пример #33
0
 def test_get_item_description(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.description = u"item description"
     self.mock_equipment_service.get_all_equipment.return_value = [
         equipment
     ]
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEquals("item description",
                       equipment_store.get_value(iter, 1))
Пример #34
0
 def test_get_item_usage_text_rounded(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.life_expectancy = 200
     self.mock_equipment_service.get_all_equipment.return_value = [
         equipment
     ]
     self.mock_equipment_service.get_equipment_usage.return_value = 100.6
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEqual("101 / 200", equipment_store.get_value(iter, 3))
Пример #35
0
 def test_get_item_usage_text_usage_exceeds_life_expectancy(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.life_expectancy = 200
     self.mock_equipment_service.get_all_equipment.return_value = [
         equipment
     ]
     self.mock_equipment_service.get_equipment_usage.return_value = 300
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEquals("300 / 200", equipment_store.get_value(iter, 3))
Пример #36
0
 def test_get_item_usage_percent_usage_exceeds_life_expectancy(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.life_expectancy = 200
     self.mock_equipment_service.get_all_equipment.return_value = [
         equipment
     ]
     self.mock_equipment_service.get_equipment_usage.return_value = 300
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     self.assertEquals(100, equipment_store.get_value(iter, 2),
                       "Progress bar cannot exceed 100%.")
Пример #37
0
 def test_id_set_to_non_numeric_string(self):
     if self.ddbb.engine.name == 'mysql':
         self.skipTest('Not supported on Mysql 5.6')
     equipment = Equipment()
     equipment.id = "test"
     try:
         self.ddbb.session.add(equipment)
         self.ddbb.session.flush()
     except (IntegrityError, OperationalError, DataError):
         pass
     else:
         self.fail("Should not be able to set equipment id to non numeric value.")
Пример #38
0
 def test_description_set_to_non_unicode_string(self):
     if self.ddbb.engine.name == 'mysql':
         self.skipTest('Not supported on Mysql 5.6')
     equipment = Equipment()
     equipment.description = "100$ Shoes" + chr(255)
     try:
         self.ddbb.session.add(equipment)
         self.ddbb.session.flush()
     except (ProgrammingError, DataError, OperationalError):
         pass
     else:
         self.fail("Should not be able to set description to non unicode string value.")
Пример #39
0
 def test_update_equipment(self):
     equipment = Equipment()
     equipment.id = 1
     equipment.description = u"new description"
     self.mock_ddbb.select.return_value = [(1, u"old description", 1, 0, 0, u"")]
     self.equipment_service.store_equipment(equipment)
     self.mock_ddbb.update.assert_called_with(
         "equipment",
         "description,active,life_expectancy,prior_usage,notes",
         ["new description", 1, 0, 0, ""],
         "id = 1",
     )
Пример #40
0
 def test_store_equipment_duplicate_description(self):
     self.mock_ddbb.session.execute(self.equipment_table.insert(),
                                        {"life_expectancy": 500,
                                             "notes": u"Test notes.",
                                        "description": u"test item",
                                        "prior_usage": 200, "active": True})
     equipment = Equipment()
     equipment.description = u"test item"
     try:
         self.equipment_service.store_equipment(equipment)
         self.fail("Should not be able to store new item with non-unique description.")
     except(EquipmentServiceException):
         pass
Пример #41
0
 def _confirm_add_equipment_clicked(self, widget):
     #FIXME input validation for numeric fields
     description = gtk_str(
         self._builder.get_object(
             "entryEquipmentAddDescription").get_text())
     life_expectancy = gtk_str(
         self._builder.get_object(
             "entryEquipmentAddLifeExpectancy").get_text())
     prior_usage = gtk_str(
         self._builder.get_object("entryEquipmentAddPriorUsage").get_text())
     active = self._builder.get_object(
         "checkbuttonEquipmentAddActive").get_active()
     notes_buffer = self._builder.get_object(
         "textviewEquipmentAddNotes").get_buffer()
     notes = gtk_str(
         notes_buffer.get_text(notes_buffer.get_start_iter(),
                               notes_buffer.get_end_iter(), True))
     new_equipment = Equipment()
     new_equipment.description = description
     new_equipment.active = bool(active)
     new_equipment.life_expectancy = int(life_expectancy)
     new_equipment.prior_usage = int(prior_usage)
     new_equipment.notes = notes
     self._equipment_store.add_equipment(new_equipment)
     self.show_page_equipment_list()
Пример #42
0
 def test_store_equipment(self):
     equipment = Equipment()
     equipment.description = u"test description"
     equipment_ids = []
     def mock_select(table, columns, where):
         if columns == "id":
             return equipment_ids
         else:
             return [(2, u"", 1, 0, 0,u"")]
     def update_equipment_ids(*args):
         equipment_ids.append([1])
     self.mock_ddbb.select = mock.Mock(wraps=mock_select)
     self.mock_ddbb.insert.side_effect = update_equipment_ids
     stored_equipment = self.equipment_service.store_equipment(equipment)
     self.mock_ddbb.insert.assert_called_with("equipment", 
                                              "description,active,life_expectancy,prior_usage,notes", 
                                              ["test description", 1, 0, 0,"" ])
     self.assertEquals(2, stored_equipment.id)
Пример #43
0
    def test_store_equipment(self):
        equipment = Equipment()
        equipment.description = u"test description"
        equipment_ids = []

        def mock_select(table, columns, where):
            if columns == "id":
                return equipment_ids
            else:
                return [(2, u"", 1, 0, 0, u"")]

        def update_equipment_ids(*args):
            equipment_ids.append([1])

        self.mock_ddbb.select = mock.Mock(wraps=mock_select)
        self.mock_ddbb.insert.side_effect = update_equipment_ids
        stored_equipment = self.equipment_service.store_equipment(equipment)
        self.mock_ddbb.insert.assert_called_with(
            "equipment", "description,active,life_expectancy,prior_usage,notes", ["test description", 1, 0, 0, ""]
        )
        self.assertEquals(2, stored_equipment.id)
Пример #44
0
 def test_multiple_equipment_items(self):
     equipment1 = Equipment()
     equipment1.id = 1
     equipment2 = Equipment()
     equipment2.id = 2
     self.mock_equipment_service.get_all_equipment.return_value = [
         equipment1, equipment2
     ]
     equipment_store = EquipmentStore(self.mock_equipment_service)
     iter = equipment_store.get_iter_first()
     iter = equipment_store.iter_next(iter)
     self.assertEquals(2, equipment_store.get_value(iter, 0))
Пример #45
0
 def _confirm_add_equipment_clicked(self, widget):
     #FIXME input validation for numeric fields
     description = self._builder.get_object("entryEquipmentAddDescription").get_text()
     life_expectancy = self._builder.get_object("entryEquipmentAddLifeExpectancy").get_text()
     prior_usage = self._builder.get_object("entryEquipmentAddPriorUsage").get_text()
     active = self._builder.get_object("checkbuttonEquipmentAddActive").get_active()
     notes_buffer = self._builder.get_object("textviewEquipmentAddNotes").get_buffer()
     notes = notes_buffer.get_text(notes_buffer.get_start_iter(), notes_buffer.get_end_iter())
     new_equipment = Equipment()
     new_equipment.description = unicode(description)
     new_equipment.active = active
     new_equipment.life_expectancy = life_expectancy
     new_equipment.prior_usage = prior_usage
     new_equipment.notes = unicode(notes)
     self._equipment_store.add_equipment(new_equipment)
     self.show_page_equipment_list()
Пример #46
0
 def _confirm_add_equipment_clicked(self, widget):
     #FIXME input validation for numeric fields
     description = gtk_str(self._builder.get_object("entryEquipmentAddDescription").get_text())
     life_expectancy = gtk_str(self._builder.get_object("entryEquipmentAddLifeExpectancy").get_text())
     prior_usage = gtk_str(self._builder.get_object("entryEquipmentAddPriorUsage").get_text())
     active = self._builder.get_object("checkbuttonEquipmentAddActive").get_active()
     notes_buffer = self._builder.get_object("textviewEquipmentAddNotes").get_buffer()
     notes = gtk_str(notes_buffer.get_text(notes_buffer.get_start_iter(),
                                           notes_buffer.get_end_iter(), True))
     new_equipment = Equipment()
     new_equipment.description = description
     new_equipment.active = bool(active)
     new_equipment.life_expectancy = int(life_expectancy)
     new_equipment.prior_usage = int(prior_usage)
     new_equipment.notes = notes
     self._equipment_store.add_equipment(new_equipment)
     self.show_page_equipment_list()
Пример #47
0
 def _confirm_add_equipment_clicked(self, widget):
     #FIXME input validation for numeric fields
     description = self._builder.get_object(
         "entryEquipmentAddDescription").get_text()
     life_expectancy = self._builder.get_object(
         "entryEquipmentAddLifeExpectancy").get_text()
     prior_usage = self._builder.get_object(
         "entryEquipmentAddPriorUsage").get_text()
     active = self._builder.get_object(
         "checkbuttonEquipmentAddActive").get_active()
     notes_buffer = self._builder.get_object(
         "textviewEquipmentAddNotes").get_buffer()
     notes = notes_buffer.get_text(notes_buffer.get_start_iter(),
                                   notes_buffer.get_end_iter())
     new_equipment = Equipment()
     new_equipment.description = unicode(description)
     new_equipment.active = active
     new_equipment.life_expectancy = life_expectancy
     new_equipment.prior_usage = prior_usage
     new_equipment.notes = unicode(notes)
     self._equipment_store.add_equipment(new_equipment)
     self.show_page_equipment_list()
Пример #48
0
 def test_life_expectancy_set_to_numeric_string(self):
     equipment = Equipment()
     equipment.life_expectancy = "3"
     self.assertEquals(3, equipment.life_expectancy)
Пример #49
0
 def test_prior_usage_set_to_integer(self):
     equipment = Equipment()
     equipment.prior_usage = 2
     self.assertEquals(2, equipment.prior_usage)
Пример #50
0
 def test_prior_usage_set_to_numeric_string(self):
     equipment = Equipment()
     equipment.prior_usage = "3"
     self.assertEquals(3, equipment.prior_usage)
Пример #51
0
 def test_notes_set_to_unicode_string(self):
     equipment = Equipment()
     equipment.notes = u"Zapatos de €100."
     self.assertEquals(u"Zapatos de €100.", equipment.notes)
Пример #52
0
 def test_equals_instances_with_same_id(self):
     equipment1 = Equipment()
     equipment1.id = 1
     equipment2 = Equipment()
     equipment2.id = 1
     self.assertEqual(equipment1, equipment2, "Equipment instances with same id should be equal.")
Пример #53
0
 def test_description_set_to_unicode_string(self):
     equipment = Equipment()
     equipment.description = u"Zapatos de €100"
     self.assertEquals(u"Zapatos de €100", equipment.description)
Пример #54
0
 def test_get_equipment_usage_none(self):
     self.mock_ddbb.select.return_value = [(None,)]
     equipment = Equipment()
     equipment.id = 1
     usage = self.equipment_service.get_equipment_usage(equipment)
     self.assertEquals(0, usage)
Пример #55
0
 def test_active_set_to_boolean(self):
     equipment = Equipment()
     equipment.active = False
     self.assertFalse(equipment.active)
Пример #56
0
 def test_active_defaults_to_true(self):
     equipment = Equipment()
     self.assertTrue(equipment.active)
Пример #57
0
 def test_id_set_to_integer(self):
     equipment = Equipment()
     equipment.id = 2
     self.assertEquals(2, equipment.id)
Пример #58
0
 def test_id_set_to_numeric_string(self):
     equipment = Equipment()
     equipment.id = "3"
     self.assertEquals(3, equipment.id)
Пример #59
0
 def test_equals_instances_with_different_ids(self):
     equipment1 = Equipment()
     equipment1.id = 1
     equipment2 = Equipment()
     equipment2.id = 2
     self.assertNotEqual(equipment1, equipment2, "Equipment instances with different ids should not be equal.")
Пример #60
0
 def test_active_set_to_boolean(self):
     equipment = Equipment()
     equipment.active = False
     self.assertFalse(equipment.active)