Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 protected bool Equals(RecursiveDataType other)
 {
     return Equals(Inner, other.Inner) && Equals(TemperatureRange, other.TemperatureRange) && string.Equals(Text, other.Text);
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 protected bool Equals(RecursiveDataType other)
 {
     return(Equals(Inner, other.Inner) && Equals(TemperatureRange, other.TemperatureRange) && string.Equals(Text, other.Text));
 }