def test_all_elements_are_required(self):
     """All the sub-elements are required"""
     all = dict(
         user_ref=UserRef(oid="AUser"),
         location_ref=LocationRef(oid="ALocation"),
         signature_ref=SignatureRef(oid="ASignature"),
         date_time_stamp=DateTimeStamp(
             date_time=datetime(
                 year=2016, month=12, day=25, hour=12, minute=0, second=0
             )
         ),
     )
     t0 = Signature()
     with self.assertRaises(ValueError) as exc:
         doc = obj_to_doc(t0)
     self.assertEqual("User Reference not set.", str(exc.exception))
     t1 = Signature(user_ref=all.get("user_ref"))
     with self.assertRaises(ValueError) as exc:
         doc = obj_to_doc(t1)
     self.assertEqual("Location Reference not set.", str(exc.exception))
     t2 = Signature(
         user_ref=all.get("user_ref"), location_ref=all.get("location_ref")
     )
     with self.assertRaises(ValueError) as exc:
         doc = obj_to_doc(t2)
     self.assertEqual("Signature Reference not set.", str(exc.exception))
     t3 = Signature(
         user_ref=all.get("user_ref"),
         location_ref=all.get("location_ref"),
         signature_ref=all.get("signature_ref"),
     )
     with self.assertRaises(ValueError) as exc:
         doc = obj_to_doc(t3)
     self.assertEqual("DateTime not set.", str(exc.exception))
 def test_all_elements_are_required(self):
     """All the sub-elements are required"""
     all = dict(
         user_ref=UserRef(oid="AUser"),
         location_ref=LocationRef(oid="ALocation"),
         signature_ref=SignatureRef(oid="ASignature"),
         date_time_stamp=DateTimeStamp(date_time=datetime(
             year=2016, month=12, day=25, hour=12, minute=0, second=0)),
     )
     t0 = Signature()
     with self.assertRaises(ValueError) as exc:
         doc = obj_to_doc(t0)
     self.assertEqual("User Reference not set.", str(exc.exception))
     t1 = Signature(user_ref=all.get("user_ref"))
     with self.assertRaises(ValueError) as exc:
         doc = obj_to_doc(t1)
     self.assertEqual("Location Reference not set.", str(exc.exception))
     t2 = Signature(user_ref=all.get("user_ref"),
                    location_ref=all.get("location_ref"))
     with self.assertRaises(ValueError) as exc:
         doc = obj_to_doc(t2)
     self.assertEqual("Signature Reference not set.", str(exc.exception))
     t3 = Signature(
         user_ref=all.get("user_ref"),
         location_ref=all.get("location_ref"),
         signature_ref=all.get("signature_ref"),
     )
     with self.assertRaises(ValueError) as exc:
         doc = obj_to_doc(t3)
     self.assertEqual("DateTime not set.", str(exc.exception))
    def test_whole_item_group(self):
        """mdsol:Submission should be wholeitemgroup or SpecifiedItemsOnly"""
        doc = obj_to_doc(self.tested, "TESTFORM")
        self.assertEqual(doc.attrib["mdsol:Submission"], "SpecifiedItemsOnly")

        self.tested.whole_item_group = True
        doc = obj_to_doc(self.tested, "TESTFORM")
        self.assertEqual(doc.attrib["mdsol:Submission"], "WholeItemGroup")
    def test_whole_item_group(self):
        """mdsol:Submission should be wholeitemgroup or SpecifiedItemsOnly"""
        doc = obj_to_doc(self.tested, "TESTFORM")
        self.assertEqual(doc.attrib["mdsol:Submission"], "SpecifiedItemsOnly")

        self.tested.whole_item_group = True
        doc = obj_to_doc(self.tested, "TESTFORM")
        self.assertEqual(doc.attrib["mdsol:Submission"], "WholeItemGroup")
