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"]); }