示例#1
0
        public void Should_Deserialize_Test01()
        {
            var list = Resource.Deserialize <RegistryObjectList>("Resources.Models.CooperatingRegistryModel_Test01.xml");

            Assert.AreEqual(2, list.Registries.Count);
            OasisAssert.Registry(list.Registries[0],
                                 "urn:xdskit:com:c7ptmx37tfbcwy8ky7a", "urn:xdskit:com:c7ptmx37tfbcwy8ky7b", "3.0",
                                 new TimeSpan(2, 0, 0), new TimeSpan(2, 0, 0, 0), "registryLite");
            Assert.AreEqual(true, list.Registries[0].ReplicationSyncLatencyValueSpecified);
            Assert.AreEqual(true, list.Registries[0].CatalogingLatencyValueSpecified);
            OasisAssert.Registry(list.Registries[1],
                                 "urn:xdskit:com:c7ptmx37tfbcwy8ky7d", "urn:xdskit:com:c7ptmx37tfbcwy8ky7e", "3.0",
                                 new TimeSpan(1, 0, 0, 0), new TimeSpan(1, 0, 0, 0), "registryFull");
            Assert.AreEqual(false, list.Registries[1].ReplicationSyncLatencyValueSpecified);
            Assert.AreEqual(false, list.Registries[1].CatalogingLatencyValueSpecified);

            Assert.AreEqual(2, list.Federations.Count);
            var federation = list.Federations[0];

            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7g", federation.Id ?? "");
            Assert.AreEqual(new TimeSpan(2, 0, 0), federation.ReplicationSyncLatency);
            Assert.AreEqual(true, federation.ReplicationSyncLatencyValueSpecified);
            federation = list.Federations[1];
            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7h", federation.Id ?? "");
            Assert.AreEqual(new TimeSpan(1, 0, 0, 0), federation.ReplicationSyncLatency);
            Assert.AreEqual(false, federation.ReplicationSyncLatencyValueSpecified);

            Assert.AreEqual(2, list.Associations.Count);
            OasisAssert.Association(list.Associations[0], "", AssociationType.HasFederationMember, "urn:xdskit:com:c7ptmx37tfbcwy8ky7g", "urn:xdskit:com:c7ptmx37tfbcwy8ky7a");
            OasisAssert.Association(list.Associations[1], "", AssociationType.HasFederationMember, "urn:xdskit:com:c7ptmx37tfbcwy8ky7g", "urn:xdskit:com:c7ptmx37tfbcwy8ky7d");
        }
示例#2
0
        public void Should_Deserialize_Test03()
        {
            var list = Resource.Deserialize <RegistryObjectList>("Resources.Models.EventModel_Test03.xml");

            Assert.AreEqual(2, list.AuditableEvents.Count);
            var audit = list.AuditableEvents[0];

            OasisAssert.AuditableEvent(audit,
                                       "urn:xdskit:com:c7ptmx37tfbcwy8ky7a",
                                       "urn:oasis:names:tc:ebxml-regrep:EventType:Created",
                                       new DateTime(2015, 08, 31, 6, 49, 22),
                                       "urn:xdskit:com:c7ptmx37tfbcwy8ky7b",
                                       "urn:xdskit:com:c7ptmx37tfbcwy8ky7c");
            Assert.AreEqual(2, audit.AffectedObjects.Count);
            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7n", audit.AffectedObjects[0].Id);
            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7p", audit.AffectedObjects[1].Id);

            audit = list.AuditableEvents[1];
            OasisAssert.AuditableEvent(audit,
                                       "urn:xdskit:com:c7ptmx37tfbcwy8ky7d",
                                       "urn:oasis:names:tc:ebxml-regrep:EventType:Deleted",
                                       new DateTime(2015, 08, 31, 6, 52, 07),
                                       "urn:xdskit:com:c7ptmx37tfbcwy8ky7e",
                                       "urn:xdskit:com:c7ptmx37tfbcwy8ky7f");
            Assert.AreEqual(1, audit.AffectedObjects.Count);
            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7m", audit.AffectedObjects[0].Id);
        }
