public void item_group_data_builder_can_remove_all_empty_itemdata_nodes() { var RegistrationData = new ODMBuilder() .WithClinicalData("TEST STUDY OID", cd => cd.WithSubjectData("10000", "101", sd => sd.WithTransactionType(TransactionType.Insert) .AddStudyEventData("SCREEN", 1, sed => sed.WithTransactionType(TransactionType.Update) //DM (Demographics form) .AddFormData("DM", 1, fd => fd.WithTransactionType(TransactionType.Update).AddItemGroupData("DM", igd => igd.WithTransactionType(TransactionType.Update) // DM form fields .AddItemData("BRTHDAT", DateTime.Now.ToString("dd MMM yyyy"), id => id.WithTransactionType(TransactionType.Update)) .AddItemData("SUBJECTINIT", "MK", id => id.WithTransactionType(TransactionType.Update)) .AddItemData("SEX", "2", id => id.WithTransactionType(TransactionType.Update)) .AddItemData("ETHNIC", "2", id => id.WithTransactionType(TransactionType.Update)) .AddItemData("RACE", "", id => id.WithTransactionType(TransactionType.Update)).RemoveEmptyNodes())) ))); Assert.IsTrue(RegistrationData.Build().ClinicalData.First().SubjectData.First().StudyEventData.First().FormData.First().ItemGroupData.First().Items.Count == 4); }
public void ODMBuilder_does_not_serialize_ItemGroupRepeatKey_if_not_supplied() { var b1 = new ODMBuilder().WithClinicalData("TESTOID", cd => cd.WithSubjectData("SUBJECT", "1", sdb => sdb.AddStudyEventData("TEST", seb => seb.AddFormData("FORMOID", fd => fd.AddItemGroupData("ITEMGROUP", igd => igd.Build()))))); var b2 = new ODMBuilder().WithClinicalData("TESTOID", cd => cd.WithSubjectData("SUBJECT", "1", sdb => sdb.AddStudyEventData("TEST", seb => seb.AddFormData("FORMOID", fd => fd.AddItemGroupData("ITEMGROUP", "1", igd => igd.Build()))))); var nokey = b1.AsXDocument() .Descendants(XNamespace.Get(Constants.ODM_NS) + "ItemGroupData") .First() .Attribute("ItemGroupRepeatKey"); Assert.IsNull(nokey); var haskey = b2.AsXDocument() .Descendants(XNamespace.Get(Constants.ODM_NS) + "ItemGroupData") .First() .Attribute("ItemGroupRepeatKey"); Assert.IsNotNull(haskey); }
public void clinical_data_is_not_added_twice_for_same_study_OID() { var odm = new ODMBuilder() .WithClinicalData("TestStudyOID", cdb => cdb.Build()) .WithClinicalData("TestStudyOID", cdb => cdb.Build()).Build(); Assert.IsTrue(odm.ClinicalData.Count == 1); }
public void ODMBuilder_adds_xmlns_mdsol_attribute_to_ODM_node_in_XML() { var registrationXml = new ODMBuilder().WithClinicalData("ClinicalTest", cd => cd.WithSubjectData("1", "101", sd => sd.WithTransactionType(TransactionType.Insert))).AsXMLString(); const string xml = @"xmlns:mdsol=""http://www.mdsol.com/ns/odm/metadata"""; Assert.IsTrue(registrationXml.Contains(xml)); }
public void ODMBuilder_AsXMLString_creates_valid_ClinicalData_node() { var registrationXml = new ODMBuilder().WithClinicalData("ClinicalTest", cd => cd.WithSubjectData("1", "101", sd => sd.WithTransactionType(TransactionType.Insert))).AsXMLString(); const string xml = @"<ClinicalData StudyOID=""ClinicalTest"""; Assert.IsTrue(registrationXml.Contains(xml)); }
/// <summary> /// Parse a string representation of a RWS XML Response. /// </summary> /// <param name="xmlString"></param> /// <returns>XmlElement</returns> public static XDocument GetXDocumentFromString(string xmlString) { xmlString = RemoveInvalidXmlChars(xmlString); XDocument xmlDoc = new XDocument(); if (string.IsNullOrEmpty(xmlString)) { xmlString = new ODMBuilder().AsXMLString(); xmlDoc = XDocument.Parse(xmlString); } using (XmlReader reader = XmlReader.Create(new StringReader(xmlString), new XmlReaderSettings { CheckCharacters = false })) { while (reader.Read()) { xmlDoc = XDocument.Load(reader); } } return(xmlDoc); }
public void FindClinicalDataWithStudyOID_method_returns_clinical_data_node_if_exists() { var odm = new ODMBuilder().WithClinicalData("TestStudyOID", cdb => cdb.Build()).Build(); Assert.IsNotNull(odm.FindClinicalDataWithStudyOID("TestStudyOID")); }
public void default_odm_version_is_1_dot_3() { var builder = new ODMBuilder(); Assert.IsTrue(builder.Build().ODMVersion == ODMVersion.Item13); }