public void SimpleTest() { TableSchema schema = new TableSchema("SimpleTest"); schema.Columns.AddValueColumn("Index", typeof(int), null); schema.Columns.AddCalculatedColumn("FP", row => (int)Math.Pow(row.Field <int>("Index"), 1.5)); var table = new Table(schema); for (int i = 0; i < 10; i++) { table.Rows.AddFromValues(i); } Assert.AreEqual(10, table.Rows.Count); var halfView = new VerifyableFilteredTable <Row>(table, row => row.Field <int>("Index") % 2 == 1); halfView.Verify(); table.Rows[1]["Index"] = 0; Assert.AreEqual(4, halfView.Rows.Count); halfView.Verify(); table.Rows[3].RemoveRow(); Assert.AreEqual(3, halfView.Rows.Count); halfView.Verify(); table.Rows.AddFromValues(13); Assert.AreEqual(4, halfView.Rows.Count); halfView.Verify(); }
public void RescanTest() { int mod = 3; TableSchema schema = new TableSchema("SimpleTest"); schema.Columns.AddValueColumn("Index", typeof(int), null); schema.Columns.AddCalculatedColumn("FP", row => (int)Math.Pow(row.Field <int>("Index"), 1.5)); var table = new Table(schema); for (int i = 0; i < 100; i++) { table.Rows.AddFromValues(i); } var view = new VerifyableFilteredTable <Row>(table, row => row.Field <int>("Index") % mod == 0); view.Verify(); mod *= 2; view.Rescan(); view.Verify(); mod /= 2; view.Rescan(); view.Verify(); mod = 23; view.Rescan(); view.Verify(); mod = 5; view.Rescan(); view.Verify(); }