public void ToDelimitedString_WithAllProperties_ReturnsCorrectlySequencedFields()
        {
            ISegment hl7Segment = new NscSegment
            {
                ApplicationChangeType = new CodedWithExceptions
                {
                    Identifier = "1"
                },
                CurrentCpu         = "2",
                CurrentFileserver  = "3",
                CurrentApplication = new HierarchicDesignator
                {
                    NamespaceId = "4"
                },
                CurrentFacility = new HierarchicDesignator
                {
                    NamespaceId = "5"
                },
                NewCpu         = "6",
                NewFileserver  = "7",
                NewApplication = new HierarchicDesignator
                {
                    NamespaceId = "8"
                },
                NewFacility = new HierarchicDesignator
                {
                    NamespaceId = "9"
                }
            };

            string expected = "NSC|1|2|3|4|5|6|7|8|9";
            string actual   = hl7Segment.ToDelimitedString();

            Assert.Equal(expected, actual);
        }
 public void FromDelimitedString_WithIncorrectSegmentId_ThrowsArgumentException()
 {
     Assert.Throws <ArgumentException>(() =>
     {
         ISegment hl7Segment = new NscSegment();
         hl7Segment.FromDelimitedString("NSA|^~&|3|4|5|6");
     });
 }
        public void FromDelimitedString_WithAllProperties_ReturnsCorrectlyInitializedFields()
        {
            ISegment expected = new NscSegment
            {
                ApplicationChangeType = new CodedWithExceptions
                {
                    Identifier = "1"
                },
                CurrentCpu         = "2",
                CurrentFileserver  = "3",
                CurrentApplication = new HierarchicDesignator
                {
                    NamespaceId = "4"
                },
                CurrentFacility = new HierarchicDesignator
                {
                    NamespaceId = "5"
                },
                NewCpu         = "6",
                NewFileserver  = "7",
                NewApplication = new HierarchicDesignator
                {
                    NamespaceId = "8"
                },
                NewFacility = new HierarchicDesignator
                {
                    NamespaceId = "9"
                }
            };

            ISegment actual = new NscSegment();

            actual.FromDelimitedString("NSC|1|2|3|4|5|6|7|8|9");

            expected.Should().BeEquivalentTo(actual);
        }