public void Test_Serialize_UInt64()
        {
            var serializer = new TypeSerializer(new ManualByteConverter());
            UInt64 data = 9;

            var expected = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09 };
            var actual = serializer.Serialize(data);

            Assert.AreEqual(expected, actual);
        }
        public void Test_Timed_Execution()
        {
            var converter = new AutoByteConverter();
            var serializer = new TypeSerializer(converter);
            var vbucket = GetVBucket();
            int n = 1000; //set to a higher # if needed

            using (new OperationTimer())
            {
                var key = string.Format("key{0}", 111);
                var set = new Set<int>(key, 111, vbucket, converter);
                var get = new Get<int>(key, vbucket, converter, serializer);

                for (var i = 0; i < n; i++)
                {
                    var result = IOStrategy.Execute(set);
                    Assert.IsTrue(result.Success);

                    var result1 = IOStrategy.Execute(get);
                    Assert.IsTrue(result1.Success);
                    Assert.AreEqual(111, result1.Value);
                }
            }
        }
        public void Test_Timed_Execution_Parallel()
        {
            var options = new ParallelOptions { MaxDegreeOfParallelism = 4 };
            var converter = new AutoByteConverter();
            var serializer = new TypeSerializer(converter);
            var vbucket = GetVBucket();
            var n = 1000;//set to a higher # if needed

            using (new OperationTimer())
            {
                Parallel.For(0, n, options, i =>
                {
                    var key = string.Format("key{0}", i);
                    var set = new Set<int>(key, i, vbucket, converter);
                    var result = IOStrategy.Execute(set);
                    Assert.IsTrue(result.Success);
  
                    var get = new Get<int>(key, vbucket, converter, serializer);
                    var result1 = IOStrategy.Execute(get);
                    Assert.IsTrue(result1.Success); 
                    Assert.AreEqual(i, result1.Value);
                });
            }
        }
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SetIdCm0                = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableUInt() : null;
            SponsorStudyId          = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[2], false, seps) : null;
            AlternateStudyId        = segments.Length > 3 && segments[3].Length > 0 ? segments[3].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <EntityIdentifier>(x, false, seps)) : null;
            TitleOfStudy            = segments.Length > 4 && segments[4].Length > 0 ? segments[4] : null;
            ChairmanOfStudy         = segments.Length > 5 && segments[5].Length > 0 ? segments[5].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(x, false, seps)) : null;
            LastIrbApprovalDate     = segments.Length > 6 && segments[6].Length > 0 ? segments[6].ToNullableDateTime() : null;
            TotalAccrualToDate      = segments.Length > 7 && segments[7].Length > 0 ? segments[7].ToNullableDecimal() : null;
            LastAccrualDate         = segments.Length > 8 && segments[8].Length > 0 ? segments[8].ToNullableDateTime() : null;
            ContactForStudy         = segments.Length > 9 && segments[9].Length > 0 ? segments[9].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(x, false, seps)) : null;
            ContactsTelephoneNumber = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(segments[10], false, seps) : null;
            ContactsAddress         = segments.Length > 11 && segments[11].Length > 0 ? segments[11].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedAddress>(x, false, seps)) : null;
        }
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SetIdAl1         = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableUInt() : null;
            AllergenTypeCode = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[2], false, seps) : null;
            AllergenCodeMnemonicDescription = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[3], false, seps) : null;
            AllergySeverityCode             = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[4], false, seps) : null;
            AllergyReactionCode             = segments.Length > 5 && segments[5].Length > 0 ? segments[5].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            IdentificationDate = segments.Length > 6 && segments[6].Length > 0 ? segments[6].ToNullableDateTime() : null;
        }
Beispiel #6
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            NotificationReferenceNumber = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableDecimal() : null;
            NotificationDateTime        = segments.Length > 2 && segments[2].Length > 0 ? segments[2].ToNullableDateTime() : null;
            NotificationAlertSeverity   = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[3], false, seps) : null;
            NotificationCode            = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[4], false, seps) : null;
        }
 public static string ToSafeJson <T>(this T obj)
 {
     return(TypeSerializer.HasCircularReferences(obj)
         ? obj.ToSafePartialObjectDictionary().ToJson()
         : obj.ToJson());
 }
 public static T FromJsv <T>(this string jsv)
 {
     return(TypeSerializer.DeserializeFromString <T>(jsv));
 }
        public void Test_Poco()
        {
            var serializer = new TypeSerializer(new ManualByteConverter());
            var value = new Person {Name = "jeff"};
            var bytes = serializer.Serialize(value);

            var actual = serializer.Deserialize<Person>(new ArraySegment<byte>(bytes), 0, bytes.Length);

            Assert.AreEqual(value.Name, actual.Name);
        }
Beispiel #10
0
        public void Can_serializer_UserPublicView()
        {
            var dto = TypeSerializer.DeserializeFromString <UserPublicView>(UserViewString);

            Serialize(dto);
        }
Beispiel #11
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            CommandResponse           = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[1], false, seps) : null;
            DateTimeCompleted         = segments.Length > 2 && segments[2].Length > 0 ? segments[2].ToNullableDateTime() : null;
            CommandResponseParameters = segments.Length > 3 && segments[3].Length > 0 ? segments[3].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
        }
