예제 #1
0
 public AngleJsonConverter(
     AngleJsonSerializationFormat serializationFormat          = AngleJsonSerializationFormat.AsTurnsWithUnit,
     LinearUnitJsonSerializationFormat unitSerializationFormat = LinearUnitJsonSerializationFormat.PredefinedAsString)
     : base(
         unitConverter: new AngleUnitJsonConverter(unitSerializationFormat),
         serializationFormat: (QuantityJsonSerializationFormat)serializationFormat)
 {
 }
 public AngleSerializeTestData(
     Angle value,
     AngleJsonSerializationFormat format,
     LinearUnitJsonSerializationFormat unitFormat,
     string expectedJsonPattern)
     : base(value, unitFormat, expectedJsonPattern)
 {
     Format = format;
 }
        public void SerializeAndDeserializeWithTurns_ShouldBeIdempotent(AngleJsonSerializationFormat format, LinearUnitJsonSerializationFormat unitFormat)
        {
            // arrange
            var angle     = Fixture.Create <Angle>();
            var converter = new AngleJsonConverter(format, unitFormat);

            // act
            string serializedAngle1   = JsonConvert.SerializeObject(angle, converter);
            var    deserializedAngle1 = JsonConvert.DeserializeObject <Angle>(serializedAngle1, converter);
            string serializedAngle2   = JsonConvert.SerializeObject(deserializedAngle1, converter);
            var    deserializedAngle2 = JsonConvert.DeserializeObject <Angle>(serializedAngle2, converter);

            // assert
            deserializedAngle1.Should().Be(angle);
            deserializedAngle2.Should().Be(angle);

            deserializedAngle2.Should().Be(deserializedAngle1);
            serializedAngle2.Should().Be(serializedAngle1);
        }