示例#3
0
        public void Should_Deserialize_Test01()
        {
            var list = Resource.Deserialize <RegistryObjectList>("Resources.Models.EventModel_Test01.xml");

            Assert.AreEqual(1, list.Subscriptions.Count);

            var subscription = list.Subscriptions[0];

            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7m", subscription.Id);
            Assert.AreEqual("urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Subscription", subscription.ObjectType);
            Assert.AreEqual("urn:xdskit:com:query:c7ptmx37tfbcwy8ky7o", subscription.Selector);
            Assert.AreEqual(new DateTime(2015, 1, 1, 9, 0, 0), subscription.StartTime);
            Assert.AreEqual(true, subscription.StartTimeSpecified);
            Assert.AreEqual(DateTime.MinValue, subscription.EndTime);
            Assert.AreEqual(false, subscription.EndTimeSpecified);
            Assert.AreEqual(new TimeSpan(1, 0, 0), subscription.NotificationInterval);

            Assert.AreEqual(2, subscription.NotifyActions.Count);
            OasisAssert.NotifyAction(subscription.NotifyActions[0],
                                     "mailto:[email protected]",
                                     "urn:oasis:names:tc:ebxml-regrep:NotificationOptionType:Objects");
            Assert.AreEqual(true, subscription.NotifyActions[0].NotificationOptionSpecified);
            OasisAssert.NotifyAction(subscription.NotifyActions[1],
                                     "urn:xdskit:com:c7ptmx37tfbcwy8ky7n",
                                     "urn:oasis:names:tc:ebxml-regrep:NotificationOptionType:ObjectRefs");
            Assert.AreEqual(false, subscription.NotifyActions[1].NotificationOptionSpecified);

            Assert.AreEqual(1, list.AdhocQueries.Count);
            var query = list.AdhocQueries[0];

            Assert.AreEqual("urn:xdskit:com:query:c7ptmx37tfbcwy8ky7o", query.Id);
            Assert.AreEqual("urn:oasis:names:tc:ebxml-regrep:QueryLanguage:SQL-92", query.QueryExpression.QueryLanguage);
            Assert.AreEqual("select * from RegistryObjects where id='urn:it:is:1992'", query.QueryExpression.Query.Trim());
        }
示例#4
0
        public void Should_Deserialize_Test01()
        {
            var list = Resource.Deserialize <RegistryObjectList>("Resources.Models.AssociationModel_Test01.xml");

            Assert.AreEqual(1, list.RegistryPackages.Count);
            Assert.AreEqual(2, list.ExtrinsicObjects.Count);
            Assert.AreEqual(2, list.Associations.Count);
            OasisAssert.Association(list.Associations[0], "", AssociationType.HasMember, "urn:xdskit:com:c7ptmx37tfbcwy8ky7m", "urn:xdskit:com:c7ptmx37tfbcwy8ky7n");
            OasisAssert.Association(list.Associations[1], "", AssociationType.HasMember, "urn:xdskit:com:c7ptmx37tfbcwy8ky7m", "urn:xdskit:com:c7ptmx37tfbcwy8ky7p");
        }
示例#5
0
        public void Should_Deserialize_Test01()
        {
            var request = Resource.Deserialize <RegistryRequest>("Resources.Protocols.RegistryRequest_Test01.xml");

            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7a", request.Id);
            Assert.AreEqual("This is a comment", request.Comment);

            Assert.AreEqual(4, request.Slots.Count);
            OasisAssert.Slot(request.Slots[0], "creationTime", "urn:xdskit:com:c7ptmx37tfbcwy8ky7b", new[] { "2015-01-01" });
            OasisAssert.Slot(request.Slots[1], "languageCode", "urn:xdskit:com:c7ptmx37tfbcwy8ky7c", new[] { "en-US", "en-GB", "en-AU" });
            OasisAssert.Slot(request.Slots[2], "serviceStartTime", "", new[] { "2015-01-01T09:00:00" });
            OasisAssert.Slot(request.Slots[3], "serviceStopTime", "", new[] { "2015-01-01T21:00:00" });
        }
        public void Should_Deserialize_Test01()
        {
            var request = Resource.Deserialize <RelocateObjectsRequest>("Resources.Services.RelocateObjectsRequest_Test01.xml");

            OasisAssert.AdhocQuery(request.Query, "urn:xdskit:com:c7ptmx37tfbcwy8ky7b");
            Assert.AreEqual(1, request.Query.Slots.Count);
            OasisAssert.Slot(request.Query.Slots[0], "$XDSDocumentEntryPatientId", "", new[] { "st3498702^^^&1.3.6.1.4.1.21367.2005.3.7&ISO" });

            OasisAssert.ObjectRef(request.SourceRegistry, "urn:xdskit:com:c7ptmx37tfbcwy8ky7c");
            OasisAssert.ObjectRef(request.DestinationRegistry, "urn:xdskit:com:c7ptmx37tfbcwy8ky7d");
            OasisAssert.ObjectRef(request.OwnerAtSource, "urn:xdskit:com:c7ptmx37tfbcwy8ky7e");
            OasisAssert.ObjectRef(request.OwnerAtDestination, "urn:xdskit:com:c7ptmx37tfbcwy8ky7f");
        }
