Ejemplo n.º 1
0
        public void TestExtractMachingData()
        {
            //テストデータ作成
            DataTable srcDt = new DataTable();

            srcDt.Columns.Add("key", typeof(string));
            srcDt.Columns.Add("value", typeof(string));
            DataRow dr = srcDt.NewRow();

            dr["key"]   = "key1";
            dr["value"] = "value1";
            srcDt.Rows.Add(dr);
            dr          = srcDt.NewRow();
            dr["key"]   = "key2";
            dr["value"] = "value2";
            srcDt.Rows.Add(dr);
            dr          = srcDt.NewRow();
            dr["key"]   = "key3";
            dr["value"] = "value3";
            srcDt.Rows.Add(dr);
            srcDt.AcceptChanges();

            DataTable matchDt = new DataTable();

            matchDt.Columns.Add("code", typeof(string));
            matchDt.Columns.Add("name", typeof(string));
            dr         = matchDt.NewRow();
            dr["code"] = "key3";
            dr["name"] = "value3";
            matchDt.Rows.Add(dr);
            dr         = matchDt.NewRow();
            dr["code"] = "key2";
            dr["name"] = "value2";
            matchDt.Rows.Add(dr);
            dr         = matchDt.NewRow();
            dr["code"] = "key4";
            dr["name"] = "value4";
            matchDt.Rows.Add(dr);
            matchDt.AcceptChanges();

            DataTable result = DataSetUtil.ExtractMachingData(srcDt, matchDt, "key", "code");

            Assert.AreEqual(2, result.Rows.Count);
            Assert.AreEqual("key2", result.Rows[0]["key"]);
            Assert.AreEqual("key3", result.Rows[1]["key"]);
        }