public void RecursiveDataType_TypeReferences() { // var context = new FudgeContext(); var serializer = new FudgeSerializer(context); var obj = new RecursiveDataType { Text = "SomeString", TemperatureRange = new TemperatureRange { Low = 18, High = 24, Average = 21 }, Inner = new RecursiveDataType { Text = "SomeOtherString", TemperatureRange = new TemperatureRange { Low = 5, High = 15, Average = 10 }, Inner = new RecursiveDataType { Text = "AnotherString", TemperatureRange = new TemperatureRange { Low = 35, High = 40, Average = 37.5 }, Inner = new RecursiveDataType() } } }; // Serialize it to a MemoryStream var stream = new MemoryStream(); var streamWriter = new FudgeEncodedStreamWriter(context, stream); serializer.Serialize(streamWriter, obj); // Reset the stream and deserialize a new object from it stream.Position = 0; var streamReader = new FudgeEncodedStreamReader(context, stream); var cycledObj = (RecursiveDataType)serializer.Deserialize(streamReader); // Just check a value matches Assert.Equal(obj, cycledObj); }
protected bool Equals(RecursiveDataType other) { return Equals(Inner, other.Inner) && Equals(TemperatureRange, other.TemperatureRange) && string.Equals(Text, other.Text); }
public void RecursiveDataType_TypeReferences() { // var context = new FudgeContext(); var serializer = new FudgeSerializer(context); var obj = new RecursiveDataType { Text = "SomeString", TemperatureRange = new TemperatureRange { Low = 18, High = 24, Average = 21 }, Inner = new RecursiveDataType { Text = "SomeOtherString", TemperatureRange = new TemperatureRange { Low = 5, High = 15, Average = 10 }, Inner = new RecursiveDataType { Text = "AnotherString", TemperatureRange = new TemperatureRange { Low = 35, High = 40, Average = 37.5 }, Inner = new RecursiveDataType() } } }; // Serialize it to a MemoryStream var stream = new MemoryStream(); var streamWriter = new FudgeEncodedStreamWriter(context, stream); serializer.Serialize(streamWriter, obj); // Reset the stream and deserialize a new object from it stream.Position = 0; var streamReader = new FudgeEncodedStreamReader(context, stream); var cycledObj = (RecursiveDataType)serializer.Deserialize(streamReader); // Just check a value matches Assert.Equal(obj, cycledObj); }
protected bool Equals(RecursiveDataType other) { return(Equals(Inner, other.Inner) && Equals(TemperatureRange, other.TemperatureRange) && string.Equals(Text, other.Text)); }