Beispiel #12
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            ItemIdentifier  = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[1], false, seps) : null;
            ItemDescription = segments.Length > 2 && segments[2].Length > 0 ? segments[2] : null;
            ItemStatus      = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[3], false, seps) : null;
            ItemType        = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[4], false, seps) : null;
            ItemCategory    = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[5], false, seps) : null;
            SubjectToExpirationIndicator          = segments.Length > 6 && segments[6].Length > 0 ? TypeSerializer.Deserialize <CodedWithNoExceptions>(segments[6], false, seps) : null;
            ManufacturerIdentifier                = segments.Length > 7 && segments[7].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[7], false, seps) : null;
            ManufacturerName                      = segments.Length > 8 && segments[8].Length > 0 ? segments[8] : null;
            ManufacturerCatalogNumber             = segments.Length > 9 && segments[9].Length > 0 ? segments[9] : null;
            ManufacturerLabelerIdentificationCode = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[10], false, seps) : null;
            PatientChargeableIndicator            = segments.Length > 11 && segments[11].Length > 0 ? TypeSerializer.Deserialize <CodedWithNoExceptions>(segments[11], false, seps) : null;
            TransactionCode           = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[12], false, seps) : null;
            TransactionAmountUnit     = segments.Length > 13 && segments[13].Length > 0 ? TypeSerializer.Deserialize <CompositePrice>(segments[13], false, seps) : null;
            StockedItemIndicator      = segments.Length > 14 && segments[14].Length > 0 ? TypeSerializer.Deserialize <CodedWithNoExceptions>(segments[14], false, seps) : null;
            SupplyRiskCodes           = segments.Length > 15 && segments[15].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[15], false, seps) : null;
            ApprovingRegulatoryAgency = segments.Length > 16 && segments[16].Length > 0 ? segments[16].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeNameAndIdNumberForOrganizations>(x, false, seps)) : null;
            LatexIndicator            = segments.Length > 17 && segments[17].Length > 0 ? TypeSerializer.Deserialize <CodedWithNoExceptions>(segments[17], false, seps) : null;
            RulingAct = segments.Length > 18 && segments[18].Length > 0 ? segments[18].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            ItemNaturalAccountCode        = segments.Length > 19 && segments[19].Length > 0 ? segments[19] : null;
            ApprovedToBuyQuantity         = segments.Length > 20 && segments[20].Length > 0 ? segments[20].ToNullableDecimal() : null;
            ApprovedToBuyPrice            = segments.Length > 21 && segments[21].Length > 0 ? TypeSerializer.Deserialize <Money>(segments[21], false, seps) : null;
            TaxableItemIndicator          = segments.Length > 22 && segments[22].Length > 0 ? TypeSerializer.Deserialize <CodedWithNoExceptions>(segments[22], false, seps) : null;
            FreightChargeIndicator        = segments.Length > 23 && segments[23].Length > 0 ? TypeSerializer.Deserialize <CodedWithNoExceptions>(segments[23], false, seps) : null;
            ItemSetIndicator              = segments.Length > 24 && segments[24].Length > 0 ? TypeSerializer.Deserialize <CodedWithNoExceptions>(segments[24], false, seps) : null;
            ItemSetIdentifier             = segments.Length > 25 && segments[25].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[25], false, seps) : null;
            TrackDepartmentUsageIndicator = segments.Length > 26 && segments[26].Length > 0 ? TypeSerializer.Deserialize <CodedWithNoExceptions>(segments[26], false, seps) : null;
            ProcedureCode         = segments.Length > 27 && segments[27].Length > 0 ? TypeSerializer.Deserialize <CodedWithNoExceptions>(segments[27], false, seps) : null;
            ProcedureCodeModifier = segments.Length > 28 && segments[28].Length > 0 ? segments[28].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithNoExceptions>(x, false, seps)) : null;
            SpecialHandlingCode   = segments.Length > 29 && segments[29].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[29], false, seps) : null;
        }
Beispiel #13
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            ProviderProductServiceSectionNumber = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[1], false, seps) : null;
            PayerProductServiceSectionNumber    = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[2], false, seps) : null;
            ProductServiceSectionSequenceNumber = segments.Length > 3 && segments[3].Length > 0 ? segments[3].ToNullableUInt() : null;
            BilledAmount = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CompositePrice>(segments[4], false, seps) : null;
            SectionDescriptionOrHeading = segments.Length > 5 && segments[5].Length > 0 ? segments[5] : null;
        }