Beispiel #5
0
 def test_creation_datetime(self):
     """Create multiple ODM and get different datetimes"""
     obj_1 = ODM("Test User", fileoid="1234", source_system="Battlestar", source_system_version="1.04")
     tested_1 = obj_to_doc(obj=obj_1)
     with patch('rwslib.builders.common.datetime') as mock_dt:
         # offset the time to ensure we don't overlap
         mock_dt.utcnow.return_value = datetime.datetime.utcnow() + datetime.timedelta(seconds=61)
         obj_2 = ODM("Test User", fileoid="1235", source_system="Battlestar", source_system_version="1.04")
         tested_2 = obj_to_doc(obj=obj_2)
     self.assertEqual(tested_1.get('Originator'), tested_2.get('Originator'))
     self.assertEqual(tested_1.get('SourceSystem'), tested_2.get('SourceSystem'))
     self.assertNotEqual(tested_1.get('FileOID'), tested_2.get('FileOID'))
     self.assertNotEqual(tested_1.get('CreationDateTime'), tested_2.get('CreationDateTime'))
 def test_create_location_of_type(self):
     """Create a Location with typ"""
     obj = Location("Site1", "Site One", location_type=LocationType.Site)
     tested = obj_to_doc(obj)
     self.assertEqual("Location", tested.tag)
     # this is an enum
     self.assertEqual("Site", tested.get('LocationType'))
 def test_create_location(self):
     """Create a Location"""
     obj = Location("Site1", "Site One")
     tested = obj_to_doc(obj)
     self.assertEqual("Location", tested.tag)
     self.assertEqual("Site1", tested.get('OID'))
     self.assertEqual("Site One", tested.get('Name'))
 def test_create_user(self):
     """Create a User"""
     obj = User("user1", user_type=UserType.Investigator)
     tested = obj_to_doc(obj)
     self.assertEqual("User", tested.tag)
     self.assertEqual("user1", tested.get('OID'))
     self.assertEqual("Investigator", tested.get('UserType'))
    def test_builder_with_datetime(self):
        dt = datetime(2015, 9, 11, 10, 15, 22, 80)
        tested = DateTimeStamp(dt)
        doc = obj_to_doc(tested)

        self.assertEqual(dt_to_iso8601(dt), doc.text)
        self.assertEqual(doc.tag, "DateTimeStamp")
    def test_builder(self):
        """Test building XML"""
        tested = ReasonForChange("Testing 1..2..3")
        doc = obj_to_doc(tested)

        self.assertEqual("Testing 1..2..3", doc.text)
        self.assertEqual(doc.tag, "ReasonForChange")
    def test_builder_int_oid(self):
        """Test building XML"""
        tested = LocationRef(12)
        doc = obj_to_doc(tested)

        self.assertEqual(doc.attrib["LocationOID"], "12")
        self.assertEqual(doc.tag, "LocationRef")
    def test_builder(self):
        """Test building XML"""
        tested = LocationRef("Gainesville")
        doc = obj_to_doc(tested)

        self.assertEqual(doc.attrib["LocationOID"], "Gainesville")
        self.assertEqual(doc.tag, "LocationRef")
    def test_builder(self):
        """Test building XML"""
        tested = UserRef("Fred")
        doc = obj_to_doc(tested)

        self.assertEqual(doc.attrib["UserOID"], "Fred")
        self.assertEqual(doc.tag, "UserRef")
    def test_builder(self):
        """Test building XML"""
        tested = ItemData("FIELDA",
                          "TEST",
                          lock=True,
                          verify=True,
                          freeze=False)

        tested << AuditRecord(
            edit_point=AuditRecord.EDIT_DATA_MANAGEMENT,
            used_imputation_method=False,
            identifier="x2011",
            include_file_oid=False,
        )(
            UserRef("Fred"),
            LocationRef("Site102"),
            ReasonForChange("Data Entry Error"),
            DateTimeStamp(datetime(2015, 9, 11, 10, 15, 22, 80)),
        )
        tested << MdsolQuery()
        tested << MeasurementUnitRef("Celsius")

        doc = obj_to_doc(tested)

        self.assertEqual(doc.attrib["ItemOID"], "FIELDA")
        self.assertEqual(doc.attrib["Value"], "TEST")
        self.assertEqual(doc.attrib["mdsol:Verify"], "Yes")
        self.assertEqual(doc.attrib["mdsol:Lock"], "Yes")
        self.assertEqual(doc.attrib["mdsol:Freeze"], "No")
        self.assertEqual(doc.tag, "ItemData")
        self.assertEqual("AuditRecord", list(doc)[0].tag)
        self.assertEqual("MeasurementUnitRef", list(doc)[1].tag)
        self.assertEqual("mdsol:Query", list(doc)[2].tag)
 def test_add_milestone(self):
     """We add a Milestone"""
     obj = SubjectData("Subject 1", "Site 1")
     obj.add_milestone("Randomised")
     tested = obj_to_doc(obj)
     self.assertEqual('Annotation', list(tested)[1].tag)
     self.assertEqual('Randomised', list(list(list(tested)[1])[0])[0].text)
