public void Merger_DefaultMergeCriteria_UsesNewValues(SequencedComplexItemTestCriteria criteria) { // the merger will sort the objects, meaning the "highest" item is expected to be merged var expected = criteria.Expected; var mergedValue = _merger.Merge(criteria.SequencedComplexItem, historyComparer: null); Assert.AreEqual(expected.StringValue, mergedValue.StringValue, "String value is incorrectly merged."); }
public void Merger_NeverOverwriteSequenceID1MergeCriteria_UsesSequenceID1Value(SequencedComplexItemTestCriteria criteria) { // the merger will sort the objects, meaning the "highest" item is expected to be merged var expected = criteria.SequencedComplexItem.First(s => s.SequenceID == 1); var alwaysSequenceID1MergeCriteria = new SequencedComplexItemStringValueMergeCriteria_NeverOverwriteSequenceID1(); var nonDefaultMergeCriteria = new List <IMergeCriteria>(new[] { alwaysSequenceID1MergeCriteria }); var mergedValue = (SequencedComplexItem)_merger.Merge(criteria.SequencedComplexItem, nonDefaultMergeCriteria: nonDefaultMergeCriteria); Assert.AreEqual(expected.StringValue, mergedValue.StringValue, "String value is incorrectly merged."); }