Beispiel #14
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SetIdSpm                   = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableUInt() : null;
            SpecimenId                 = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifierPair>(segments[2], false, seps) : null;
            SpecimenParentIds          = segments.Length > 3 && segments[3].Length > 0 ? segments[3].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <EntityIdentifierPair>(x, false, seps)) : null;
            SpecimenType               = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[4], false, seps) : null;
            SpecimenTypeModifier       = segments.Length > 5 && segments[5].Length > 0 ? segments[5].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            SpecimenAdditives          = segments.Length > 6 && segments[6].Length > 0 ? segments[6].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            SpecimenCollectionMethod   = segments.Length > 7 && segments[7].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[7], false, seps) : null;
            SpecimenSourceSite         = segments.Length > 8 && segments[8].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[8], false, seps) : null;
            SpecimenSourceSiteModifier = segments.Length > 9 && segments[9].Length > 0 ? segments[9].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            SpecimenCollectionSite     = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[10], false, seps) : null;
            SpecimenRole               = segments.Length > 11 && segments[11].Length > 0 ? segments[11].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            SpecimenCollectionAmount   = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <CompositeQuantityWithUnits>(segments[12], false, seps) : null;
            GroupedSpecimenCount       = segments.Length > 13 && segments[13].Length > 0 ? segments[13].ToNullableDecimal() : null;
            SpecimenDescription        = segments.Length > 14 && segments[14].Length > 0 ? segments[14].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            SpecimenHandlingCode       = segments.Length > 15 && segments[15].Length > 0 ? segments[15].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            SpecimenRiskCode           = segments.Length > 16 && segments[16].Length > 0 ? segments[16].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            SpecimenCollectionDateTime = segments.Length > 17 && segments[17].Length > 0 ? TypeSerializer.Deserialize <DateTimeRange>(segments[17], false, seps) : null;
            SpecimenReceivedDateTime   = segments.Length > 18 && segments[18].Length > 0 ? segments[18].ToNullableDateTime() : null;
            SpecimenExpirationDateTime = segments.Length > 19 && segments[19].Length > 0 ? segments[19].ToNullableDateTime() : null;
            SpecimenAvailability       = segments.Length > 20 && segments[20].Length > 0 ? segments[20] : null;
            SpecimenRejectReason       = segments.Length > 21 && segments[21].Length > 0 ? segments[21].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            SpecimenQuality            = segments.Length > 22 && segments[22].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[22], false, seps) : null;
            SpecimenAppropriateness    = segments.Length > 23 && segments[23].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[23], false, seps) : null;
            SpecimenCondition          = segments.Length > 24 && segments[24].Length > 0 ? segments[24].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            SpecimenCurrentQuantity    = segments.Length > 25 && segments[25].Length > 0 ? TypeSerializer.Deserialize <CompositeQuantityWithUnits>(segments[25], false, seps) : null;
            NumberOfSpecimenContainers = segments.Length > 26 && segments[26].Length > 0 ? segments[26].ToNullableDecimal() : null;
            ContainerType              = segments.Length > 27 && segments[27].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[27], false, seps) : null;
            ContainerCondition         = segments.Length > 28 && segments[28].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[28], false, seps) : null;
            SpecimenChildRole          = segments.Length > 29 && segments[29].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[29], false, seps) : null;
            AccessionId                = segments.Length > 30 && segments[30].Length > 0 ? segments[30].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(x, false, seps)) : null;
            OtherSpecimenId            = segments.Length > 31 && segments[31].Length > 0 ? segments[31].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(x, false, seps)) : null;
            ShipmentId                 = segments.Length > 32 && segments[32].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[32], false, seps) : null;
        }
Beispiel #15
0
 public static object To(this string value, Type type)
 {
     return(TypeSerializer.DeserializeFromString(value, type));
 }
Beispiel #16
0
 public static T ToOrDefaultValue <T>(this string value)
 {
     return(String.IsNullOrEmpty(value) ? default(T) : TypeSerializer.DeserializeFromString <T>(value));
 }
        public void Test_Null()
        {
            var serializer = new TypeSerializer(new ManualByteConverter());

            var expected = new byte[0];
            var actual = serializer.Serialize<string>(null);

            Assert.AreEqual(expected, actual);
        }
Beispiel #18
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SequenceNumberTestObservationMasterFile = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableDecimal() : null;
            ProducersServiceTestObservationId       = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[2], false, seps) : null;
            PermittedDataTypes     = segments.Length > 3 && segments[3].Length > 0 ? segments[3].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            SpecimenRequired       = segments.Length > 4 && segments[4].Length > 0 ? segments[4] : null;
            ProducerId             = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[5], false, seps) : null;
            ObservationDescription = segments.Length > 6 && segments[6].Length > 0 ? TypeSerializer.Deserialize <Text>(segments[6], false, seps) : null;
            OtherServiceTestObservationIdsForTheObservation = segments.Length > 7 && segments[7].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[7], false, seps) : null;
            OtherNames = segments.Length > 8 && segments[8].Length > 0 ? segments[8].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            PreferredReportNameForTheObservation          = segments.Length > 9 && segments[9].Length > 0 ? segments[9] : null;
            PreferredShortNameOrMnemonicForTheObservation = segments.Length > 10 && segments[10].Length > 0 ? segments[10] : null;
            PreferredLongNameForTheObservation            = segments.Length > 11 && segments[11].Length > 0 ? segments[11] : null;
            Orderability = segments.Length > 12 && segments[12].Length > 0 ? segments[12] : null;
            IdentityOfInstrumentUsedToPerformThisStudy = segments.Length > 13 && segments[13].Length > 0 ? segments[13].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            CodedRepresentationOfMethod           = segments.Length > 14 && segments[14].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[14], false, seps) : null;
            PortableDeviceIndicator               = segments.Length > 15 && segments[15].Length > 0 ? segments[15] : null;
            ObservationProducingDepartmentSection = segments.Length > 16 && segments[16].Length > 0 ? segments[16].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            TelephoneNumberOfSection              = segments.Length > 17 && segments[17].Length > 0 ? TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(segments[17], false, seps) : null;
            NatureOfServiceTestObservation        = segments.Length > 18 && segments[18].Length > 0 ? segments[18] : null;
            ReportSubheader    = segments.Length > 19 && segments[19].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[19], false, seps) : null;
            ReportDisplayOrder = segments.Length > 20 && segments[20].Length > 0 ? segments[20] : null;
            DateTimeStampForAnyChangeInDefinitionForTheObservation = segments.Length > 21 && segments[21].Length > 0 ? segments[21].ToNullableDateTime() : null;
            EffectiveDateTimeOfChange = segments.Length > 22 && segments[22].Length > 0 ? segments[22].ToNullableDateTime() : null;
            TypicalTurnAroundTime     = segments.Length > 23 && segments[23].Length > 0 ? segments[23].ToNullableDecimal() : null;
            ProcessingTime            = segments.Length > 24 && segments[24].Length > 0 ? segments[24].ToNullableDecimal() : null;
            ProcessingPriority        = segments.Length > 25 && segments[25].Length > 0 ? segments[25].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            ReportingPriority         = segments.Length > 26 && segments[26].Length > 0 ? segments[26] : null;
            OutsideSitesWhereObservationMayBePerformed = segments.Length > 27 && segments[27].Length > 0 ? segments[27].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            AddressOfOutsideSites    = segments.Length > 28 && segments[28].Length > 0 ? TypeSerializer.Deserialize <ExtendedAddress>(segments[28], false, seps) : null;
            PhoneNumberOfOutsideSite = segments.Length > 29 && segments[29].Length > 0 ? TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(segments[29], false, seps) : null;
            ConfidentialityCode      = segments.Length > 30 && segments[30].Length > 0 ? segments[30] : null;
            ObservationsRequiredToInterpretThisObservation = segments.Length > 31 && segments[31].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[31], false, seps) : null;
            InterpretationOfObservations    = segments.Length > 32 && segments[32].Length > 0 ? TypeSerializer.Deserialize <Text>(segments[32], false, seps) : null;
            ContraindicationsToObservations = segments.Length > 33 && segments[33].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[33], false, seps) : null;
            ReflexTestsObservations         = segments.Length > 34 && segments[34].Length > 0 ? segments[34].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            RulesThatTriggerReflexTesting   = segments.Length > 35 && segments[35].Length > 0 ? segments[35] : null;
            FixedCannedMessage  = segments.Length > 36 && segments[36].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[36], false, seps) : null;
            PatientPreparation  = segments.Length > 37 && segments[37].Length > 0 ? TypeSerializer.Deserialize <Text>(segments[37], false, seps) : null;
            ProcedureMedication = segments.Length > 38 && segments[38].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[38], false, seps) : null;
            FactorsThatMayAffectTheObservation        = segments.Length > 39 && segments[39].Length > 0 ? TypeSerializer.Deserialize <Text>(segments[39], false, seps) : null;
            ServiceTestObservationPerformanceSchedule = segments.Length > 40 && segments[40].Length > 0 ? segments[40].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            DescriptionOfTestMethods     = segments.Length > 41 && segments[41].Length > 0 ? TypeSerializer.Deserialize <Text>(segments[41], false, seps) : null;
            KindOfQuantityObserved       = segments.Length > 42 && segments[42].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[42], false, seps) : null;
            PointVersusInterval          = segments.Length > 43 && segments[43].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[43], false, seps) : null;
            ChallengeInformation         = segments.Length > 44 && segments[44].Length > 0 ? TypeSerializer.Deserialize <Text>(segments[44], false, seps) : null;
            RelationshipModifier         = segments.Length > 45 && segments[45].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[45], false, seps) : null;
            TargetAnatomicSiteOfTest     = segments.Length > 46 && segments[46].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[46], false, seps) : null;
            ModalityOfImagingMeasurement = segments.Length > 47 && segments[47].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[47], false, seps) : null;
        }
 public void Test_Deserialize_Null()
 {
     var serializer = new TypeSerializer(new ManualByteConverter());
     object value = null;
     var bytes = serializer.SerializeAsJson(value);
     var actual = serializer.Deserialize<object>(bytes, 0, bytes.Length);
     Assert.AreEqual(value, actual);
 }
