Exemplo n.º 1
0
        private void RunUnmanagedTests <T>(Func <ListsObject, IList <T> > accessor, T[] toAdd)
        {
            try
            {
                if (toAdd == null)
                {
                    toAdd = new T[0];
                }

                var listsObject = new ListsObject();
                var list        = accessor(listsObject);

                foreach (var item in toAdd)
                {
                    list.Add(item);
                }

                CollectionAssert.AreEqual(list, toAdd);

                _realm.Write(() => _realm.Add(listsObject));

                var managedList = accessor(listsObject);

                CollectionAssert.AreEqual(managedList, toAdd);
            }
            finally
            {
                _realm.Dispose();
            }
        }
Exemplo n.º 2
0
        protected override void CustomSetUp()
        {
            base.CustomSetUp();

            _realm.Write(() =>
            {
                _managedListsObject = _realm.Add(new ListsObject());
            });
        }
Exemplo n.º 3
0
        public void PrimitiveList_WhenEnumerating_ShouldBeStable()
        {
            var container = new ListsObject();

            _realm.Write(() => _realm.Add(container));

            TestStableIteration(
                container.Int32List.Add,
                () => container.Int32List,
                i => container.Int32List.Remove(i));

            Assert.That(container.Int32List, Is.Empty);
        }
Exemplo n.º 4
0
 private void RunManagedTests <T>(Func <ListsObject, IList <T> > itemsGetter, T[] toAdd)
 {
     Task.Run(() =>
     {
         AsyncContext.Run(async() =>
         {
             try
             {
                 var listObject = new ListsObject();
                 _realm.Write(() => _realm.Add(listObject));
                 var items = itemsGetter(listObject);
                 await RunManagedTestsCore(items, toAdd);
             }
             finally
             {
                 _realm.Dispose();
             }
         });
     }).Timeout(105000).Wait();
 }