示例#7
0
        public void Should_Deserialize_Test01()
        {
            var request = Resource.Deserialize <AdhocQueryRequest>("Resources.Services.AdhocQueryRequest_Test01.xml");

            OasisAssert.ResponseOption(request.ResponseOption, ReturnType.LeafClass, true);

            OasisAssert.AdhocQuery(request.Query, "urn:xdskit:com:c7ptmx37tfbcwy8ky7a");
            Assert.AreEqual(5, request.Query.Slots.Count);
            OasisAssert.Slot(request.Query.Slots[0], "$XDSDocumentEntryPatientId", "", new[] { "st3498702^^^&1.3.6.1.4.1.21367.2005.3.7&ISO" });
            OasisAssert.Slot(request.Query.Slots[1], "$XDSDocumentEntryStatus", "", new[] { "('urn:oasis:names:tc:ebxml-egrep:ResponseStatusType:Approved')" });
            OasisAssert.Slot(request.Query.Slots[2], "$XDSDocumentEntryCreationTimeFrom", "", new[] { "200412252300" });
            OasisAssert.Slot(request.Query.Slots[3], "$XDSDocumentEntryCreationTimeTo", "", new[] { "200501010800" });
            OasisAssert.Slot(request.Query.Slots[4], "$XDSDocumentEntryHealthcareFacilityTypeCode", "", new[] { "('Emergency Department')" });
        }
        public void Should_Deserialize_Test01()
        {
            var list = Resource.Deserialize <RegistryObjectList>("Resources.Models.ClassificationModel_Test01.xml");

            Assert.AreEqual(1, list.ClassificationSchemes.Count);
            var scheme = list.ClassificationSchemes[0];

            Assert.AreEqual("urn:xdskit:com:classificationScheme:CustomerType", scheme.Id);
            Assert.AreEqual("urn:xdskit:com:classificationScheme:CustomerType", scheme.LocalId);
            Assert.AreEqual(true, scheme.IsInternal);
            Assert.AreEqual("urn:oasis:names:tc:ebxml-regrep:NodeType:UniqueCode", scheme.NodeType);
            Assert.AreEqual("CustomerType", scheme.Name.GetValue());
            Assert.AreEqual("CustomerType", scheme.Name.GetValue("en-US"));
            Assert.AreEqual("This is the ClassificationScheme for XdsKit customer types", scheme.Description.GetValue());
            Assert.AreEqual("This is the ClassificationScheme for XdsKit customer types", scheme.Description.GetValue("en-US"));
            Assert.AreEqual(5, scheme.Nodes.Count);
            OasisAssert.ClassificationNode(scheme.Nodes[0],
                                           "urn:xdskit:com:classificationScheme:CustomerType:NoviceCustomer",
                                           "urn:xdskit:com:classificationScheme:CustomerType:NoviceCustomer",
                                           "NoviceCustomer", "NoviceCustomer", "This is customer is an XdsKit beginner.");
            OasisAssert.ClassificationNode(scheme.Nodes[1],
                                           "urn:xdskit:com:classificationScheme:CustomerType:CompetentCustomer",
                                           "urn:xdskit:com:classificationScheme:CustomerType:CompetentCustomer",
                                           "CompetentCustomer", "CompetentCustomer", "This is customer is competent with XdsKit.");
            OasisAssert.ClassificationNode(scheme.Nodes[2],
                                           "urn:xdskit:com:classificationScheme:CustomerType:ProficientCustomer",
                                           "urn:xdskit:com:classificationScheme:CustomerType:ProficientCustomer",
                                           "ProficientCustomer", "ProficientCustomer", "This is customer is proficient in all things XdsKit.");
            OasisAssert.ClassificationNode(scheme.Nodes[3],
                                           "urn:xdskit:com:classificationScheme:CustomerType:ExpertCustomer",
                                           "urn:xdskit:com:classificationScheme:CustomerType:ExpertCustomer",
                                           "ExpertCustomer", "ExpertCustomer", "This is customer is an XdsKit expert.");
            OasisAssert.ClassificationNode(scheme.Nodes[4],
                                           "urn:xdskit:com:classificationScheme:CustomerType:Partner",
                                           "urn:xdskit:com:classificationScheme:CustomerType:Partner",
                                           "Partner", "Partner", "This is customer is one of our XdsKit partners.");


            Assert.AreEqual(4, list.Classifications.Count);
            OasisAssert.Classification(list.Classifications[0],
                                       "urn:xdskit:com:classificationScheme:CustomerType", "urn:xdskit:com:c7ptmx37tfbcwy8ky7n", "urn:xdskit:com:classificationScheme:CustomerType:NoviceCustomer", null);
            OasisAssert.Classification(list.Classifications[1],
                                       "urn:xdskit:com:classificationScheme:CustomerType", "urn:xdskit:com:c7ptmx37tfbcwy8ky7o", "urn:xdskit:com:classificationScheme:CustomerType:Partner", null);
            OasisAssert.Classification(list.Classifications[2],
                                       "urn:xdskit:com:classificationScheme:CustomerType", "urn:xdskit:com:c7ptmx37tfbcwy8ky7p", "urn:xdskit:com:classificationScheme:CustomerType:ExpertCustomer", null);
            OasisAssert.Classification(list.Classifications[3],
                                       "urn:xdskit:com:classificationScheme:PartnerRegion", "urn:xdskit:com:c7ptmx37tfbcwy8ky7o", null, "Northeast");
        }
        public void Should_Deserialize_Test01()
        {
            var request =
                Resource.Deserialize <UpdateObjectsRequest>("Resources.Services.UpdateObjectsRequest_Test01.xml");

            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7a", request.Id);
            Assert.AreEqual("This is a comment", request.Comment);

            Assert.AreEqual(1, request.RegistryObjects.ExtrinsicObjects.Count);

            var document = request.RegistryObjects.ExtrinsicObjects[0];

            OasisAssert.ExtrinsicObject(document,
                                        "urn:xdskit:com:Document:c7ptmx37tfbcwy8ky7b", "text/xml", "urn:xdskit:com:c7ptmx37tfbcwy8ky7c", false);
            Assert.AreEqual(4, document.Slots.Count);
            OasisAssert.Slot(document.Slots[0], "creationTime", "", new[] { "20051224" });
            OasisAssert.Slot(document.Slots[1], "languageCode", "", new[] { "en-us" });
            OasisAssert.Slot(document.Slots[2], "serviceStartTime", "", new[] { "200412230800" });
            OasisAssert.Slot(document.Slots[3], "serviceStopTime", "", new[] { "200412230801" });

            Assert.AreEqual(2, request.RegistryObjects.RegistryPackages.Count);
            var package = request.RegistryObjects.RegistryPackages[0];

            OasisAssert.RegistryPackage(package, "urn:xdskit:com:SubmissionSet:c7ptmx37tfbcwy8ky7d", "Progress Note",
                                        "Progress Note for 8/1/2015");
            Assert.AreEqual(1, package.Slots.Count);
            OasisAssert.Slot(package.Slots[0], "submissionTime", "", new[] { "20041225235050" });
            Assert.AreEqual(1, package.ExternalIdentifiers.Count);
            OasisAssert.ExternalIdentifier(package.ExternalIdentifiers[0], "urn:xdskit:com:c7ptmx37tfbcwy8ky7e",
                                           "urn:xdskit:com:c7ptmx37tfbcwy8ky7f", "urn:xdskit:com:SubmissionSet:c7ptmx37tfbcwy8ky7d", "T-77012382",
                                           "XDSSubmissionSet.patientId", "");

            package = request.RegistryObjects.RegistryPackages[1];
            OasisAssert.RegistryPackage(package, "urn:xdskit:com:Folder:c7ptmx37tfbcwy8ky7g", "Progress Notes", "");

            Assert.AreEqual(3, request.RegistryObjects.Associations.Count);
            OasisAssert.Association(request.RegistryObjects.Associations[0],
                                    "urn:xdskit:com:c7ptmx37tfbcwy8ky7h", AssociationType.HasMember,
                                    "urn:xdskit:com:SubmissionSet:c7ptmx37tfbcwy8ky7d", "urn:xdskit:com:Folder:c7ptmx37tfbcwy8ky7g");
            OasisAssert.Association(request.RegistryObjects.Associations[1],
                                    "urn:xdskit:com:c7ptmx37tfbcwy8ky7i", AssociationType.HasMember,
                                    "urn:xdskit:com:Folder:c7ptmx37tfbcwy8ky7g", "urn:xdskit:com:Document:c7ptmx37tfbcwy8ky7b");
            OasisAssert.Association(request.RegistryObjects.Associations[2],
                                    "urn:xdskit:com:c7ptmx37tfbcwy8ky7j", AssociationType.HasMember,
                                    "urn:xdskit:com:SubmissionSet:c7ptmx37tfbcwy8ky7d", "urn:xdskit:com:Document:c7ptmx37tfbcwy8ky7b");
        }
