Beispiel #1
0
        public void GetKeys_UniqueCellNumericCasting_CorrectCell()
        {
            var table = BuildDataTable(new[] { "Key0", "Key1", "Key0" }, new[] { "Foo", "Bar", "Foo" }, new object[] { "0", "1.0", "0.00" });

            var columns = new List <IColumnDefinition>()
            {
                new Column()
                {
                    Identifier = new ColumnNameIdentifier("two"), Type = ColumnType.Numeric
                }
            };

            var keyRetriever = new CellRetrieverByName(columns);

            Assert.That(keyRetriever.GetColumns(table.Rows[0]).Members, Is.EqualTo(new[] { 0 }));
            Assert.That(keyRetriever.GetColumns(table.Rows[1]).Members, Is.EqualTo(new[] { 1 }));
            Assert.That(keyRetriever.GetColumns(table.Rows[2]).Members, Is.EqualTo(new[] { 0 }));
        }
Beispiel #2
0
        public void GetKeys_NonExistingCell_CorrectMessage()
        {
            var table = BuildDataTable(new[] { "Key0", "Key1", "Key0" }, new[] { "Foo", "Bar", "Foo" }, new object[] { 0, 1, 0 });

            var columns = new List <IColumnDefinition>()
            {
                new Column()
                {
                    Identifier = new ColumnNameIdentifier("notExisting"), Type = ColumnType.Text
                },
                new Column()
                {
                    Identifier = new ColumnNameIdentifier("zero"), Type = ColumnType.Text
                }
            };

            var keyRetriever = new CellRetrieverByName(columns);
            var ex           = Assert.Throws <NBiException>(() => keyRetriever.GetColumns(table.Rows[0]));

            Assert.That(ex.Message, Does.Contain(": 'zero', 'one', 'two'."));
        }
Beispiel #3
0
        public void GetKeys_TwoCells_CorrectCells()
        {
            var table = BuildDataTable(new[] { "Key0", "Key1", "Key0" }, new[] { "Foo", "Bar", "Foo" }, new object[] { 0, 1, 0 });

            var columns = new List <IColumnDefinition>()
            {
                new Column()
                {
                    Identifier = new ColumnNameIdentifier("zero"), Type = ColumnType.Text
                },
                new Column()
                {
                    Identifier = new ColumnNameIdentifier("one"), Type = ColumnType.Text
                }
            };

            var keyRetriever = new CellRetrieverByName(columns);

            Assert.That(keyRetriever.GetColumns(table.Rows[0]).Members, Is.EqualTo(new[] { "Key0", "Foo" }));
            Assert.That(keyRetriever.GetColumns(table.Rows[1]).Members, Is.EqualTo(new[] { "Key1", "Bar" }));
            Assert.That(keyRetriever.GetColumns(table.Rows[2]).Members, Is.EqualTo(new[] { "Key0", "Foo" }));
        }