public void Test_Index_Default() { TestRecord record1 = new TestRecord(); record1.ID = Guid.NewGuid(); record1.Text = "Record 1"; TestRecord record2 = new TestRecord(); record2.ID = Guid.NewGuid(); record2.Text = "Record 2"; TestRecord record3 = new TestRecord(); record3.ID = Guid.NewGuid(); record3.Text = "Record 3"; TestRecord record4 = new TestRecord(); record4.ID = Guid.NewGuid(); record4.Text = "Record 4"; if (DataAccess.Data == null) throw new InvalidOperationException("Data provider has not been initialized. Run setup."); DataAccess.Data.Saver.Save(record1); DataAccess.Data.Saver.Save(record2); DataAccess.Data.Saver.Save(record3); DataAccess.Data.Saver.Save(record4); // Check that the records do exist int count = DataAccess.Data.Indexer.GetEntities<TestRecord>().Length; Assert.AreEqual(4, count, "Invalid number of TestRecord objects found."); BaseIndexProjection page = new BaseIndexProjection("Index", typeof(TestRecord), false); // Disable authorisation requirements for test page.RequireAuthorisation = false; IndexController controller = IndexController.New(page, false); if (controller == null) throw new Exception("Controller is null."); controller.Index(); Assert.IsNotNull(controller.DataSource, "The DataSource property on the controller wasn't set."); Assert.AreEqual(4, controller.DataSource.Length, "Item count mismatch."); foreach (TestRecord record in DataAccess.Data.Indexer.GetEntities<TestRecord>()) { DataAccess.Data.Deleter.Delete(record); } }
public void Test_Index_Paged_Page1() { List<TestRecord> list = new List<TestRecord>(); for (int i = 0; i < 30; i++) { TestRecord record = new TestRecord(); record.ID = Guid.NewGuid(); record.Text = "Record " + i; DataAccess.Data.Saver.Save(record); list.Add(record); } if (DataAccess.Data == null) throw new InvalidOperationException("Data provider has not been initialized. Run setup."); BaseIndexProjection page = new BaseIndexProjection("Index", typeof(TestRecord), false); PagingLocation location = new PagingLocation(0, 20); IndexController controller = IndexController.New(page, location); if (controller == null) throw new Exception("Controller is null."); controller.CurrentPageIndex = 0; controller.Index(); Assert.IsNotNull(controller.DataSource, "The DataSource of the controller wasn't set."); IEntity[] entities = (IEntity[])controller.DataSource; Assert.AreEqual(20, entities.Length, "DataSource count mismatch."); foreach (TestRecord record in list) DataAccess.Data.Deleter.Delete(record); }
public void Test_Index_PrepareIndex() { List<TestRecord> list = new List<TestRecord>(); for (int i = 0; i < 30; i++) { TestRecord record = new TestRecord(); record.ID = Guid.NewGuid(); record.Name = "Record " + i; record.Text = "Record " + i; DataAccess.Data.Saver.Save(record); list.Add(record); } if (DataAccess.Data == null) throw new InvalidOperationException("Data provider has not been initialized. Run setup."); BaseIndexProjection page = new BaseIndexProjection("Index", typeof(TestRecord), false); PagingLocation location = new PagingLocation(0, 20); IndexController controller = IndexController.New(page, location); if (controller == null) throw new Exception("Controller is null."); controller.SortExpression = "NameAscending"; IEntity[] entities = controller.PrepareIndex(); Assert.IsNotNull(entities, "entities == null"); Assert.AreEqual(20, entities.Length, "Entity count mismatch."); Assert.AreEqual(30, controller.AbsoluteTotal, "Absolute count mismatch."); foreach (TestRecord record in list) DataAccess.Data.Deleter.Delete(record); }