示例#10
0
        public void Should_Deserialize_Test01()
        {
            var list = Resource.Deserialize <RegistryObjectList>("Resources.Models.ServiceModel_Test01.xml");

            Assert.AreEqual(1, list.Services.Count);
            var service = list.Services[0];

            Assert.AreEqual(1, service.ServiceBindings.Count);
            var binding = service.ServiceBindings[0];

            OasisAssert.Binding(binding, "urn:xdskit:com:c7ptmx37tfbcwy8ky7o",
                                "Find Resource Service binding (prod environment)", "Production environment binding for the Catalog's Find Resource service",
                                "https://services.xdskit.com/catalog/findResource", "urn:xdskit:com:CatalogService:findResource");

            OasisAssert.SpecificationLink(binding.SpecificationLinks[0],
                                          "urn:xdskit:com:c7ptmx37tfbcwy8ky7p", "urn:xdskit:com:c7ptmx37tfbcwy8ky7o",
                                          "urn:xdskit:com:Documentation:CatalogService:findResource",
                                          "The find resources service has 2 parameters: ResourceType and Id",
                                          new[]
            {
                "ResourceType. DataType: referenceUri. The type of resource within the Catalog",
                "Id. DataType: anyUri. The ID of the resource to locate."
            });

            Assert.AreEqual(1, list.ServiceBindings.Count);
            binding = list.ServiceBindings[0];
            OasisAssert.Binding(binding, "urn:xdskit:com:c7ptmx37tfbcwy8ky7m",
                                "Find Resource Service binding (test environment)", "Test environment binding for the Catalog's Find Resource service",
                                "https://test-services.xdskit.com/catalog/findResource", "urn:xdskit:com:CatalogService:findResource");

            OasisAssert.SpecificationLink(binding.SpecificationLinks[0],
                                          "urn:xdskit:com:c7ptmx37tfbcwy8ky7n", "urn:xdskit:com:c7ptmx37tfbcwy8ky7m",
                                          "urn:xdskit:com:Documentation:CatalogService:findResource",
                                          "The find resources service has 2 parameters: ResourceType and Id",
                                          new[]
            {
                "ResourceType. DataType: referenceUri. The type of resource within the Catalog",
                "Id. DataType: anyUri. The ID of the resource to locate."
            });
        }
