Example #1
0
        public void TransposerTest_ThrowOnDualBatches()
        {
            var transposer = new Transposer();

            transposer.ProcessPipelineData(dt, new ThrowImmediatelyDataLoadJob(), new GracefulCancellationToken());
            var ex = Assert.Throws <NotSupportedException>(() => transposer.ProcessPipelineData(dt, new ThrowImmediatelyDataLoadJob(), new GracefulCancellationToken()));

            Assert.AreEqual("Error, we received multiple batches, Transposer only works when all the data arrives in a single DataTable", ex.Message);
        }
Example #2
0
        public void TransposerTest_TableTransposed()
        {
            var transposer = new Transposer();
            var actual     = transposer.ProcessPipelineData(dt, new ThrowImmediatelyDataLoadJob(), new GracefulCancellationToken());

            DataTable expectedResult = new DataTable();

            expectedResult.Columns.Add("recipe");
            expectedResult.Columns.Add("protein");
            expectedResult.Columns.Add("fat");
            expectedResult.Columns.Add("carbohydrate");

            expectedResult.Rows.Add("Fishcakes", "20", "11", "55");
            expectedResult.Rows.Add("Chips", "30", "2", "0");
            expectedResult.Rows.Add("Gateau", "40", "33", "5");

            for (int i = 0; i < actual.Columns.Count; i++)
            {
                Assert.AreEqual(expectedResult.Columns[i].ColumnName, actual.Columns[i].ColumnName);
            }

            for (int i = 0; i < expectedResult.Rows.Count; i++)
            {
                for (int j = 0; j < actual.Columns.Count; j++)
                {
                    Assert.AreEqual(expectedResult.Rows[i][j], actual.Rows[i][j]);
                }
            }
        }
Example #3
0
        public void TransposerTest_ThrowOnEmptyDataTable()
        {
            var transposer = new Transposer();
            var ex         = Assert.Throws <NotSupportedException>(() => transposer.ProcessPipelineData(new DataTable(), new ThrowImmediatelyDataLoadJob(), new GracefulCancellationToken()));

            Assert.AreEqual("DataTable toProcess had 0 rows and 0 columns, thus it cannot be transposed", ex.Message);
        }
Example #4
0
        public void TestTransposerDodgyHeaders()
        {
            var dr = dt.Rows.Add("32 GramMax", "55", "0", "5");

            var transposer = new Transposer();

            transposer.MakeHeaderNamesSane = true;
            var actual = transposer.ProcessPipelineData(dt, new ThrowImmediatelyDataLoadJob(), new GracefulCancellationToken());

            Assert.IsTrue(actual.Columns.Contains("_32GramMax"));

            dt.Rows.Remove(dr);
        }