Beispiel #20
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SequenceNumberTestObservationMasterFile = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableDecimal() : null;
            PreferredCodingSystem = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[2], false, seps) : null;
            ValidCodedAnswers     = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[3], false, seps) : null;
            NormalTextCodesForCategoricalObservations   = segments.Length > 4 && segments[4].Length > 0 ? segments[4].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            AbnormalTextCodesForCategoricalObservations = segments.Length > 5 && segments[5].Length > 0 ? segments[5].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            CriticalTextCodesForCategoricalObservations = segments.Length > 6 && segments[6].Length > 0 ? segments[6].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            ValueType = segments.Length > 7 && segments[7].Length > 0 ? segments[7] : null;
        }
Beispiel #21
0
        private void Load(Stream stream)
        {
            //var reader = new SoapFormatter();
            var reader = new TypeSerializer<SystemConfig>();
            var streamReader = new StreamReader(stream);
            SystemConfig config = reader.DeserializeFromReader(streamReader);

            var mapper = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<SystemConfig, SystemConfig>();
            mapper.Map(config, this);
        }
Beispiel #22
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            ExternalAccessionIdentifier      = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[1], false, seps) : null;
            AccessionIdentifier              = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[2], false, seps) : null;
            ContainerIdentifier              = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[3], false, seps) : null;
            PrimaryParentContainerIdentifier = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[4], false, seps) : null;
            EquipmentContainerIdentifier     = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[5], false, seps) : null;
            SpecimenSource       = segments.Length > 6 && segments[6].Length > 0 ? TypeSerializer.Deserialize <SpecimenSource>(segments[6], false, seps) : null;
            RegistrationDateTime = segments.Length > 7 && segments[7].Length > 0 ? segments[7].ToNullableDateTime() : null;
            ContainerStatus      = segments.Length > 8 && segments[8].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[8], false, seps) : null;
            CarrierType          = segments.Length > 9 && segments[9].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[9], false, seps) : null;
            CarrierIdentifier    = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[10], false, seps) : null;
            PositionInCarrier    = segments.Length > 11 && segments[11].Length > 0 ? TypeSerializer.Deserialize <NumericArray>(segments[11], false, seps) : null;
            TrayTypeSac          = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[12], false, seps) : null;
            TrayIdentifier       = segments.Length > 13 && segments[13].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[13], false, seps) : null;
            PositionInTray       = segments.Length > 14 && segments[14].Length > 0 ? TypeSerializer.Deserialize <NumericArray>(segments[14], false, seps) : null;
            Location             = segments.Length > 15 && segments[15].Length > 0 ? segments[15].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            ContainerHeight      = segments.Length > 16 && segments[16].Length > 0 ? segments[16].ToNullableDecimal() : null;
            ContainerDiameter    = segments.Length > 17 && segments[17].Length > 0 ? segments[17].ToNullableDecimal() : null;
            BarrierDelta         = segments.Length > 18 && segments[18].Length > 0 ? segments[18].ToNullableDecimal() : null;
            BottomDelta          = segments.Length > 19 && segments[19].Length > 0 ? segments[19].ToNullableDecimal() : null;
            ContainerHeightDiameterDeltaUnits = segments.Length > 20 && segments[20].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[20], false, seps) : null;
            ContainerVolume         = segments.Length > 21 && segments[21].Length > 0 ? segments[21].ToNullableDecimal() : null;
            AvailableSpecimenVolume = segments.Length > 22 && segments[22].Length > 0 ? segments[22].ToNullableDecimal() : null;
            InitialSpecimenVolume   = segments.Length > 23 && segments[23].Length > 0 ? segments[23].ToNullableDecimal() : null;
            VolumeUnits             = segments.Length > 24 && segments[24].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[24], false, seps) : null;
            SeparatorType           = segments.Length > 25 && segments[25].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[25], false, seps) : null;
            CapType                   = segments.Length > 26 && segments[26].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[26], false, seps) : null;
            Additive                  = segments.Length > 27 && segments[27].Length > 0 ? segments[27].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            SpecimenComponent         = segments.Length > 28 && segments[28].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[28], false, seps) : null;
            DilutionFactor            = segments.Length > 29 && segments[29].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[29], false, seps) : null;
            Treatment                 = segments.Length > 30 && segments[30].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[30], false, seps) : null;
            Temperature               = segments.Length > 31 && segments[31].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[31], false, seps) : null;
            HemolysisIndex            = segments.Length > 32 && segments[32].Length > 0 ? segments[32].ToNullableDecimal() : null;
            HemolysisIndexUnits       = segments.Length > 33 && segments[33].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[33], false, seps) : null;
            LipemiaIndex              = segments.Length > 34 && segments[34].Length > 0 ? segments[34].ToNullableDecimal() : null;
            LipemiaIndexUnits         = segments.Length > 35 && segments[35].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[35], false, seps) : null;
            IcterusIndex              = segments.Length > 36 && segments[36].Length > 0 ? segments[36].ToNullableDecimal() : null;
            IcterusIndexUnits         = segments.Length > 37 && segments[37].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[37], false, seps) : null;
            FibrinIndex               = segments.Length > 38 && segments[38].Length > 0 ? segments[38].ToNullableDecimal() : null;
            FibrinIndexUnits          = segments.Length > 39 && segments[39].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[39], false, seps) : null;
            SystemInducedContaminants = segments.Length > 40 && segments[40].Length > 0 ? segments[40].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            DrugInterference          = segments.Length > 41 && segments[41].Length > 0 ? segments[41].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            ArtificialBlood           = segments.Length > 42 && segments[42].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[42], false, seps) : null;
            SpecialHandlingCode       = segments.Length > 43 && segments[43].Length > 0 ? segments[43].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            OtherEnvironmentalFactors = segments.Length > 44 && segments[44].Length > 0 ? segments[44].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
        }
 public static T FromJsvSpan <T>(this ReadOnlySpan <char> jsv)
 {
     return(TypeSerializer.DeserializeFromSpan <T>(jsv));
 }