Beispiel #16
0
 def test_create_location_of_type(self):
     """Create a Location with typ"""
     obj = Location("Site1", "Site One", location_type=LocationType.Site)
     tested = obj_to_doc(obj)
     self.assertEqual("Location", tested.tag)
     # this is an enum
     self.assertEqual("Site", tested.get('LocationType'))
 def test_no_value(self):
     """No FlagValue is an exception"""
     tested = Flag()
     tested << FlagType("Some type", codelist_oid="ANOTHEROID")
     with self.assertRaises(ValueError) as exc:
         t = obj_to_doc(tested)
     self.assertEqual("FlagValue is not set.", str(exc.exception))
Beispiel #18
0
 def test_create_a_version_ref_and_attach_to_location(self):
     """We create a MetaDataVersionRef"""
     this = MetaDataVersionRef(
         "Mediflex(Prod)", "1024",
         datetime.datetime.utcnow() - datetime.timedelta(days=7))
     that = MetaDataVersionRef("Mediflex(Prod)", "1025",
                               datetime.datetime.utcnow())
     obj = Location('Site01', 'Site 1')
     obj << this
     obj << that
     tested = obj_to_doc(obj)
     self.assertEqual("Location", tested.tag)
     self.assertTrue(len(list(tested)) == 2)
     _this = list(tested)[0]
     self.assertEqual("Mediflex(Prod)", _this.get('StudyOID'))
     self.assertEqual("1024", _this.get('MetaDataVersionOID'))
     self.assertTrue(
         _this.get('EffectiveDate').startswith(
             (datetime.date.today() -
              datetime.timedelta(days=7)).isoformat()))
     _that = list(tested)[1]
     self.assertEqual("Mediflex(Prod)", _that.get('StudyOID'))
     self.assertEqual("1025", _that.get('MetaDataVersionOID'))
     self.assertTrue(
         _that.get('EffectiveDate').startswith(
             datetime.date.today().isoformat()))
    def test_builder(self):
        """Test building XML"""
        tested = LocationRef("Gainesville")
        doc = obj_to_doc(tested)

        self.assertEqual(doc.attrib["LocationOID"], "Gainesville")
        self.assertEqual(doc.tag, "LocationRef")
 def test_last_update_time_set(self):
     """We don't see a LastUpdateTime for naiive elements"""
     obj = ItemData(itemoid="BRTHDAT", value="12 DEC 1975")
     obj.set_update_time()
     tested = obj_to_doc(obj)
     self.assertEqual("ItemData", tested.tag)
     self.assertIsNotNone(tested.get('mdsol:LastUpdateTime'))
Beispiel #21
0
 def test_create_location(self):
     """Create a Location"""
     obj = Location("Site1", "Site One")
     tested = obj_to_doc(obj)
     self.assertEqual("Location", tested.tag)
     self.assertEqual("Site1", tested.get('OID'))
     self.assertEqual("Site One", tested.get('Name'))
