private static ResultInfo GetExpected(Record left, Record right, IEnumerable<IFieldComparer> comparerers) { foreach (var comparer in comparerers) { var fieldName = comparer.FieldName; if (!left.HasField(fieldName) || !right.HasField(fieldName)) { return new ResultInfo { ShouldThrowDueToInvalidHeader = true }; } var leftValue = left[fieldName]; var rightValue = right[fieldName]; var result = comparer.Compare(leftValue, rightValue); if (result != 0) { return new ResultInfo { Value = result }; } } return new ResultInfo(); }
public void Given_a_record_with_1_field_and_field__1__is_requested__should_return_false() { var record = new Record("x"); var result = record.HasField(1); result.ShouldBeFalse(); }
public void Given_a_record_with_field__a__and_field__b__is_requested__should_return_false() { var record = new Record(new[] { "x" }, new Dictionary<string, int> { { "a", 0 } }); var result = record.HasField("b"); result.ShouldBeFalse(); }
public void Given_a_negative_field_number_is_requested__should_throw_ArgumentOutOfRangeException() { var record = new Record("x"); // ReSharper disable ReturnValueOfPureMethodIsNotUsed record.HasField(-1); // ReSharper restore ReturnValueOfPureMethodIsNotUsed }