Beispiel #24
0
        /// <summary>Populates.</summary>
        ///
        /// <param name="to">                   to.</param>
        /// <param name="from">                 Source for the.</param>
        /// <param name="propertyInfoPredicate">The property information predicate.</param>
        /// <param name="valuePredicate">       The value predicate.</param>
        public void Populate(object to, object from,
                             Func <PropertyInfo, bool> propertyInfoPredicate,
                             Func <object, Type, bool> valuePredicate)
        {
            foreach (var assignmentEntry in AssignmentMemberMap)
            {
                var assignmentMember = assignmentEntry.Value;
                var fromMember       = assignmentEntry.Value.From;
                var toMember         = assignmentEntry.Value.To;

                if (fromMember.PropertyInfo != null && propertyInfoPredicate != null)
                {
                    if (!propertyInfoPredicate(fromMember.PropertyInfo))
                    {
                        continue;
                    }
                }

                try
                {
                    var fromValue = assignmentMember.GetValueFn(from);

                    if (valuePredicate != null)
                    {
                        if (!valuePredicate(fromValue, fromMember.PropertyInfo.PropertyType))
                        {
                            continue;
                        }
                    }

                    if (fromMember.Type != toMember.Type)
                    {
                        if (fromMember.Type == typeof(string))
                        {
                            fromValue = TypeSerializer.DeserializeFromString((string)fromValue, toMember.Type);
                        }
                        else if (toMember.Type == typeof(string))
                        {
                            fromValue = TypeSerializer.SerializeToString(fromValue);
                        }
                        else if (toMember.Type.IsGeneric() &&
                                 toMember.Type.GenericTypeDefinition() == typeof(Nullable <>))
                        {
                            Type genericArg = toMember.Type.GenericTypeArguments()[0];
                            if (genericArg.IsEnum())
                            {
                                fromValue = Enum.ToObject(genericArg, fromValue);
                            }
                        }
                        else
                        {
                            var listResult = TranslateListWithElements.TryTranslateToGenericICollection(
                                fromMember.Type, toMember.Type, fromValue);

                            if (listResult != null)
                            {
                                fromValue = listResult;
                            }
                        }
                    }

                    var setterFn = assignmentMember.SetValueFn;
                    setterFn(to, fromValue);
                }
                catch (Exception ex)
                {
                    Log.Warn(string.Format("Error trying to set properties {0}.{1} > {2}.{3}",
                                           FromType.FullName, fromMember.Type.Name,
                                           ToType.FullName, toMember.Type.Name), ex);
                }
            }
        }