Beispiel #22
0
 def test_modm_attributes(self):
     """Each modm attribute is settable"""
     for attribute in [
             "ExternalStudyID", "StudyUUID", "AuditSubCategoryName",
             "StudyName", "ClientDivisionUUID", "ClientDivisionSchemeUUID",
             "SDRCompleteDate", "SDVCompleteDate", "LockCompleteDate",
             "IsSDVRequired", "IsSDVComplete"
     ]:
         data = ClinicalData("Mediflex",
                             "Prod",
                             metadata_version_oid="1012")
         if "UUID" in attribute:
             data.add_attribute(attribute, uuid.uuid4())
         elif "Date" in attribute:
             data.add_attribute(
                 attribute,
                 fake.date_time_this_year(before_now=True,
                                          after_now=False,
                                          tzinfo=None))
         elif attribute.startswith('Is'):
             data.add_attribute(attribute, random.choice(YesNoRave))
         else:
             data.add_attribute(attribute, "Blargle")
         tested = obj_to_doc(data)
         self.assertIsNotNone(tested.get("mdsol:{}".format(attribute)))
 def test_add_last_update_time(self):
     """We add a LastUpdateTime"""
     obj = SubjectData("Subject 1", "Site 1")
     now = datetime.datetime.utcnow()
     obj.last_update_time = now
     tested = obj_to_doc(obj)
     self.assertEqual(now.isoformat(), tested.get('mdsol:LastUpdateTime'))
 def test_add_last_update_time(self):
     """We add a LastUpdateTime"""
     clindata = ClinicalData("Mediflex", "Prod", metadata_version_oid="1012")
     now = datetime.datetime.utcnow()
     clindata.last_update_time = now
     tested = obj_to_doc(clindata)
     self.assertEqual(now.isoformat(), tested.get('mdsol:LastUpdateTime'))
Beispiel #25
0
 def test_create_user(self):
     """Create a User"""
     obj = User("user1", user_type=UserType.Investigator)
     tested = obj_to_doc(obj)
     self.assertEqual("User", tested.tag)
     self.assertEqual("user1", tested.get('OID'))
     self.assertEqual("Investigator", tested.get('UserType'))
Beispiel #26
0
 def test_last_update_time_set(self):
     """We don't see a LastUpdateTime for naiive elements"""
     obj = ItemData(itemoid="BRTHDAT", value="12 DEC 1975")
     obj.set_update_time()
     tested = obj_to_doc(obj)
     self.assertEqual("ItemData", tested.tag)
     self.assertIsNotNone(tested.get('mdsol:LastUpdateTime'))
Beispiel #27
0
 def test_last_update_time_naiive(self):
     """We don't see a LastUpdateTime for naive elements"""
     clindata = ClinicalData("Mediflex",
                             "Prod",
                             metadata_version_oid="1012")
     tested = obj_to_doc(clindata)
     self.assertIsNone(tested.get('mdsol:LastUpdateTime'))
    def test_builder_int_oid(self):
        """Test building XML"""
        tested = LocationRef(12)
        doc = obj_to_doc(tested)

        self.assertEqual(doc.attrib["LocationOID"], "12")
        self.assertEqual(doc.tag, "LocationRef")