示例#11
0
        public void Should_Deserialize_Test01()
        {
            var list = Resource.Deserialize <RegistryObjectList>("Resources.Models.CoreModel_Test01.xml");

            Assert.AreEqual(2, list.RegistryPackages.Count);

            var package = list.RegistryPackages[0];

            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7m", package.Id);
            Assert.AreEqual("urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:RegistryPackage", package.ObjectType);
            Assert.AreEqual(2, package.RegistryObjects.ExtrinsicObjects.Count);
            OasisAssert.ExtrinsicObject(
                package.RegistryObjects.ExtrinsicObjects[0],
                "urn:xdskit:com:c7ptmx37tfbcwy8ky7n", "text/plain", "urn:xdskit:com:c7ptmx37tfbcwy8ky7o", true);
            OasisAssert.ExtrinsicObject(
                package.RegistryObjects.ExtrinsicObjects[1],
                "urn:xdskit:com:c7ptmx37tfbcwy8ky7p", "application/pdf", "urn:xdskit:com:c7ptmx37tfbcwy8ky7o", false);

            Assert.AreEqual(2, package.ExternalIdentifiers.Count);
            OasisAssert.ExternalIdentifier(
                package.ExternalIdentifiers[0],
                "urn:xdskit:com:c7ptmx37tfbcwy8ky7q", "urn:xdskit:com:documents:localid", "urn:xdskit:com:c7ptmx37tfbcwy8ky7n", "1", "", "");
            OasisAssert.ExternalIdentifier(
                package.ExternalIdentifiers[1],
                "urn:xdskit:com:c7ptmx37tfbcwy8ky7r", "urn:xdskit:com:documents:localid", "urn:xdskit:com:c7ptmx37tfbcwy8ky7p", "2", "", "");

            package = list.RegistryPackages[1];
            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7s", package.Id);
            Assert.AreEqual("urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:RegistryPackage", package.ObjectType);
            Assert.AreEqual(1, package.RegistryObjects.ExtrinsicObjects.Count);
            OasisAssert.ExtrinsicObject(
                package.RegistryObjects.ExtrinsicObjects[0],
                "urn:xdskit:com:c7ptmx37tfbcwy8ky7t", "text/xml", "urn:xdskit:com:c7ptmx37tfbcwy8ky7o", false);

            Assert.AreEqual(1, package.ExternalIdentifiers.Count);
            OasisAssert.ExternalIdentifier(
                package.ExternalIdentifiers[0],
                "urn:xdskit:com:c7ptmx37tfbcwy8ky7w", "urn:xdskit:com:documents:localid", "urn:xdskit:com:c7ptmx37tfbcwy8ky7t", "3", "", "");
        }
