Esempio n. 1
0
            public void CorrectlySerializesEnumsToString()
            {
                var serviceLocator = ServiceLocator.Default;
                var serializer     = serviceLocator.ResolveType <IJsonSerializer>();

                var model = new CustomJsonSerializationModelWithEnum
                {
                    Name = "Test model with enum",
                    EnumWithAttribute    = CustomSerializationEnum.SecondValue,
                    EnumWithoutAttribute = CustomSerializationEnum.SecondValue,
                };

                using (var memoryStream = new MemoryStream())
                {
                    serializer.Serialize(model, memoryStream);

                    memoryStream.Position = 0L;

                    var streamReader = new StreamReader(memoryStream);
                    var streamAsText = streamReader.ReadToEnd();

                    Assert.True(streamAsText.Contains($"{nameof(CustomJsonSerializationModelWithEnum.EnumWithAttribute)}\":\"{CustomSerializationEnum.SecondValue}"));
                    Assert.True(streamAsText.Contains($"{nameof(CustomJsonSerializationModelWithEnum.EnumWithoutAttribute)}\":{(int)CustomSerializationEnum.SecondValue}"));
                }
            }
Esempio n. 2
0
            public void CorrectlyDeserializesEnumsFromString()
            {
                var serviceLocator = ServiceLocator.Default;
                var serializer     = serviceLocator.ResolveType <IJsonSerializer>();

                var model = new CustomJsonSerializationModelWithEnum
                {
                    Name = "Test model with enum",
                    EnumWithAttribute    = CustomSerializationEnum.SecondValue,
                    EnumWithoutAttribute = CustomSerializationEnum.SecondValue,
                };

                var clonedModel = SerializationTestHelper.SerializeAndDeserialize(model, serializer, null);

                // Note: yes, the *model* is serialized, the *clonedModel* is deserialized

                Assert.AreEqual(model.EnumWithAttribute, clonedModel.EnumWithAttribute);
                Assert.AreEqual(model.EnumWithoutAttribute, clonedModel.EnumWithoutAttribute);
            }