public void ToFrame_Throws_Ex_If_Col_Names_Are_Not_Unique(int initRowCount, Type[] colTypes, string[] colNames)
        {
            //Arrange
            var converter = new DataTableToBasicFrameConverter();
            var frame0 = BasicFrameGenerator.CreateTable(initRowCount, colTypes, colNames);

            //Act, Assert
            var ex = Assert.Throws<DuplicateNameException>(() => converter.ToFrame(frame0));
        }
        public void ToFrame_Throws_Ex_If_Input_Type_Is_Not_Supported()
        {
            //Arrange
            var converter = new DataTableToBasicFrameConverter();
            var frame0 = new DummyFrame();

            //Act, Assert
            var ex = Assert.Throws<ArgumentException>(() => converter.ToFrame(frame0));
        }
        public void ToFrame_Returns_IFrame_Implementation_When_Input_Is_DataTable(int testId, int initRowCount, int newRowCount, int expectedRowCount, Type[] colTypes)
        {
            //Arrange
            var converter = new DataTableToBasicFrameConverter();
            var table = TableGenerator.CreateTable(initRowCount, colTypes);

            //Act
            var result = converter.ToFrame(table);

            //Assert
            Assert.NotNull(result);
            Assert.Equal(table.Rows.Count, result.RowCount);
            Assert.Equal(table.Columns.Count, result.ColumnCount);

            for(int i=0; i<table.Columns.Count;i++)
            {
                Assert.Equal(table.Columns[i].DataType, result.ColumnTypes[i]);
            }
        }