示例#12
0
        public void Should_Deserialize_Test01()
        {
            var list = Resource.Deserialize <RegistryObjectList>("Resources.Models.ProvenanceModel_Test01.xml");

            Assert.AreEqual(1, list.Organizations.Count);

            var org = list.Organizations[0];

            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7n", org.Id);
            Assert.AreEqual("https://services.xdskit.com/organizations", org.Home);
            Assert.AreEqual(0, org.Slots.Count);
            Assert.NotNull(org.Name);
            Assert.AreEqual("XdsKit, Inc.", org.Name.GetValue("en-US"));
            Assert.AreEqual("XdsKit, Inc.", org.Name.GetValue());
            Assert.NotNull(org.Description);
            Assert.AreEqual("Main XdsKit organization record", org.Description.GetValue("en-US"));
            Assert.AreEqual("Main XdsKit organization record", org.Description.GetValue());
            Assert.IsNull(org.VersionInfo);
            Assert.AreEqual(0, org.Classifications.Count);
            Assert.AreEqual(0, org.ExternalIdentifiers.Count);
            Assert.IsNullOrEmpty(org.LocalId);
            Assert.IsNullOrEmpty(org.ObjectType);
            Assert.IsNullOrEmpty(org.Status);
            Assert.IsNullOrEmpty(org.Parent);
            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7m", org.PrimaryContact);
            Assert.AreEqual(2, org.Addresses.Count);
            OasisAssert.PostalAddress(org.Addresses[0], "123", "Sesame St", "New York", "NY", "10212", "US");
            OasisAssert.PostalAddress(org.Addresses[1], "400", "Principal Way", "Philadelphia", "PA", "19101", "US");

            Assert.AreEqual(3, org.TelephoneNumbers.Count);
            OasisAssert.Telephone(org.TelephoneNumbers[0], "1", "513", "555-1212", "", "Home");
            OasisAssert.Telephone(org.TelephoneNumbers[1], "44", "212", "555-3000", "2010", "Work");
            OasisAssert.Telephone(org.TelephoneNumbers[2], "2", "212", "555-8080", "30", "Fax");

            Assert.AreEqual(1, org.EmailAddresses.Count);
            OasisAssert.Email(org.EmailAddresses[0], "*****@*****.**", "Company");

            Assert.AreEqual(1, list.Persons.Count);
            var person = list.Persons[0];

            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7m", person.Id);
            Assert.AreEqual("https://services.xdskit.com/person", person.Home);
            Assert.AreEqual(0, person.Slots.Count);
            Assert.NotNull(person.Name);
            Assert.AreEqual("Michael Haboustak", person.Name.GetValue("en-AU"));
            Assert.AreEqual(null, person.Name.GetValue());
            Assert.NotNull(person.Description);
            Assert.AreEqual("This object represents an ebRIM person", person.Description.GetValue("en-GB"));
            Assert.AreEqual(null, person.Description.GetValue());
            Assert.IsNull(person.VersionInfo);
            Assert.AreEqual(0, person.Classifications.Count);
            Assert.AreEqual(0, person.ExternalIdentifiers.Count);
            Assert.IsNullOrEmpty(person.LocalId);
            Assert.IsNullOrEmpty(person.ObjectType);
            Assert.IsNullOrEmpty(person.Status);
            Assert.AreEqual("Michael", person.PersonName.FirstName);
            Assert.AreEqual("M", person.PersonName.MiddleName);
            Assert.AreEqual("Haboustak", person.PersonName.LastName);

            Assert.AreEqual(2, person.Addresses.Count);
            OasisAssert.PostalAddress(person.Addresses[0], "123", "Sesame St", "New York", "NY", "10212", "US");
            OasisAssert.PostalAddress(person.Addresses[1], "400", "Principal Way", "Philadelphia", "PA", "19101", "US");

            Assert.AreEqual(3, person.TelephoneNumbers.Count);
            OasisAssert.Telephone(person.TelephoneNumbers[0], "1", "513", "555-1212", "1040", "Home");
            OasisAssert.Telephone(person.TelephoneNumbers[1], "44", "212", "555-3000", "2010", "Work");
            OasisAssert.Telephone(person.TelephoneNumbers[2], "2", "212", "555-8080", "30", "Fax");

            Assert.AreEqual(1, list.Users.Count);

            var user = list.Users[0];

            Assert.AreEqual("urn:xdskit:com:c7ptmx37tfbcwy8ky7p", user.Id);
            Assert.AreEqual("https://services.xdskit.com/user", user.Home);
            Assert.AreEqual(0, user.Slots.Count);
            Assert.NotNull(user.Name);
            Assert.AreEqual("Mike Haboustak", user.Name.GetValue("en-US"));
            Assert.AreEqual("Mike Haboustak", user.Name.GetValue());
            Assert.NotNull(user.Description);
            Assert.AreEqual("This object represents an ebRIM user", user.Description.GetValue("en-US"));
            Assert.AreEqual("This object represents an ebRIM user", user.Description.GetValue());
            Assert.IsNull(user.VersionInfo);
            Assert.AreEqual(0, user.Classifications.Count);
            Assert.AreEqual(0, user.ExternalIdentifiers.Count);
            Assert.IsNull(user.LocalId);
            Assert.IsNull(user.ObjectType);
            Assert.IsNull(user.Status);
            Assert.AreEqual("Mike", user.PersonName.FirstName);
            Assert.AreEqual("M", user.PersonName.MiddleName);
            Assert.AreEqual("Haboustak", user.PersonName.LastName);

            Assert.AreEqual(2, user.Addresses.Count);
            OasisAssert.PostalAddress(user.Addresses[0], "123", "Sesame St", "New York", "NY", "10212", "US");
            OasisAssert.PostalAddress(user.Addresses[1], "400", "Principal Way", "Philadelphia", "PA", "19101", "US");

            Assert.AreEqual(3, user.TelephoneNumbers.Count);
            OasisAssert.Telephone(user.TelephoneNumbers[0], "1", "513", "555-1212", "1040", "Home");
            OasisAssert.Telephone(user.TelephoneNumbers[1], "44", "212", "555-3000", "2010", "Work");
            OasisAssert.Telephone(user.TelephoneNumbers[2], "2", "212", "555-8080", "30", "Fax");

            Assert.AreEqual(2, list.Associations.Count);
            OasisAssert.Association(list.Associations[0], "urn:xdskit:com:c7ptmx37tfbcwy8ky7o",
                                    AssociationType.AffiliatedWith,
                                    list.Persons[0].Id, list.Organizations[0].Id);
            OasisAssert.Association(list.Associations[1], "urn:xdskit:com:c7ptmx37tfbcwy8ky7q",
                                    AssociationType.AffiliatedWith,
                                    list.Users[0].Id, list.Organizations[0].Id);
        }