def testAttachTwiceDoesNotAttachAgain(self): self.assertEquals(0, len(DeviceIndividual.find())) DeviceIndividual.attach( self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") self.assertEquals(1, len(DeviceIndividual.find())) with self.assertRaises(AlreadyHasDevice): DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") self.assertEquals(1, len(DeviceIndividual.find()))
def test_individual_with_multiple_documents(self): self.page.double_click_marker() self.page.save() DeviceIndividual.detach(self.D.id, self.I.id, '2000-12-12T12:10:00+00:00') dev_2 = { "deviceManufacturerID": "DummyDevId2", "deviceType": "Type2", "deviceManufacturer": "Manufacturer2", "dateCreated": "2000-09-29T14:00:00+03:00", "dateEdited": "2000-09-29T14:00:00+03:00" } self.D_2 = device.create(**dev_2) DeviceIndividual.attach(self.D_2.id, self.I.id, '2000-12-12T12:15:00+00:00') self.A_2 = document.create( [gathering.Gathering("2000-12-12T12:20:00+00:00", [25.00, 63.00]), gathering.Gathering("2000-12-12T12:25:00+00:00", [25.01, 63.01])], self.D_2.id) self.page.navigate() self.page.change_individual_selection(self.I.id) self.assertEquals(1, self.page.number_of_private_clusters_on_map()) self.assertEquals(1, self.page.number_of_completely_public_clusters_on_map()) self.page.click_private_cluster() self.page.save_and_change('None') self.page.change_individual_selection(self.I.id) self.assertEquals(0, self.page.number_of_private_clusters_on_map()) self.assertEquals(2, self.page.number_of_completely_public_clusters_on_map())
def testAttachOne(self): self.assertEquals(0, len(DeviceIndividual.find())) DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") self.assertEquals(1, len(DeviceIndividual.find())) self.assertEquals(self.I.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"]) self.assertEquals(self.I.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"]) self.assertEquals("2015-09-29T14:00:00+03:00", DeviceIndividual.get_active_attachment_of_individual(self.I.id)["attached"]) self.assertEquals("2015-09-29T14:00:00+03:00", DeviceIndividual.get_active_attachment_of_individual(self.I.id)["attached"])
def testGetAllAttachedIndividuals(self): self.assertEquals(0, len(DeviceIndividual.find())) DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") DeviceIndividual.detach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") DeviceIndividual.attach(self.D.id, self.I2.id, "2015-09-29T14:00:00+03:00") self.assertEquals(2, len(DeviceIndividual.get_attachments_of_device(self.D.id))) self.assertEquals(self.I2.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"])
def setUp(self): dev = { "deviceManufacturerID": "DummyDevId", "deviceType": "Type", "deviceManufacturer": "Manufacturer", "dateCreated": "2015-09-29T14:00:00+03:00", "dateEdited": "2015-09-29T14:00:00+03:00" } self.D = device.create(**dev) self.A = document.create( [gathering.Gathering("2000-12-12T12:00:00+00:00", [23.00, 61.00]), gathering.Gathering("2000-12-12T12:05:00+00:00", [23.01, 61.01])], self.D.id) self.page = ChoosePage() self.I = individual.create('Tipuliini', 'dummytaxon') DeviceIndividual.attach(self.D.id, self.I.id, '2000-12-12T11:55:00+00:00') self.page.navigate() self.page.change_individual_selection(self.I.id)
def test_2birds1doc(self): self.add_individual() DeviceIndividual.detach(self.D.id, self.I.id, "2000-12-12T12:15:00+00:00") DeviceIndividual.attach(self.D.id, self.I_2.id, "2000-12-12T12:20:00+00:00") self.A.gatherings += [ gathering.Gathering("2000-12-12T12:25:00+00:00", [24.00, 62.00]), gathering.Gathering("2000-12-12T12:30:00+00:00", [24.01, 62.01])] self.A.update() self.page.navigate() self.page.change_individual_selection(self.I.id) self.assertEquals(1, self.page.number_of_private_clusters_on_map()) self.page.change_individual_selection(self.I_2.id) self.assertEquals(1, self.page.number_of_private_clusters_on_map()) self.assertEquals(0, self.page.number_of_completely_public_clusters_on_map()) self.page.double_click_marker() self.assertEquals(0, self.page.number_of_private_clusters_on_map()) self.assertEquals(1, self.page.number_of_completely_public_clusters_on_map()) self.page.save_and_change(self.I.id) self.assertEquals(1, self.page.number_of_private_clusters_on_map()) self.page.change_individual_selection(self.I_2.id) self.assertEquals(0, self.page.number_of_private_clusters_on_map()) self.assertEquals(1, self.page.number_of_completely_public_clusters_on_map())
def testAttachDetachTwo(self): self.assertEquals(0, len(DeviceIndividual.find())) DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") DeviceIndividual.attach(self.D2.id, self.I2.id, "2015-09-29T14:00:00+03:00") self.assertEquals(2, len(DeviceIndividual.find())) self.assertEquals(self.I.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"]) self.assertEquals(self.D.id, DeviceIndividual.get_active_attachment_of_individual(self.I.id)["deviceID"]) self.assertEquals(self.I2.id, DeviceIndividual.get_active_attachment_of_device(self.D2.id)["individualID"]) self.assertEquals(self.D2.id, DeviceIndividual.get_active_attachment_of_individual(self.I2.id)["deviceID"]) DeviceIndividual.detach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") self.assertEquals(None, DeviceIndividual.get_active_attachment_of_device(self.D.id)) self.assertEquals(None, DeviceIndividual.get_active_attachment_of_individual(self.I.id)) self.assertEquals(self.I2.id, DeviceIndividual.get_active_attachment_of_device(self.D2.id)["individualID"]) self.assertEquals(self.D2.id, DeviceIndividual.get_active_attachment_of_individual(self.I2.id)["deviceID"]) DeviceIndividual.detach(self.D2.id, self.I2.id, "2015-09-29T14:00:00+03:00") self.assertEquals(None, DeviceIndividual.get_active_attachment_of_device(self.D2.id)) self.assertEquals(None, DeviceIndividual.get_active_attachment_of_individual(self.I2.id)) self.assertEquals(2, len(DeviceIndividual.find()))
def testAttachToAnotherIndividualDoesNotAttach(self): DeviceIndividual.attach( self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") self.assertEquals(1, len(DeviceIndividual.find())) with self.assertRaises(DeviceAlreadyAttached): DeviceIndividual.attach(self.D.id, self.I2.id, "2015-09-29T14:00:00+03:00") self.assertEquals(1, len(DeviceIndividual.find()))
def testDeleteAllWorks(self): DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") self.assertEquals(1, len(DeviceIndividual.find())) DeviceIndividual.delete_all() self.assertEquals(0, len(DeviceIndividual.find()))
def testDeletedDevicesDontMessThingsUp(self): DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") self.D.delete() self.assertEquals(0, len(DeviceIndividual.find()))
def testDeletedIndividualsDontStopNewAttachments(self): DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00") self.I.delete(); DeviceIndividual.attach(self.D.id, self.I2.id, "2015-09-29T14:00:00+03:00") self.assertEquals(self.I2.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)['individualID'])
def attach_to(self, individualid, timestamp): ''' Attaches this device to an individual ''' DeviceIndividual.attach(self.id, individualid, timestamp)