Beispiel #25
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            TrayType        = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[1], false, seps) : null;
            ServicePeriod   = segments.Length > 2 && segments[2].Length > 0 ? segments[2].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            TextInstruction = segments.Length > 3 && segments[3].Length > 0 ? segments[3] : null;
        }
Beispiel #26
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            StudyScheduledTimePoint        = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[1], false, seps) : null;
            StudyScheduledPatientTimePoint = segments.Length > 2 && segments[2].Length > 0 ? segments[2].ToNullableDateTime() : null;
            StudyQualityControlCodes       = segments.Length > 3 && segments[3].Length > 0 ? segments[3].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
        }
Beispiel #27
0
 /// <summary>
 /// Gets the argument value.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="index">The index.</param>
 /// <returns>T.</returns>
 public T GetArgumentValue <T>(int index)
 {
     return(TypeSerializer.DeserializeFromString <T>(this.Arguments[index]));
 }
        public void TestSqlServerDateTime()
        {
            var result = TypeSerializer.DeserializeFromString <DateTime>("2010-06-01 21:52:59.280");

            Assert.That(result, Is.Not.Null);
        }
Beispiel #29
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            AllergyReactionCode             = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[1], false, seps) : null;
            AllergySeverityCode             = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[2], false, seps) : null;
            SensitivityToCausativeAgentCode = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[3], false, seps) : null;
            Management = segments.Length > 4 && segments[4].Length > 0 ? segments[4] : null;
        }
        public void DateTime_Is_Serialized_As_Utc_and_Deserialized_as_local()
        {
            var testObject = new TestObject
            {
                Date = new DateTime(2013, 1, 1, 0, 0, 1, DateTimeKind.Utc)
            };

            Assert.AreEqual(DateTimeKind.Local, TypeSerializer.DeserializeFromString <TestObject>(TypeSerializer.SerializeToString <TestObject>(testObject)).Date.Kind);

            //Can change default behavior with config
            using (JsConfig.With(alwaysUseUtc: true))
            {
                Assert.AreEqual(DateTimeKind.Utc, TypeSerializer.DeserializeFromString <TestObject>(TypeSerializer.SerializeToString <TestObject>(testObject)).Date.Kind);
            }

            testObject = new TestObject
            {
                Date = new DateTime(2013, 1, 1, 0, 0, 0, DateTimeKind.Utc)
            };

            Assert.AreEqual(DateTimeKind.Local, TypeSerializer.DeserializeFromString <TestObject>(TypeSerializer.SerializeToString <TestObject>(testObject)).Date.Kind);

            //Can change default behavior with config
            using (JsConfig.With(alwaysUseUtc: true))
            {
                Assert.AreEqual(DateTimeKind.Utc, TypeSerializer.DeserializeFromString <TestObject>(TypeSerializer.SerializeToString <TestObject>(testObject)).Date.Kind);
            }
        }
