class TestObsFunctions(unittest.TestCase): def setUp(self): self.obs = Obs(913) def test_newInstance_method(self): concept = Concept() concept.setDatatype(True) self.obsToCopy = Obs(Person(), concept, datetime.now(), Location()) self.newObs = self.obs.newInstance(self.obsToCopy) self.assertFalse(self.newObs == self.obsToCopy)#both have None obsId self.assertIsNot(self.newObs, self.obsToCopy) self.obsToCopy = Obs(9118) self.newObs = self.obs.newInstance(self.obsToCopy) self.assertFalse(self.newObs == self.obsToCopy)#newObs has None obsId but obsToCopy has an obsId def test_obs_group_methods(self): self.obs.setObsGroup(None) self.assertFalse(self.obs.hasGroupMembers()) self.obs1 = Obs(127) self.obs2 = Obs(9827) concept = Concept() concept.setSet(True) self.obs.setConcept(concept) self.obs.setGroupMembers(set([self.obs1, self.obs2])) self.assertTrue(self.obs.getGroupMembers(True) != None) self.assertTrue(self.obs.getGroupMembers(False) != None) self.obs.addGroupMember(Obs(7543)) self.obs.addGroupMember(self.obs) #self.assertRaises(APIException) #the line before should raise this exception self.obs.removeGroupMember(self.obs1) self.assertIsNone(self.obs1.getObsGroup()) #self.obsToCopy should be parent group of obs members. ret = self.obs.getRelatedObservations() for i in ret: self.assertFalse(i.isObsGrouping()) def test_value_methods(self): self.obs.setValueBoolean(True) #self.assertIsNotNone(self.obs.getValueCoded()) self.obs.setValueNumeric(1) self.assertTrue(self.obs.getValueAsBoolean()) self.obs.setValueNumeric(0) self.assertFalse(self.obs.getValueAsBoolean()) self.assertFalse(self.obs.isComplex()) self.obs.setValueAsString("True") #self.assertTrue(self.obs.getValueAsString()) concept1 = Concept() concept1.setDatatype(ConceptDatatype(13)) self.obs.setConcept(concept1) self.obs.getConcept().getDatatype().setHl7Abbreviation("NM") self.obs.setValueAsString("13")