public void TestNull() { var obj = new TestClass { Addresses = null }; var json = obj.ToJson(); var expected = "{ 'Addresses' : null }".Replace("'", "\""); Assert.Equal(expected, json); var bson = obj.ToBson(); var rehydrated = BsonSerializer.Deserialize<TestClass>(bson); Assert.True(bson.SequenceEqual(rehydrated.ToBson())); }
public void TestSerialization() { var obj = new TestClass { Addresses = new HashSet<Address> { new Address { Street = "123 Main", City = "Smithtown", State = "PA", Zip = 12345 }, new Address { Street = "456 First", City = "Johnstown", State = "MD", Zip = 45678 } } }; var json = obj.ToJson(); var expected = "{ 'Addresses' : [#A1, #A2] }"; expected = expected.Replace("#A1", "{ 'Street' : '123 Main', 'City' : 'Smithtown', 'State' : 'PA', 'Zip' : 12345 }"); expected = expected.Replace("#A2", "{ 'Street' : '456 First', 'City' : 'Johnstown', 'State' : 'MD', 'Zip' : 45678 }"); expected = expected.Replace("'", "\""); Assert.Equal(expected, json); var bson = obj.ToBson(); var rehydrated = BsonSerializer.Deserialize<TestClass>(bson); Assert.IsType<HashSet<Address>>(rehydrated.Addresses); Assert.True(bson.SequenceEqual(rehydrated.ToBson())); }
public void TestOneAddress() { var obj = new TestClass { Addresses = new List<Address> { new Address { Street = "123 Main", City = "Smithtown", State = "PA", Zip = 12345 } } }; var json = obj.ToJson(); var expected = "{ 'Addresses' : [#A1] }"; expected = expected.Replace("#A1", "{ 'Street' : '123 Main', 'City' : 'Smithtown', 'State' : 'PA', 'Zip' : 12345 }"); expected = expected.Replace("'", "\""); Assert.Equal(expected, json); var bson = obj.ToBson(); var rehydrated = BsonSerializer.Deserialize<TestClass>(bson); Assert.IsType<List<Address>>(rehydrated.Addresses); Assert.True(bson.SequenceEqual(rehydrated.ToBson())); }
public void TestEmpty() { var obj = new TestClass { Addresses = new List<Address>() }; var json = obj.ToJson(); var expected = "{ 'Addresses' : [] }".Replace("'", "\""); Assert.Equal(expected, json); var bson = obj.ToBson(); var rehydrated = BsonSerializer.Deserialize<TestClass>(bson); Assert.IsType<List<Address>>(rehydrated.Addresses); Assert.True(bson.SequenceEqual(rehydrated.ToBson())); }