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); }
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."); }
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."); }
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); }
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."); } }
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)); } }
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."); }