コード例 #1
0
        public void TestTriggerOnChildren()
        {
            var trigger = new TriggerListTestTrigger(100);

            _databaseInstance.RegisterTrigger(trigger);
            var expected = TestListModel.MakeTestListModel();

            // set all the keys to something negative so the trigger can generate the key
            foreach (var subModel in expected.Children)
            {
                subModel.Key = -1 * subModel.Key;
            }

            var key = _databaseInstance.SaveAsync(expected).Result;

            var actual = _databaseInstance.LoadAsync <TestListModel>(key).Result;

            Assert.NotNull(actual.Children);     //Trigger failed: child list is null.");
            Assert.Equal(expected.Children.Count,
                         actual.Children.Count); //Trigger failed: actual child count different.");

            var noKey = (from m in actual.Children where m == null || m.Key < 1 select m).Any();

            Assert.False(noKey); //Trigger failed: children found without a key.");
            _databaseInstance.UnregisterTrigger(trigger);
        }
コード例 #2
0
        public void TestNullList()
        {
            var expected = TestListModel.MakeTestListModel();

            expected.Children = null;
            var key    = _databaseInstance.SaveAsync(expected).Result;
            var actual = _databaseInstance.LoadAsync <TestListModel>(key).Result;

            Assert.IsNotNull(actual, "Save/load failed: model is null.");
            Assert.AreEqual(expected.ID, actual.ID, "Save/load failed: key mismatch.");
            Assert.IsNull(actual.Children, "Save/load failed: list should be null.");
        }
コード例 #3
0
        public void TestEmptyList()
        {
            var expected = TestListModel.MakeTestListModel();

            expected.Children.Clear();
            var key    = _databaseInstance.SaveAsync(expected).Result;
            var actual = _databaseInstance.LoadAsync <TestListModel>(key).Result;

            Assert.IsNotNull(actual, "Save/load failed: model is null.");
            Assert.AreEqual(expected.ID, actual.ID, "Save/load failed: key mismatch.");
            Assert.IsNotNull(actual.Children, "Save/load failed: list not initialized.");
            Assert.AreEqual(0, actual.Children.Count, "Save/load failed: list size mismatch.");
        }
コード例 #4
0
        public TestListModel GetAllTest(int pageNumber, int pageSize, ModelFilterBase filter, out int totalRecords)
        {
            var tests = _testRepository.GetAllTest(pageNumber, pageSize, filter as TestListModelFilter, out totalRecords);

            if (tests.IsNullOrEmpty())
            {
                return(null);
            }

            var model = new TestListModel();

            model.Collection = Mapper.Map <IEnumerable <Test>, IEnumerable <TestViewModel> >(tests);

            return(model);
        }
コード例 #5
0
        public void TestList()
        {
            var expected = TestListModel.MakeTestListModel();
            var key      = _databaseInstance.SaveAsync(expected).Result;
            var actual   = _databaseInstance.LoadAsync <TestListModel>(key).Result;

            Assert.IsNotNull(actual, "Save/load failed: model is null.");
            Assert.AreEqual(expected.ID, actual.ID, "Save/load failed: key mismatch.");
            Assert.IsNotNull(actual.Children, "Save/load failed: list not initialized.");
            Assert.AreEqual(expected.Children.Count, actual.Children.Count, "Save/load failed: list size mismatch.");
            for (var x = 0; x < expected.Children.Count; x++)
            {
                Assert.AreEqual(expected.Children[x].Key, actual.Children[x].Key, "Save/load failed: key mismatch.");
                Assert.AreEqual(expected.Children[x].Data, actual.Children[x].Data, "Save/load failed: data mismatch.");
            }
        }
コード例 #6
0
        public IHttpActionResult CreateTest([FromBody] string data)
        {
            try
            {
                JsonSerializer serializer = new JsonSerializer();
                JsonReader     reader     = new JsonTextReader(new StringReader(data));
                TestList       test       = serializer.Deserialize <TestList>(reader);

                TestListModel testListModel = new TestListModel();

                testListModel.TestLists.AddOrUpdate(test);
                testListModel.SaveChanges();



                return(Ok(testListModel.TestLists.ToList().LastOrDefault().TestListKey));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #7
0
        public void TestDirtyFlagTrue()
        {
            var expected = TestListModel.MakeTestListModel();

            // first save is to generate the keys
            var key = _databaseInstance.SaveAsync(expected).Result;

            var actual = _databaseInstance.LoadAsync <TestListModel>(key).Result;

            foreach (var model in actual.Children)
            {
                model.ResetAccess();
            }

            ((DirtyDatabase)_databaseInstance).Predicate = model => false;

            // now check that none were accessed
            _databaseInstance.SaveAsync(actual).Wait();

            var accessed = (from t in actual.Children where t.Accessed select 1).Any();

            Assert.IsFalse(accessed, "Dirty flag on save failed: some children were accessed.");
        }