Beispiel #31
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            PlacerAppointmentId         = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[1], false, seps) : null;
            FillerAppointmentId         = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[2], false, seps) : null;
            OccurrenceNumber            = segments.Length > 3 && segments[3].Length > 0 ? segments[3].ToNullableDecimal() : null;
            PlacerGroupNumber           = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[4], false, seps) : null;
            ScheduleId                  = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[5], false, seps) : null;
            RequestEventReason          = segments.Length > 6 && segments[6].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[6], false, seps) : null;
            AppointmentReason           = segments.Length > 7 && segments[7].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[7], false, seps) : null;
            AppointmentType             = segments.Length > 8 && segments[8].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[8], false, seps) : null;
            AppointmentDuration         = segments.Length > 9 && segments[9].Length > 0 ? segments[9].ToNullableDecimal() : null;
            AppointmentDurationUnits    = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[10], false, seps) : null;
            RequestedStartDateTimeRange = segments.Length > 11 && segments[11].Length > 0 ? segments[11].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <DateTimeRange>(x, false, seps)) : null;
            PriorityArq                 = segments.Length > 12 && segments[12].Length > 0 ? segments[12] : null;
            RepeatingInterval           = segments.Length > 13 && segments[13].Length > 0 ? TypeSerializer.Deserialize <RepeatInterval>(segments[13], false, seps) : null;
            RepeatingIntervalDuration   = segments.Length > 14 && segments[14].Length > 0 ? segments[14] : null;
            PlacerContactPerson         = segments.Length > 15 && segments[15].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(segments[15], false, seps) : null;
            PlacerContactPhoneNumber    = segments.Length > 16 && segments[16].Length > 0 ? segments[16].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(x, false, seps)) : null;
            PlacerContactAddress        = segments.Length > 17 && segments[17].Length > 0 ? TypeSerializer.Deserialize <ExtendedAddress>(segments[17], false, seps) : null;
            PlacerContactLocation       = segments.Length > 18 && segments[18].Length > 0 ? TypeSerializer.Deserialize <PersonLocation>(segments[18], false, seps) : null;
            EnteredByPerson             = segments.Length > 19 && segments[19].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(segments[19], false, seps) : null;
            EnteredByPhoneNumber        = segments.Length > 20 && segments[20].Length > 0 ? segments[20].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(x, false, seps)) : null;
            EnteredByLocation           = segments.Length > 21 && segments[21].Length > 0 ? TypeSerializer.Deserialize <PersonLocation>(segments[21], false, seps) : null;
            ParentPlacerAppointmentId   = segments.Length > 22 && segments[22].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[22], false, seps) : null;
            ParentFillerAppointmentId   = segments.Length > 23 && segments[23].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[23], false, seps) : null;
        }
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] separator = IsSubcomponent ? seps.SubcomponentSeparator : seps.ComponentSeparator;
            string[] segments  = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(separator, StringSplitOptions.None);

            VersionId = segments.Length > 0 && segments[0].Length > 0 ? segments[0] : null;
            InternationalizationCode = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[1], true, seps) : null;
            InternationalVersionId   = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[2], true, seps) : null;
        }
        public void Populate(object to, object from,
                             Func <PropertyInfo, bool> propertyInfoPredicate,
                             Func <object, bool> valuePredicate)
        {
            foreach (var propertyEntry in PropertyInfoMap)
            {
                var fromPropertyInfo = propertyEntry.Key;
                var toPropertyInfo   = propertyEntry.Value;

                if (propertyInfoPredicate != null)
                {
                    if (!propertyInfoPredicate(fromPropertyInfo))
                    {
                        continue;
                    }
                }

                try
                {
                    var getterFn = PropertyGetters.GetOrAdd(fromPropertyInfo.Name,
                                                            fromPropertyInfo.GetPropertyGetterFn());
                    var fromValue = getterFn(from);

                    if (valuePredicate != null)
                    {
                        if (!valuePredicate(fromValue))
                        {
                            continue;
                        }
                    }

                    if (fromPropertyInfo.PropertyType != toPropertyInfo.PropertyType)
                    {
                        if (fromPropertyInfo.PropertyType == typeof(string))
                        {
                            fromValue = TypeSerializer.DeserializeFromString((string)fromValue,
                                                                             toPropertyInfo.PropertyType);
                        }
                        else if (toPropertyInfo.PropertyType == typeof(string))
                        {
                            fromValue = TypeSerializer.SerializeToString(fromValue);
                        }
                        else if (toPropertyInfo.PropertyType.IsGenericType &&
                                 toPropertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(Nullable <>))
                        {
                            Type genericArg = toPropertyInfo.PropertyType.GetGenericArguments()[0];
                            if (genericArg.IsEnum)
                            {
                                fromValue = Enum.ToObject(genericArg, fromValue);
                            }
                        }
                        else
                        {
                            var listResult = TranslateListWithElements.TryTranslateToGenericICollection(
                                fromPropertyInfo.PropertyType, toPropertyInfo.PropertyType, fromValue);

                            if (listResult != null)
                            {
                                fromValue = listResult;
                            }
                        }
                    }

                    var setterFn = PropertySetters.GetOrAdd(toPropertyInfo.Name,
                                                            toPropertyInfo.GetPropertySetterFn());

                    setterFn(to, fromValue);
                }
                catch (Exception ex)
                {
                    Log.Warn(string.Format("Error trying to set properties {0}.{1} > {2}.{3}",
                                           FromType.FullName, fromPropertyInfo.Name,
                                           ToType.FullName, toPropertyInfo.Name), ex);
                }
            }

            foreach (var fieldEntry in FieldInfoMap)
            {
                var fromFieldInfo = fieldEntry.Key;
                var toFieldInfo   = fieldEntry.Value;

                try
                {
                    var fromValue = fromFieldInfo.GetValue(from);
                    toFieldInfo.SetValue(to, fromValue);
                }
                catch (Exception ex)
                {
                    Log.Warn(string.Format("Error trying to set fields {0}.{1} > {2}.{3}",
                                           FromType.FullName, fromFieldInfo.Name,
                                           ToType.FullName, toFieldInfo.Name), ex);
                }
            }
        }
Beispiel #34
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SequenceNumberTestObservationMasterFile = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableDecimal() : null;
            UniversalServiceIdentifier         = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[2], false, seps) : null;
            CategoryIdentifier                 = segments.Length > 3 && segments[3].Length > 0 ? segments[3].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            CategoryDescription                = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <Text>(segments[4], false, seps) : null;
            CategorySynonym                    = segments.Length > 5 && segments[5].Length > 0 ? segments[5].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            EffectiveTestServiceStartDateTime  = segments.Length > 6 && segments[6].Length > 0 ? segments[6].ToNullableDateTime() : null;
            EffectiveTestServiceEndDateTime    = segments.Length > 7 && segments[7].Length > 0 ? segments[7].ToNullableDateTime() : null;
            TestServiceDefaultDurationQuantity = segments.Length > 8 && segments[8].Length > 0 ? segments[8].ToNullableDecimal() : null;
            TestServiceDefaultDurationUnits    = segments.Length > 9 && segments[9].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[9], false, seps) : null;
            TestServiceDefaultFrequency        = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[10], false, seps) : null;
            ConsentIndicator                   = segments.Length > 11 && segments[11].Length > 0 ? segments[11] : null;
            ConsentIdentifier                  = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[12], false, seps) : null;
            ConsentEffectiveStartDateTime      = segments.Length > 13 && segments[13].Length > 0 ? segments[13].ToNullableDateTime() : null;
            ConsentEffectiveEndDateTime        = segments.Length > 14 && segments[14].Length > 0 ? segments[14].ToNullableDateTime() : null;
            ConsentIntervalQuantity            = segments.Length > 15 && segments[15].Length > 0 ? segments[15].ToNullableDecimal() : null;
            ConsentIntervalUnits               = segments.Length > 16 && segments[16].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[16], false, seps) : null;
            ConsentWaitingPeriodQuantity       = segments.Length > 17 && segments[17].Length > 0 ? segments[17].ToNullableDecimal() : null;
            ConsentWaitingPeriodUnits          = segments.Length > 18 && segments[18].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[18], false, seps) : null;
            EffectiveDateTimeOfChange          = segments.Length > 19 && segments[19].Length > 0 ? segments[19].ToNullableDateTime() : null;
            EnteredBy             = segments.Length > 20 && segments[20].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(segments[20], false, seps) : null;
            OrderableAtLocation   = segments.Length > 21 && segments[21].Length > 0 ? segments[21].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <PersonLocation>(x, false, seps)) : null;
            FormularyStatus       = segments.Length > 22 && segments[22].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[22], false, seps) : null;
            SpecialOrderIndicator = segments.Length > 23 && segments[23].Length > 0 ? segments[23] : null;
            PrimaryKeyValueCdm    = segments.Length > 24 && segments[24].Length > 0 ? segments[24].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
        }
        public void Test_Char()
        {
            var serializer = new TypeSerializer(new ManualByteConverter());
            var value = 'o';
            var expected = new byte[] { 0x6f };
            var actual = serializer.Serialize(value);

            Assert.AreEqual(expected, actual);
        }
