예제 #1
0
 public void TestClassWithIntPhiloteSerializeToJson(TestClassWithIntPhiloteTestData inTestData)
 {
     // ToDo low priority localize the unit test's exception's message
     if (inTestData == null)
     {
         throw new ArgumentNullException($"{nameof(inTestData)} argument should never be null");
     }
     if (Regex.Match(inTestData.SerializedTestData, "\"ID\":(-2147483648|-1|0|1|2147483647),").Success)
     {
         //SerializationSystemTextJsonFixture.Serializer.Serialize(inTestData.InstanceTestData).Should().Be(inTestData.SerializedTestData);
         JsonSerializer.Serialize(inTestData.InstanceTestData, SerializationFixture.JsonSerializerOptions).Should().Be(inTestData.SerializedTestData);
     }
     else
     {
         //SerializationSystemTextJsonFixture.Serializer.Serialize(inTestData.InstanceTestData).Should().MatchRegex("^[0-9A-Fa-f]{8}-?([0-9A-Fa-f]{4}-?){3}[0-9A-Fa-f]{12}$");
         JsonSerializer.Serialize(inTestData.InstanceTestData, SerializationFixture.JsonSerializerOptions).Should().BeOfType(typeof(string), "the serializer should have returned a string representation of the TestClassWithIntPhilote ");
     }
 }
예제 #2
0
 public void TestClassWithIntPhiloteDeserializeFromJson(TestClassWithIntPhiloteTestData inTestData)
 {
     // ToDo low priority localize the unit test's exception's message
     if (inTestData == null)
     {
         throw new ArgumentNullException(nameof(inTestData));
     }
     if (String.IsNullOrEmpty(inTestData.SerializedTestData))
     {
         Action act = () => JsonSerializer.Deserialize <TestClassWithPhilote <int> >(inTestData.SerializedTestData, SerializationFixture.JsonSerializerOptions);
         act.Should().Throw <System.Text.Json.JsonException>()
         .WithMessage("The input does not contain any JSON tokens.*");
     }
     else if (Regex.Match(inTestData.SerializedTestData, "\"ID\":(-2147483648|-1|0|1|2147483647)").Success)
     {
         //SerializationSystemTextJsonFixture.Serializer.Deserialize<IntStronglyTypedId>(inTestData.SerializedTestData).Should().BeEquivalentTo(inTestData.InstanceTestData);
         var deserialized = JsonSerializer.Deserialize <TestClassWithPhilote <int> >(inTestData.SerializedTestData, SerializationFixture.JsonSerializerOptions);
         deserialized.Should().BeEquivalentTo(inTestData.InstanceTestData);
     }
     else
     {
         // ToDo: validate that strings that don't match an int throw an exception
     }
 }