public void TestSerializeDeserializeObject() { //CreateDeserializerOnly a new AvroSerializer instance and specify a custom serialization strategy AvroDataContractResolver //for serializing only properties attributed with DataContract/DateMember var settings = new AvroSerializerSettings(); var avroSerializer = AvroSerializer.Create<SensorData>(settings); //CreateDeserializerOnly a new buffer using (var buffer = new MemoryStream()) { //CreateDeserializerOnly sample data var expected = new SensorData { Value = new byte[] { 1, 2, 3, 4, 5 }, Position = new Location { Room = 243, Floor = 1 } }; //Serialize the data to the specified stream avroSerializer.Serialize(buffer, expected); //Prepare the stream for deserializing the data buffer.Seek(0, SeekOrigin.Begin); //Derserialize data from the stream and cast it to the same type used for serialization var actual = avroSerializer.Deserialize(buffer); //Finally, verify that deserialized data matches the original ones Assert.IsTrue(this.Equal(expected, actual)); } }
private bool Equal(SensorData left, SensorData right) { return(left.Position.Equals(right.Position) && left.Value.SequenceEqual(right.Value)); }
private bool Equal(SensorData left, SensorData right) { return left.Position.Equals(right.Position) && left.Value.SequenceEqual(right.Value); }