public void TestMultipleAdd()
        {
            IObjectStore store = new InMemoryObjectStore();

            store.AddItem <ComputerModel>(new ComputerModel
            {
                Id      = 1,
                OemName = "Apple",
                Model   = "Macbook"
            });

            try
            {
                store.AddItem <ComputerModel>(new ComputerModel
                {
                    Id      = 1,
                    OemName = "Apple",
                    Model   = "Macbook"
                });
            }
            catch
            {
                Assert.IsTrue(true);
            }
        }
        public void TestNoElementDelete()
        {
            IObjectStore store = new InMemoryObjectStore();

            try
            {
                store.DeleteItem <ComputerModel>(1);
            }
            catch
            {
                Assert.IsTrue(true);
            }
        }
        public void TestAddAndGet()
        {
            IObjectStore store = new InMemoryObjectStore();

            store.AddItem <ComputerModel>(new ComputerModel
            {
                Id      = 1,
                OemName = "Apple",
                Model   = "Macbook"
            });

            ComputerModel insertedItem = store.GetItem <ComputerModel>(1);

            Assert.AreEqual(insertedItem.OemName, "Apple");
            Assert.AreEqual(insertedItem.Model, "Macbook");
        }
        public void TestInvalidItemUpdate()
        {
            IObjectStore store = new InMemoryObjectStore();

            try
            {
                store.UpdateItem <ComputerModel>(1, new ComputerModel
                {
                    OemName = "Samsung",
                    Model   = "Ativ"
                });
            }
            catch
            {
                Assert.IsTrue(true);
            }
        }
        public void TestDelete()
        {
            IObjectStore store = new InMemoryObjectStore();

            store.AddItem <ComputerModel>(new ComputerModel
            {
                Id      = 1,
                OemName = "Apple",
                Model   = "Macbook"
            });

            store.DeleteItem <ComputerModel>(1);

            List <ComputerModel> computers = store.ListItems <ComputerModel>();

            Assert.AreEqual(computers.Count, 0);
        }
        public void TestUpdate()
        {
            IObjectStore store = new InMemoryObjectStore();

            store.AddItem <ComputerModel>(new ComputerModel
            {
                Id      = 1,
                OemName = "Apple",
                Model   = "Macbook"
            });

            store.UpdateItem <ComputerModel>(1, new ComputerModel
            {
                OemName = "Samsung",
                Model   = "Ativ"
            });

            ComputerModel insertedItem = store.GetItem <ComputerModel>(1);

            Assert.AreEqual(insertedItem.OemName, "Samsung");
            Assert.AreEqual(insertedItem.Model, "Ativ");
        }
        public void TestList()
        {
            IObjectStore store = new InMemoryObjectStore();

            store.AddItem <ComputerModel>(new ComputerModel
            {
                Id      = 1,
                OemName = "Apple",
                Model   = "Macbook"
            });

            store.AddItem <ComputerModel>(new ComputerModel
            {
                Id      = 2,
                OemName = "Samsung",
                Model   = "Galaxy"
            });

            List <ComputerModel> computers = store.ListItems <ComputerModel>();

            Assert.IsNotNull(computers.FirstOrDefault(model => model.OemName == "Apple"));
            Assert.IsNotNull(computers.FirstOrDefault(model => model.OemName == "Samsung"));
        }