public void Given_a_columnPair_then_First_and_Second_delegates_on_them() { // Arrange var pair = new Pair<Column>( Column.Create("irrelevant"), Column.Create("irrelevant") ); // Act TableConflict conflict = new TableConflict(pair); // Assert Assert.That(conflict.First, Is.EqualTo(pair.First)); Assert.That(conflict.Second, Is.EqualTo(pair.Second)); }
public CompareResult Compare(Table otherTable) { // guard clause: Different table names are not comparables if (!Name.EqualsIgnoreCase(otherTable.Name)) throw new InvalidOperationException("Tables are not comparables. In order to compare two tables they must have the same name."); CompareResult result = new CompareResult(); foreach (Column eachColumn in _columnList) { Column otherColumn = otherTable.FindColumnByName(eachColumn.Name); if (otherColumn == null) result.AddMissing(eachColumn); else if (!eachColumn.Equals(otherColumn)) { var conflict = new TableConflict(new Pair<Column>(eachColumn, otherColumn)); result.AddConflict(conflict); } } return result; }