public void UnflattenObject() { var customer = new Customer(); var flattener = new Tedd.DictionarySerializer(); var dic = flattener.ToFlatDictionary(customer, FlattenMemberType.Property); var unflattener = new Tedd.DictionaryDeserializer(); var customer2 = unflattener.UnflattenDictionary <Customer>(dic); Assert.Equal(customer.Id, customer2.Id); Assert.Equal(customer.CreatedTs.TSValue, customer2.CreatedTs.TSValue); Assert.Equal(customer.ContactPerson.Name, customer2.ContactPerson.Name); Assert.Equal(customer.ContactPerson.Address, customer2.ContactPerson.Address); }
public void FlattenObject() { var customer = new Customer(); var flattener = new Tedd.DictionarySerializer(); var dic = flattener.ToFlatDictionary(customer, FlattenMemberType.Property); // DoNotFlatten Assert.True(dic.ContainsKey(nameof(customer.CreatedTs))); // Plain property Assert.True(dic.ContainsKey(nameof(customer.Id))); // Person object goes deeper Assert.False(dic.ContainsKey(nameof(customer.ContactPerson))); Assert.True(dic.ContainsKey(nameof(customer.ContactPerson) + "." + nameof(customer.ContactPerson.Name))); Assert.True(dic.ContainsKey(nameof(customer.ContactPerson) + "." + nameof(customer.ContactPerson.Address))); Assert.True(dic.ContainsKey(nameof(customer.ContactPerson) + "." + nameof(customer.ContactPerson.Created))); }