def test_id_observer(self): self.assertEqual( int(self.observation_json["observers"][0]["@id"]), self.observation.id_observer, ) obs = Observation() obs._raw_data = {"observers": [{"id": 1}]} self.assertEqual(1, obs.id_observer) obs._raw_data = {"observers": [{"@id": 2}]} self.assertEqual(2, obs.id_observer) obs.id_observer = 3 self.assertEqual(3, obs.id_observer) obs = Observation() obs.id_observer = 4 self.assertEqual(4, obs.id_observer)
def test_id_species(self): self.assertEqual(int(self.observation_json["species"]["@id"]), self.observation.id_species) obs = Observation() obs._raw_data = {"species": {"id": 1}} self.assertEqual(1, obs.id_species) obs.id_species = 2 self.assertEqual(2, obs.id_species)
def test_species(self): species = self.observation.species self.assertEqual(species._raw_data, self.observation_json["species"]) with mock.patch("ornitho.model.observation.Species") as mock_species: mock_species.id_.return_value = 1 mock_species._raw_data.return_value = {"id": 1} mock_species.get.return_value = mock_species obs = Observation() obs.species = mock_species.get(1) self.assertEqual(mock_species.get.return_value, obs.species) obs2 = Observation() obs2._raw_data = {"species": {"id": 2}} self.assertEqual(mock_species.get.return_value, obs2.species) mock_species.get.assert_called_with(2)
def test_relations(self): relations = [Relation(56436655, RelationType("same"))] self.assertEqual( relations, self.observation.relations, ) relations = [Relation(123, RelationType("diff"))] obs = Observation() obs._raw_data = {"observers": [{"@id": "1"}]} obs.relations = relations self.assertEqual(relations, obs.relations) obs = Observation() obs.relations = relations self.assertEqual(relations, obs.relations) relations = [Relation(56436653, RelationType("probable"))] obs.relations = relations self.assertEqual(relations, obs.relations)
def test_direction(self): self.assertEqual( float(self.observation_json["observers"][0]["extended_info"] ["direction"]["degree"]), self.observation.direction, ) obs = Observation() obs.direction = 123 self.assertEqual(123, obs.direction) obs = Observation() obs._raw_data = {"observers": [{"@id": "1"}]} obs.direction = 234 self.assertEqual(234, obs.direction) obs = Observation() obs.direction = 2 self.assertEqual(2, obs.direction) obs.direction = 3 self.assertEqual(3, obs.direction)