Beispiel #29
0
 def test_add_last_update_time(self):
     """We add a LastUpdateTime"""
     obj = SubjectData("Subject 1", "Site 1")
     now = datetime.datetime.utcnow()
     obj.last_update_time = now
     tested = obj_to_doc(obj)
     self.assertEqual(now.isoformat(), tested.get('mdsol:LastUpdateTime'))
    def test_builder_with_datetime(self):
        dt = datetime(2015, 9, 11, 10, 15, 22, 80)
        tested = DateTimeStamp(dt)
        doc = obj_to_doc(tested)

        self.assertEqual(dt_to_iso8601(dt), doc.text)
        self.assertEqual(doc.tag, "DateTimeStamp")
 def test_no_value(self):
     """No FlagValue is an exception"""
     tested = Flag()
     tested << FlagType("Some type", codelist_oid="ANOTHEROID")
     with self.assertRaises(ValueError) as exc:
         t = obj_to_doc(tested)
     self.assertEqual("FlagValue is not set.", str(exc.exception))
    def test_builder(self):
        """Test building XML"""
        tested = ReasonForChange("Testing 1..2..3")
        doc = obj_to_doc(tested)

        self.assertEqual("Testing 1..2..3", doc.text)
        self.assertEqual(doc.tag, "ReasonForChange")
    def test_builder(self):
        """Test building XML"""
        tested = ItemData("FIELDA", "TEST", lock=True, verify=True, freeze=False)

        tested << AuditRecord(
            edit_point=AuditRecord.EDIT_DATA_MANAGEMENT,
            used_imputation_method=False,
            identifier="x2011",
            include_file_oid=False,
        )(
            UserRef("Fred"),
            LocationRef("Site102"),
            ReasonForChange("Data Entry Error"),
            DateTimeStamp(datetime(2015, 9, 11, 10, 15, 22, 80)),
        )
        tested << MdsolQuery()
        tested << MeasurementUnitRef("Celsius")

        doc = obj_to_doc(tested)

        self.assertEqual(doc.attrib["ItemOID"], "FIELDA")
        self.assertEqual(doc.attrib["Value"], "TEST")
        self.assertEqual(doc.attrib["mdsol:Verify"], "Yes")
        self.assertEqual(doc.attrib["mdsol:Lock"], "Yes")
        self.assertEqual(doc.attrib["mdsol:Freeze"], "No")
        self.assertEqual(doc.tag, "ItemData")
        self.assertEqual("AuditRecord", list(doc)[0].tag)
        self.assertEqual("MeasurementUnitRef", list(doc)[1].tag)
        self.assertEqual("mdsol:Query", list(doc)[2].tag)
    def test_builder(self):
        """Test building XML"""
        tested = UserRef("Fred")
        doc = obj_to_doc(tested)

        self.assertEqual(doc.attrib["UserOID"], "Fred")
        self.assertEqual(doc.tag, "UserRef")
 def test_form_repeat_key(self):
     """Test transaction type inserted if set"""
     tested = FormData("TESTFORM_A", form_repeat_key=9)(
         ItemGroupData()(ItemData("Field1", "ValueA"), ItemData("Field2", "ValueB"))
     )
     doc = obj_to_doc(tested)
     self.assertEqual(doc.attrib["FormRepeatKey"], "9")
 def test_multiple_subject_data(self):
     """We can add multiple SubjectData to the Clinical Data"""
     cd = ClinicalData("Mediflex", "Prod")
     cd << SubjectData("Site1", "Subject1")
     cd << SubjectData("Site1", "Subject2")
     doc = obj_to_doc(cd)
     self.assertEqual(2, len(doc))
 def test_multiple_subject_data(self):
     """We can add multiple SubjectData to the Clinical Data"""
     cd = ClinicalData("Mediflex", "Prod")
     cd << SubjectData("Site1", "Subject1")
     cd << SubjectData("Site1", "Subject2")
     doc = obj_to_doc(cd)
     self.assertEqual(2, len(doc))
Beispiel #38
0
 def test_add_milestone(self):
     """We add a Milestone"""
     obj = SubjectData("Subject 1", "Site 1")
     obj.add_milestone("Randomised")
     tested = obj_to_doc(obj)
     self.assertEqual('Annotation', list(tested)[1].tag)
     self.assertEqual('Randomised', list(list(list(tested)[1])[0])[0].text)
Beispiel #39
0
 def test_modm_attributes(self):
     """Each modm attribute is settable"""
     for attribute in [
             "StartWindowDate", "EndWindowDate", "StudyEventUUID",
             "InstanceName", "VisitTargetDate", "InstanceId",
             "InstanceOverDue", "InstanceStartWindow", "InstanceEndWindow",
             "InstanceClose", "InstanceAccess", "StudyEventDate",
             "SDRCompleteDate", "SDVCompleteDate", "LockCompleteDate",
             "VisitFirstDataEntryDate", "IsSDVComplete", "IsSDVRequired"
     ]:
         data = StudyEventData("VISIT1")
         if "UUID" in attribute:
             data.add_attribute(attribute, uuid.uuid4())
         elif "Date" in attribute:
             data.add_attribute(
                 attribute,
                 fake.date_time_this_year(before_now=True,
                                          after_now=False,
                                          tzinfo=None))
         elif attribute.startswith('Is'):
             data.add_attribute(attribute, random.choice(YesNoRave))
         else:
             data.add_attribute(attribute, "Blargle")
         tested = obj_to_doc(data)
         self.assertIsNotNone(tested.get("mdsol:{}".format(attribute)))
 def test_metadata_version_oid(self):
     """
     Test we can handle a MDV as a String
     """
     self.tested.metadata_version_oid = "2"
     doc = obj_to_doc(self.tested)
     self.assertEqual(doc.attrib["MetaDataVersionOID"],
                      self.tested.metadata_version_oid)
Beispiel #41
0
 def test_add_last_update_time(self):
     """We add a LastUpdateTime"""
     obj = ItemGroupData(itemgroupoid="DM")
     now = datetime.datetime.utcnow()
     obj.last_update_time = now
     tested = obj_to_doc(obj)
     self.assertEqual("ItemGroupData", tested.tag)
     self.assertEqual(now.isoformat(), tested.get('mdsol:LastUpdateTime'))
