private void RunUnmanagedTests <T>(Func <ListsObject, IList <T> > listGetter, T[] testList) { var listObject = new ListsObject(); var list = listGetter(listObject); var testData = new ListTestCaseData <T>(testList); testData.Seed(list); RunTestsCore(testData, list); }
private void RunTestsCore <T>(ListTestCaseData <T> testData, IList <T> list) { testData.AssertEquality(list); testData.AssertCount(list); testData.AssertAccessByIndex(list); testData.AssertAccessByIterator(list); testData.AssertContains(list); testData.AssertIndexOf(list); testData.AssertInsert(list); testData.AssertMove(list); testData.AssertSet(list); testData.AssertRemove(list); testData.AssertRemoveAt(list); testData.AssertClear(list); }
private void RunManagedTests <T>(Func <ListsObject, IList <T> > listGetter, T[] testList) { TestHelpers.RunAsyncTest(async() => { var listObject = new ListsObject(); var list = listGetter(listObject); var testData = new ListTestCaseData <T>(testList); testData.Seed(list); _realm.Write(() => _realm.Add(listObject)); var managedList = listGetter(listObject); Assert.That(list, Is.Not.SameAs(managedList)); RunTestsCore(testData, managedList); await testData.AssertThreadSafeReference(managedList); testData.AssertNotifications(managedList); }, timeout: 100000); }