public void BuildRowGroups_Given_rows_with_the_same_key_Rows_should_be_grouped_with_a_master_row() { var actual = _target.BuildRowGroups(_rows).ToArray();; TestContext.PrintJson(actual); var actualGroup0 = actual[0]; Assert.AreSame(_rows[0], actualGroup0.MasterRow); var rowsGroupedByType0 = actualGroup0.RowsGroupedByType.ToArray(); Assert.AreEqual(2, rowsGroupedByType0.Length); var list = rowsGroupedByType0[0].Value; Assert.AreEqual(2, list.Count); Assert.AreSame(_rows[1], list[0]); Assert.AreSame(_rows[2], list[1]); list = rowsGroupedByType0[1].Value; Assert.AreEqual(1, list.Count); Assert.AreSame(_rows[8], list[0]); var actualGroup1 = actual[1]; Assert.AreSame(_rows[3], actualGroup1.MasterRow); var rowsGroupedByType1 = actualGroup1.RowsGroupedByType.ToArray(); Assert.AreEqual(1, rowsGroupedByType1.Length); list = rowsGroupedByType1[0].Value; Assert.AreEqual(1, list.Count); Assert.AreSame(_rows[4], list[0]); }
public static IEnumerable <DataRow20Group> BuildRowGroups(IEnumerable <DataRow20> rows, Datas dataRowsDefinition) { var config = new RowGroupsCreatorConfig { MasterDataType = dataRowsDefinition.MasterDataType }; var rowGroupsCreator = new RowGroupsCreator(config); return(rowGroupsCreator.BuildRowGroups(rows)); }