Beispiel #42
0
 def test_add_milestone(self):
     """We add a single milestone"""
     obj = StudyEventData("VISIT1")
     obj.add_milestone("Informed Consent")
     tested = obj_to_doc(obj)
     self.assertEqual('Annotation', list(tested)[0].tag)
     annotation = list(tested)[0]
     self.assertEqual('Informed Consent', list(list(annotation)[0])[0].text)
 def test_metadata_version_oid_as_int(self):
     """
     Test that we can handle a MDV as an integer (which we are mandating in the IG)
     """
     self.tested.metadata_version_oid = 56
     doc = obj_to_doc(self.tested)
     self.assertEqual(doc.attrib["MetaDataVersionOID"],
                      str(self.tested.metadata_version_oid))
 def test_happy_path_no_commenter(self):
     """Creating a valid Comment without a commenter, no problems"""
     tested = Comment()
     tested.text = "Some comment"
     t = obj_to_doc(tested)
     self.assertEqual("Comment", t.tag)
     self.assertNotIn("SponsorOrSite", t.attrib)
     self.assertEqual("Some comment", t.text)
Beispiel #45
0
 def test_add_last_update_time(self):
     """We add a LastUpdateTime"""
     obj = StudyEventData("VISIT1")
     now = datetime.datetime.utcnow()
     obj.last_update_time = now
     tested = obj_to_doc(obj)
     self.assertEqual("StudyEventData", tested.tag)
     self.assertEqual(now.isoformat(), tested.get('mdsol:LastUpdateTime'))
Beispiel #46
0
 def test_add_milestone(self):
     """We add a single milestone"""
     obj = ItemData(itemoid="BRTHDAT", value="12 DEC 1975")
     obj.add_milestone("Informed Consent")
     tested = obj_to_doc(obj)
     self.assertEqual('Annotation', list(tested)[0].tag)
     annotation = list(tested)[0]
     self.assertEqual('Informed Consent', list(list(annotation)[0])[0].text)
Beispiel #47
0
 def test_add_last_update_time(self):
     """We add a LastUpdateTime"""
     obj = ItemData(itemoid="BRTHDAT", value="12 DEC 1975")
     now = datetime.datetime.utcnow()
     obj.last_update_time = now
     tested = obj_to_doc(obj)
     self.assertEqual("ItemData", tested.tag)
     self.assertEqual(now.isoformat(), tested.get('mdsol:LastUpdateTime'))
Beispiel #48
0
 def test_insert_pd_to_itemdata(self):
     """Create a simple protocol deviation with class and code and Transaction Type"""
     test = ItemData("FIXOID", "Fix me")(MdsolProtocolDeviation(value="Deviated from Protocol",
                                                                status=ProtocolDeviationStatus.Open,
                                                                repeat_key=1, code="E01", klass="Blargle",
                                                                transaction_type="Insert"))
     tested = obj_to_doc(test)
     self.assertEqual(1, len(list(tested)))
     self.assertEqual('mdsol:ProtocolDeviation', list(tested)[0].tag)
     test << MdsolProtocolDeviation(value="Deviated from Protocol",
                                    status=ProtocolDeviationStatus.Open,
                                    repeat_key=2, code="E01", klass="Blargle",
                                    transaction_type="Insert")
     tested = obj_to_doc(test)
     self.assertEqual(2, len(list(tested)))
     self.assertEqual('mdsol:ProtocolDeviation', list(tested)[1].tag)
     self.assertEqual(2, list(tested)[1].get('ProtocolDeviationRepeatKey'))
