public void ListOfEmbeddedObjects_CanSetItems() { var parent = new ObjectWithEmbeddedProperties(); _realm.Write(() => { _realm.Add(parent); }); var list = parent.ListOfAllTypesObjects; _realm.Write(() => { parent.ListOfAllTypesObjects.Add(new EmbeddedAllTypesObject { StringProperty = "first" }); }); Assert.That(list.Count, Is.EqualTo(1)); var firstItem = list[0]; Assert.That(firstItem.StringProperty, Is.EqualTo("first")); _realm.Write(() => { list[0] = new EmbeddedAllTypesObject { StringProperty = "updated" }; }); Assert.That(list.Count, Is.EqualTo(1)); Assert.That(firstItem.IsValid, Is.False); Assert.That(list[0].StringProperty, Is.EqualTo("updated")); }
public void DictionaryOfEmbeddedObjects_CanSetItems() { var parent = new ObjectWithEmbeddedProperties(); _realm.Write(() => { _realm.Add(parent); }); var dict = parent.DictionaryOfAllTypesObjects; _realm.Write(() => { parent.DictionaryOfAllTypesObjects.Add("a", new EmbeddedAllTypesObject { StringProperty = "first" }); }); Assert.That(dict.Count, Is.EqualTo(1)); var firstItem = dict["a"]; Assert.That(firstItem.StringProperty, Is.EqualTo("first")); _realm.Write(() => { dict["a"] = new EmbeddedAllTypesObject { StringProperty = "updated" }; }); Assert.That(dict.Count, Is.EqualTo(1)); Assert.That(firstItem.IsValid, Is.False); Assert.That(dict["a"].StringProperty, Is.EqualTo("updated")); }