From cdeaa4cbaee69b6c7f15e19a32f2702911eb1df2 Mon Sep 17 00:00:00 2001 From: Ferdinando Papale <4850119+papafe@users.noreply.github.com> Date: Mon, 25 Sep 2023 11:33:53 +0200 Subject: [PATCH] Small fixes --- .../Database/RealmValueWithCollections.cs | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/Tests/Realm.Tests/Database/RealmValueWithCollections.cs b/Tests/Realm.Tests/Database/RealmValueWithCollections.cs index 3a2f57098d..e4ea636ed1 100644 --- a/Tests/Realm.Tests/Database/RealmValueWithCollections.cs +++ b/Tests/Realm.Tests/Database/RealmValueWithCollections.cs @@ -211,7 +211,7 @@ public void List_WhenManaged_CanBeModified() } [Test] - public void List_AddSetInsertList_WorksAsIntended() + public void List_AddSetInsertMoveRemoveList_WorksAsIntended() { var listVal = new List { 1, "string", true }; @@ -222,6 +222,7 @@ public void List_AddSetInsertList_WorksAsIntended() var innerList1 = new List { "inner", 23, false }; + // Indexer _realm.Write(() => { rvo.RealmValueProperty.AsList()[1] = innerList1; @@ -230,6 +231,7 @@ public void List_AddSetInsertList_WorksAsIntended() Assert.That(rvo.RealmValueProperty.AsList(), Is.EqualTo(listVal)); + // Insert var innerList2 = new List { "inner2", 23, false }; _realm.Write(() => @@ -240,6 +242,7 @@ public void List_AddSetInsertList_WorksAsIntended() Assert.That(rvo.RealmValueProperty.AsList(), Is.EqualTo(listVal)); + // Add var innerList3 = new List { "inner3", 23, false }; _realm.Write(() => @@ -249,6 +252,40 @@ public void List_AddSetInsertList_WorksAsIntended() }); Assert.That(rvo.RealmValueProperty.AsList(), Is.EqualTo(listVal)); + + // Move + _realm.Write(() => + { + rvo.RealmValueProperty.AsList().Move(0, 1); + listVal.Move(0, 1); + }); + + Assert.That(rvo.RealmValueProperty.AsList(), Is.EqualTo(listVal)); + + // Remove + _realm.Write(() => + { + rvo.RealmValueProperty.AsList().RemoveAt(2); + listVal.RemoveAt(2); + }); + + Assert.That(rvo.RealmValueProperty.AsList(), Is.EqualTo(listVal)); + } + + public void List_RemoveWithListArgument_ReturnsFalse() + { + var innerListVal = new List { 1, "string", true }; + var listVal = new List { innerListVal, 23 }; + + var rvo = _realm.Write(() => + { + return _realm.Add(new RealmValueObject { RealmValueProperty = listVal }); + }); + + _realm.Write(() => + { + Assert.That(rvo.RealmValueProperty.AsList().Remove(innerListVal), Is.False); + }); } [Test]