Beispiel #36
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            ActionCode                  = segments.Length > 1 && segments[1].Length > 0 ? segments[1] : null;
            ActionDateTime              = segments.Length > 2 && segments[2].Length > 0 ? segments[2].ToNullableDateTime() : null;
            GoalId                      = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[3], false, seps) : null;
            GoalInstanceId              = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[4], false, seps) : null;
            EpisodeOfCareId             = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[5], false, seps) : null;
            GoalListPriority            = segments.Length > 6 && segments[6].Length > 0 ? segments[6].ToNullableDecimal() : null;
            GoalEstablishedDateTime     = segments.Length > 7 && segments[7].Length > 0 ? segments[7].ToNullableDateTime() : null;
            ExpectedGoalAchieveDateTime = segments.Length > 8 && segments[8].Length > 0 ? segments[8].ToNullableDateTime() : null;
            GoalClassification          = segments.Length > 9 && segments[9].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[9], false, seps) : null;
            GoalManagementDiscipline    = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[10], false, seps) : null;
            CurrentGoalReviewStatus     = segments.Length > 11 && segments[11].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[11], false, seps) : null;
            CurrentGoalReviewDateTime   = segments.Length > 12 && segments[12].Length > 0 ? segments[12].ToNullableDateTime() : null;
            NextGoalReviewDateTime      = segments.Length > 13 && segments[13].Length > 0 ? segments[13].ToNullableDateTime() : null;
            PreviousGoalReviewDateTime  = segments.Length > 14 && segments[14].Length > 0 ? segments[14].ToNullableDateTime() : null;
            GoalReviewInterval          = segments.Length > 15 && segments[15].Length > 0 ? TypeSerializer.Deserialize <TimingQuantity>(segments[15], false, seps) : null;
            GoalEvaluation              = segments.Length > 16 && segments[16].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[16], false, seps) : null;
            GoalEvaluationComment       = segments.Length > 17 && segments[17].Length > 0 ? segments[17].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            GoalLifeCycleStatus         = segments.Length > 18 && segments[18].Length > 0 ? TypeSerializer.Deserialize <CodedWithExceptions>(segments[18], false, seps) : null;
            GoalLifeCycleStatusDateTime = segments.Length > 19 && segments[19].Length > 0 ? segments[19].ToNullableDateTime() : null;
            GoalTargetType              = segments.Length > 20 && segments[20].Length > 0 ? segments[20].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedWithExceptions>(x, false, seps)) : null;
            GoalTargetName              = segments.Length > 21 && segments[21].Length > 0 ? segments[21].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedPersonName>(x, false, seps)) : null;
            MoodCode                    = segments.Length > 22 && segments[22].Length > 0 ? TypeSerializer.Deserialize <CodedWithNoExceptions>(segments[22], false, seps) : null;
        }
        public void Test_Deserialize_Int()
        {
            var serializer = new TypeSerializer(new ManualByteConverter());
            var five = 5;
            var bytes = serializer.Serialize(five);
            var actual = serializer.Deserialize<int>(bytes, 0, bytes.Length);
            Assert.AreEqual(five, actual);

        }
Beispiel #38
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            PriorPatientIdentifierList = segments.Length > 1 && segments[1].Length > 0 ? segments[1].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(x, false, seps)) : null;
            PriorAlternatePatientId    = segments.Length > 2 && segments[2].Length > 0 ? segments[2].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(x, false, seps)) : null;
            PriorPatientAccountNumber  = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(segments[3], false, seps) : null;
            PriorPatientId             = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(segments[4], false, seps) : null;
            PriorVisitNumber           = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(segments[5], false, seps) : null;
            PriorAlternateVisitId      = segments.Length > 6 && segments[6].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(segments[6], false, seps) : null;
            PriorPatientName           = segments.Length > 7 && segments[7].Length > 0 ? segments[7].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedPersonName>(x, false, seps)) : null;
        }
 public void Test_Deserialize_String()
 {
     var serializer = new TypeSerializer(new ManualByteConverter());
     var value = "astring";
     var bytes = serializer.Serialize(value);
     var bytes1 = Encoding.UTF8.GetBytes(value);
     var actual = serializer.Deserialize<string>(bytes, 0, bytes.Length);
     Assert.AreEqual(value, actual);
 }
 public static string ToJsv <T>(this T obj)
 {
     return(TypeSerializer.SerializeToString(obj));
 }
        public void Test_Serialize_String()
        {
            var serializer = new TypeSerializer(new ManualByteConverter());
            string data = "Hello";

            var expected = new byte[] { 0x48, 0x65, 0x6c, 0x6c, 0x6f };
            var actual = serializer.Serialize(data);

            Assert.AreEqual(expected, actual);
        }
Beispiel #42
0
        /// <summary>
        /// 
        /// </summary>
        public void Save()
        {
            Stream stream = File.Open(CONFIG_FILE_NAME, FileMode.Create);

            var writer = new TypeSerializer<SystemConfig>();
            var streamWriter = new StreamWriter(stream);
            writer.SerializeToWriter(this, streamWriter);
            streamWriter.Close();
            //var writer = new SoapFormatter();
            //streamWriter.Flush();
            /*stream.Flush();
            stream.Close();*/
        }