Tests.TestDataTable.TestExpandToOneHot C# (CSharp) Method

TestExpandToOneHot() private method

private TestExpandToOneHot ( ) : void
return void
        public void TestExpandToOneHot()
        {
            var table = new DataTable();
            var column = new DataColumn("a")
            {
                DataType = typeof(Int32)
            };
            table.Columns.Add(column);

            column = new DataColumn("b")
            {
                DataType = typeof(Int32),
                DefaultValue = 0
            };
            table.Columns.Add(column);

            var row = table.NewRow();
            row["a"] = 1;
            table.Rows.Add(row);

            row = table.NewRow();
            row["a"] = 2;
            table.Rows.Add(row);

            row = table.NewRow();
            row["a"] = 3;
            table.Rows.Add(row);

            table.ExpandToOneHot("a", 4);

            Assert.IsTrue(table.Columns.Contains("a_0"));
            Assert.IsTrue(table.Columns.Contains("a_1"));
            Assert.IsTrue(table.Columns.Contains("a_2"));
            Assert.IsTrue(table.Columns.Contains("a_3"));
            Assert.IsFalse(table.Columns.Contains("a_4"));

            Assert.AreEqual(0, table.Rows[0]["a_0"]);
            Assert.AreEqual(1, table.Rows[0]["a_1"]);
            Assert.AreEqual(0, table.Rows[0]["a_2"]);
            Assert.AreEqual(0, table.Rows[0]["a_3"]);

            Assert.AreEqual(0, table.Rows[1]["a_0"]);
            Assert.AreEqual(0, table.Rows[1]["a_1"]);
            Assert.AreEqual(1, table.Rows[1]["a_2"]);
            Assert.AreEqual(0, table.Rows[1]["a_3"]);

            Assert.AreEqual(0, table.Rows[2]["a_0"]);
            Assert.AreEqual(0, table.Rows[2]["a_1"]);
            Assert.AreEqual(0, table.Rows[2]["a_2"]);
            Assert.AreEqual(1, table.Rows[2]["a_3"]);
        }
    }
TestDataTable