Beispiel #49
0
 def test_add_milestone(self):
     """We add a single milestone"""
     obj = ItemGroupData(itemgroupoid="DM")
     obj.add_milestone("Informed Consent")
     tested = obj_to_doc(obj)
     self.assertEqual('Annotation', list(tested)[0].tag)
     annotation = list(tested)[0]
     self.assertEqual('Informed Consent', list(list(annotation)[0])[0].text)
 def test_happy_path(self):
     """Create a Flag object"""
     tested = Flag()
     tested << FlagValue("Some value", codelist_oid="ANOID")
     tested << FlagType("Some type", codelist_oid="ANOTHEROID")
     t = obj_to_doc(tested)
     self.assertEqual("Flag", t.tag)
     self.assertTrue(len(list(t)) == 2)
 def test_modm_bool_attribute(self):
     """A boolean gets mapped to Yes or No"""
     data = ItemData(itemoid="BRTHDAT", value="12 DEC 1975")
     data.add_attribute("IsSDVRequired", True)
     data.add_attribute("IsSDVComplete", False)
     tested = obj_to_doc(data)
     self.assertEqual(tested.get("mdsol:IsSDVRequired"), "Yes")
     self.assertEqual(tested.get("mdsol:IsSDVComplete"), "No")
 def test_add_to_odm(self):
     """We can add multiple ClinicalData to an ODM"""
     odm = ODM("Some test case")
     odm << ClinicalData("Study1", "Dev")
     odm << ClinicalData("Study1", "Dev")
     tested = obj_to_doc(odm)
     self.assertEqual("ODM", tested.tag)
     self.assertTrue(2, len(list(tested)))
Beispiel #53
0
 def test_modm_bool_attribute(self):
     """A boolean gets mapped to Yes or No"""
     data = ItemData(itemoid="BRTHDAT", value="12 DEC 1975")
     data.add_attribute("IsSDVRequired", True)
     data.add_attribute("IsSDVComplete", False)
     tested = obj_to_doc(data)
     self.assertEqual(tested.get("mdsol:IsSDVRequired"), "Yes")
     self.assertEqual(tested.get("mdsol:IsSDVComplete"), "No")
 def test_add_last_update_time(self):
     """We add a LastUpdateTime"""
     obj = ItemData(itemoid="BRTHDAT", value="12 DEC 1975")
     now = datetime.datetime.utcnow()
     obj.last_update_time = now
     tested = obj_to_doc(obj)
     self.assertEqual("ItemData", tested.tag)
     self.assertEqual(now.isoformat(), tested.get('mdsol:LastUpdateTime'))
 def test_add_last_update_time(self):
     """We add a LastUpdateTime"""
     obj = ItemGroupData(itemgroupoid="DM")
     now = datetime.datetime.utcnow()
     obj.last_update_time = now
     tested = obj_to_doc(obj)
     self.assertEqual("ItemGroupData", tested.tag)
     self.assertEqual(now.isoformat(), tested.get('mdsol:LastUpdateTime'))
 def test_add_milestone(self):
     """We add a single milestone"""
     obj = ItemData(itemoid="BRTHDAT", value="12 DEC 1975")
     obj.add_milestone("Informed Consent")
     tested = obj_to_doc(obj)
     self.assertEqual('Annotation', list(tested)[0].tag)
     annotation = list(tested)[0]
     self.assertEqual('Informed Consent', list(list(annotation)[0])[0].text)
 def test_add_to_odm(self):
     """We can add multiple ClinicalData to an ODM"""
     odm = ODM("Some test case")
     odm << ClinicalData("Study1", "Dev")
     odm << ClinicalData("Study1", "Dev")
     tested = obj_to_doc(odm)
     self.assertEqual("ODM", tested.tag)
     self.assertTrue(2, len(list(tested)))
 def test_add_milestone(self):
     """We add a single milestone"""
     obj = ItemGroupData(itemgroupoid="DM")
     obj.add_milestone("Informed Consent")
     tested = obj_to_doc(obj)
     self.assertEqual('Annotation', list(tested)[0].tag)
     annotation = list(tested)[0]
     self.assertEqual('Informed Consent', list(list(annotation)[0])[0].text)
 def test_happy_path(self):
     """Create a FlagValue object"""
     tested = FlagValue("A Value")
     tested.codelist_oid = "ANOID"
     t = obj_to_doc(tested)
     self.assertEqual("FlagValue", t.tag)
     self.assertEqual("ANOID", t.attrib["CodeListOID"])
     self.assertEqual("A Value", t.text)
 def test_add_milestone(self):
     """We add a single milestone"""
     obj = StudyEventData("VISIT1")
     obj.add_milestone("Informed Consent")
     tested = obj_to_doc(obj)
     self.assertEqual('Annotation', list(tested)[0].tag)
     annotation = list(tested)[0]
     self.assertEqual('Informed Consent', list(list(annotation)[0])[0].text)