Example #1
0
        //===============================================================
        public static void BatchInsertAndRemove(Repository<TestClass> repo)
        {
            var testObjects = Enumerable.Range(0, 5).Select(x => new TestClass(x.ToString(), x.ToString())).ToList();

            repo.RemoveAll(repo.Items);
            repo.SaveChanges();
            Assert.IsTrue(!repo.Items.Any());

            repo.Insert(testObjects);
            repo.SaveChanges();
            Assert.IsTrue(repo.Items.Any());
            Assert.IsTrue(repo.Items.ToList().All(x => testObjects.Exists(y => y.ID == x.ID)));

            // Remove all batch
            repo.RemoveAll();
            repo.SaveChanges();
            Assert.IsTrue(!repo.Items.Any());

            // Remove all without saving in between
            repo.Insert(testObjects);
            repo.RemoveAll();
            repo.SaveChanges();
            Assert.IsTrue(!repo.Items.Any());

            // Remove all with inserts before and after
            repo.Insert(testObjects);
            repo.RemoveAll();
            repo.Insert(testObjects);
            repo.RemoveAll();
            repo.SaveChanges();
            Assert.IsTrue(!repo.Items.Any());

            repo.Insert(testObjects);
            repo.SaveChanges();

            // Remove all by key
            repo.RemoveAllByKey(repo.Items.ToList().Select(x => new object[] { x.ID }));
            repo.SaveChanges();

            Assert.IsTrue(!repo.Items.Any());

            // Remove all by object
            repo.Insert(testObjects);
            repo.SaveChanges();

            repo.RemoveAll(testObjects);
            repo.SaveChanges();

            Assert.IsTrue(!repo.Items.Any());
        }
Example #2
0
        //===============================================================
        public static void ChangeTracking(Repository<TestClass> repo)
        {
            var obj = new TestClass("myKey", "myValue");

            repo.Insert(obj);
            repo.SaveChanges();

            var storedObj = repo.Find(obj.ID);
            storedObj.Object.StringValue = "newValue";
            repo.SaveChanges();

            storedObj = repo.Find(obj.ID);
            Assert.AreEqual("newValue", storedObj.Object.StringValue);

            // Test Update function
            repo.Update(new { StringValue = "newValue2" }, storedObj.Object.ID);
            repo.SaveChanges();

            storedObj = repo.Find(obj.ID);
            Assert.AreEqual("newValue2", storedObj.Object.StringValue);

            repo.RemoveAll();
            repo.SaveChanges();

            // Test changing enumerated objects
            var objects = Enumerable.Range(0, 10).Select(x => new TestClass(x.ToString(), x.ToString()));
            repo.Insert(objects);
            repo.SaveChanges();

            foreach (var item in repo.Items)
                Assert.AreEqual(item.ID, item.StringValue);

            foreach (var item in repo.Items)
                item.StringValue = ((int.Parse(item.StringValue)) + 1).ToString();

            repo.SaveChanges();

            foreach (var item in repo.Items)
                Assert.AreNotEqual(item.ID, item.StringValue);

            repo.RemoveAll();
            repo.SaveChanges();
        }
Example #3
0
        //===============================================================
        public static void TypedRepositoryTest(Repository<TestClass, String> repo)
        {
            repo.RemoveAll();
            repo.SaveChanges();

            var testObj = new TestClass("myKey", "myValue");
            repo.Insert(testObj);
            repo.SaveChanges();

            var newObj = new TestClass { ID = testObj.ID, StringValue = "NEW VALUE" };

            var dbObj = repo.Find(newObj.ID);
            dbObj.Object.StringValue = newObj.StringValue;
            repo.SaveChanges();

            dbObj = repo.Find(newObj.ID);
            Assert.AreEqual(newObj.StringValue, dbObj.Object.StringValue);

            repo.RemoveAll();
        }
Example #4
0
        //===============================================================
        public static void InsertAndRemove(Repository<TestClass> testObjects)
        {
            var testObj = new TestClass("myKey", "myValue");

            testObjects.Insert(testObj);
            testObjects.SaveChanges();

            var storedObj = testObjects.Find(testObj.ID);
            Assert.NotNull(storedObj.Object);
            Assert.AreEqual(testObj.ID, storedObj.Object.ID);
            Assert.AreEqual(testObj.ID, storedObj.Object.ID);

            testObjects.Remove(testObj);
            testObjects.SaveChanges();

            storedObj = testObjects.Find(testObj.ID);
            Assert.Null(storedObj);

            testObjects.RemoveAll();
            testObjects.SaveChanges();
        }
Example #5
0
        //===============================================================
        public static void Items(Repository<TestClass> repo)
        {
            var testObjects = Enumerable.Range(0, 10).Select(x => new TestClass(x.ToString(), x.ToString()));

            repo.Insert(testObjects);
            repo.SaveChanges();

            var items = repo.Items.ToList().OrderBy(x => x.StringValue).ToList();
            Assert.AreEqual(10, items.Count);
            for (int i = 0; i < 10; ++i)
                Assert.AreEqual(i.ToString(), items[i].StringValue);

            repo.RemoveAll();
            repo.SaveChanges();

            Assert.AreEqual(0, repo.Items.Count());
        }
Example #6
0
        //===============================================================
        public static void Exists(Repository<TestClass> repo)
        {
            repo.RemoveAll();
            repo.SaveChanges();

            var item = new TestClass { ID = "1", StringValue = "blah" };
            repo.Insert(item);
            repo.SaveChanges();

            Assert.IsTrue(repo.Exists(item));
            repo.RemoveAll();
            repo.SaveChanges();
        }
Example #7
0
        //================================================================================
        public static void ChangeTrackingEnumeratedObjects(Repository<TestClass> repo)
        {
            // Test changing enumerated objects
            var objects = Enumerable.Range(0, 10).Select(x => new TestClass(x.ToString(), x.ToString()));
            repo.Insert(objects);
            repo.SaveChanges();

            foreach (var item in repo.Items)
                Assert.AreEqual(item.ID, item.StringValue);

            foreach (var item in repo.Items)
                item.StringValue = ((int.Parse(item.StringValue)) + 1).ToString();

            repo.SaveChanges();

            foreach (var item in repo.Items)
                Assert.AreNotEqual(item.ID, item.StringValue);

            repo.RemoveAll();
            repo.SaveChanges();
        }
Example #8
0
 public void ClearRepositories()
 {
     TrainerRepository.RemoveAll();
     GroupRepository.RemoveAll();
 }
Example #9
0
 /// <summary>
 /// Removes all connections to an input
 /// </summary>
 /// <param name="input"></param>
 public void ClearInput(IConnectable input)
 {
     Repository.RemoveAll <ConnectionData>(_ => _.InputIdentifier == input.Identifier);
     //        ConnectedItems.RemoveAll(p => p.InputIdentifier == input.Identifier);
 }
Example #10
0
 public IActionResult DeleteAll()
 {
     _repo.RemoveAll();
     return(Ok());
 }