Пример #1
0
        private static void TestWriteToTable(int rowCount)
        {
            var table = TableTestHelper.CreateReactiveTable();

            for (var i = 0; i < rowCount; i++)
            {
                var rowIndex = table.AddRow();
                table.SetValue(TestTableColumns.IdColumn, rowIndex, i);
                table.SetValue(TestTableColumns.StringColumn, rowIndex, $"Entry {i}");
                table.SetValue(TestTableColumns.DecimalColumn, rowIndex, (decimal)i);
            }
        }
Пример #2
0
        private void TestSyncrhonisedPassThrough(int rowCount)
        {
            var uiTable   = TableTestHelper.CreateReactiveTable();
            var wireTable = new ReactivePassThroughTable(uiTable, new DefaultThreadMarshaller());

            for (var i = 0; i < rowCount; i++)
            {
                var rowIndex = wireTable.AddRow();
                wireTable.SetValue(TestTableColumns.IdColumn, rowIndex, i);
                wireTable.SetValue(TestTableColumns.StringColumn, rowIndex, $"Entry {i}");
                wireTable.SetValue(TestTableColumns.DecimalColumn, rowIndex, (decimal)i);
            }

            Assert.AreEqual(uiTable.RowCount, wireTable.RowCount);
        }
Пример #3
0
        private void TestSyncrhonisedDuplicate(int rowCount)
        {
            var uiTable   = TableTestHelper.CreateReactiveTable();
            var wireTable = new ReactiveTable(uiTable);

            new TableSynchroniser(wireTable, uiTable, new DefaultThreadMarshaller());

            for (var i = 0; i < rowCount; i++)
            {
                var rowIndex = wireTable.AddRow();
                wireTable.SetValue(TestTableColumns.IdColumn, rowIndex, i);
                wireTable.SetValue(TestTableColumns.StringColumn, rowIndex, $"Entry {i}");
                wireTable.SetValue(TestTableColumns.DecimalColumn, rowIndex, (decimal)i);
            }
        }
Пример #4
0
        private void TestSyncrhonisedBatchPassThrough(int rowCount)
        {
            var uiTable   = TableTestHelper.CreateReactiveTable();
            var delay     = TimeSpan.FromMilliseconds(250);
            var wireTable = new ReactiveBatchedPassThroughTable(uiTable, new DefaultThreadMarshaller(), delay);

            for (var i = 0; i < rowCount; i++)
            {
                var rowIndex = wireTable.AddRow();
                wireTable.SetValue(TestTableColumns.IdColumn, rowIndex, i);
                wireTable.SetValue(TestTableColumns.StringColumn, rowIndex, $"Entry {i}");
                wireTable.SetValue(TestTableColumns.DecimalColumn, rowIndex, (decimal)i);
            }

            while (wireTable.GetRowUpdateCount() > 0)
            {
                Thread.Sleep(100);
            }
            Thread.Sleep(600);

            Assert.AreEqual(uiTable.RowCount, wireTable.RowCount);
        }