Skip to content

Commit cf05c8f

Browse files
author
Neil Campbell
committed
Updating BodyComparer to display actual and expected in the correct order and refactoring the naming inside the comparer to be more explicit.
1 parent 809e27d commit cf05c8f

File tree

9 files changed

+62
-61
lines changed

9 files changed

+62
-61
lines changed

PactNet/Comparers/IComparer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
{
33
public interface IComparer<in T>
44
{
5-
void Compare(T item1, T item2);
5+
void Compare(T expected, T actual);
66
}
77
}

PactNet/Mocks/MockHttpService/Comparers/HttpBodyComparer.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,36 +18,36 @@ public HttpBodyComparer(string messagePrefix, IReporter reporter)
1818
}
1919

2020
//TODO: Remove boolean and add "matching" functionality
21-
public void Validate(dynamic body1, dynamic body2, bool useStrict = false)
21+
public void Validate(dynamic expected, dynamic actual, bool useStrict = false)
2222
{
2323
_comparisonPasses = 0;
2424

25-
if (body1 == null)
25+
if (expected == null)
2626
{
2727
return;
2828
}
2929

30-
if (body1 != null && body2 == null)
30+
if (expected != null && actual == null)
3131
{
3232
_reporter.ReportError("Body is null");
3333
return;
3434
}
3535

36-
string body1Json = JsonConvert.SerializeObject(body1);
37-
string body2Json = JsonConvert.SerializeObject(body2);
38-
var httpBody1 = JsonConvert.DeserializeObject<JToken>(body1Json);
39-
var httpBody2 = JsonConvert.DeserializeObject<JToken>(body2Json);
36+
string expectedJson = JsonConvert.SerializeObject(expected);
37+
string actualJson = JsonConvert.SerializeObject(actual);
38+
var expectedToken = JsonConvert.DeserializeObject<JToken>(expectedJson);
39+
var actualToken = JsonConvert.DeserializeObject<JToken>(actualJson);
4040

4141
if (useStrict)
4242
{
43-
if (!JToken.DeepEquals(httpBody1, httpBody2))
43+
if (!JToken.DeepEquals(expectedToken, actualToken))
4444
{
45-
_reporter.ReportError(expected: httpBody1, actual: httpBody2);
45+
_reporter.ReportError(expected: expectedToken, actual: actualToken);
4646
}
4747
return;
4848
}
4949

50-
AssertPropertyValuesMatch(httpBody1, httpBody2);
50+
AssertPropertyValuesMatch(expectedToken, actualToken);
5151
}
5252

5353

PactNet/Mocks/MockHttpService/Comparers/HttpHeaderComparer.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,44 +16,44 @@ public HttpHeaderComparer(string messagePrefix, IReporter reporter)
1616
_reporter = reporter;
1717
}
1818

19-
public void Compare(IDictionary<string, string> headers1, IDictionary<string, string> headers2)
19+
public void Compare(IDictionary<string, string> expected, IDictionary<string, string> actual)
2020
{
21-
if (headers2 == null)
21+
if (actual == null)
2222
{
2323
_reporter.ReportError("Headers are null");
2424
return;
2525
}
2626

27-
headers2 = MakeDictionaryCaseInsensitive(headers2);
27+
actual = MakeDictionaryCaseInsensitive(actual);
2828

29-
foreach (var header in headers1)
29+
foreach (var header in expected)
3030
{
3131
_reporter.ReportInfo(String.Format("{0} includes header {1} with value {2}", _messagePrefix, header.Key, header.Value));
3232

33-
string value2;
33+
string actualValue;
3434

35-
if (headers2.TryGetValue(header.Key, out value2))
35+
if (actual.TryGetValue(header.Key, out actualValue))
3636
{
37-
var value1 = header.Value;
37+
var expectedValue = header.Value;
3838

39-
var value2Split = value2.Split(new[] {',', ';'});
40-
if (value2Split.Length == 1)
39+
var actualValueSplit = actualValue.Split(new[] { ',', ';' });
40+
if (actualValueSplit.Length == 1)
4141
{
42-
if (!header.Value.Equals(value2))
42+
if (!header.Value.Equals(actualValue))
4343
{
44-
_reporter.ReportError(expected: header.Value, actual: value2);
44+
_reporter.ReportError(expected: expectedValue, actual: actualValue);
4545
return;
4646
}
4747
}
4848
else
4949
{
50-
var value1Split = value1.Split(new[] {',', ';'});
51-
var value1SplitJoined = String.Join(",", value1Split.Select(x => x.Trim()));
52-
var value2SplitJoined = String.Join(",", value2Split.Select(x => x.Trim()));
50+
var expectedValueSplit = expectedValue.Split(new[] {',', ';'});
51+
var expectedValueSplitJoined = String.Join(",", expectedValueSplit.Select(x => x.Trim()));
52+
var actualValueSplitJoined = String.Join(",", actualValueSplit.Select(x => x.Trim()));
5353

54-
if (!value1SplitJoined.Equals(value2SplitJoined))
54+
if (!expectedValueSplitJoined.Equals(actualValueSplitJoined))
5555
{
56-
_reporter.ReportError(expected: header.Value, actual: value2);
56+
_reporter.ReportError(expected: expectedValue, actual: actualValue);
5757
return;
5858
}
5959
}

PactNet/Mocks/MockHttpService/Comparers/HttpMethodComparer.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ public HttpMethodComparer(string messagePrefix, IReporter reporter)
1515
_reporter = reporter;
1616
}
1717

18-
public void Compare(HttpVerb method1, HttpVerb method2)
18+
public void Compare(HttpVerb expected, HttpVerb actual)
1919
{
20-
_reporter.ReportInfo(String.Format("{0} has method set to {1}", _messagePrefix, method1));
21-
if (!method1.Equals(method2))
20+
_reporter.ReportInfo(String.Format("{0} has method set to {1}", _messagePrefix, expected));
21+
if (!expected.Equals(actual))
2222
{
23-
_reporter.ReportError(expected: method1, actual: method2);
23+
_reporter.ReportError(expected: expected, actual: actual);
2424
return;
2525
}
2626
}

PactNet/Mocks/MockHttpService/Comparers/HttpPathComparer.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@ public HttpPathComparer(string messagePrefix, IReporter reporter)
1414
_reporter = reporter;
1515
}
1616

17-
public void Compare(string path1, string path2)
17+
public void Compare(string expected, string actual)
1818
{
19-
if (path1 == null)
19+
if (expected == null)
2020
{
2121
return;
2222
}
2323

24-
_reporter.ReportInfo(String.Format("{0} has path set to {1}", _messagePrefix, path1));
24+
_reporter.ReportInfo(String.Format("{0} has path set to {1}", _messagePrefix, expected));
2525

26-
if (!path1.Equals(path2))
26+
if (!expected.Equals(actual))
2727
{
28-
_reporter.ReportError(expected: path1, actual: path2);
28+
_reporter.ReportError(expected: expected, actual: actual);
2929
return;
3030
}
3131
}

PactNet/Mocks/MockHttpService/Comparers/HttpQueryStringComparer.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ public HttpQueryStringComparer(string messagePrefix, IReporter reporter)
1515
_reporter = reporter;
1616
}
1717

18-
public void Compare(string expectedQuery, string actualQuery)
18+
public void Compare(string expected, string actual)
1919
{
20-
if (expectedQuery == null)
20+
if (expected == null)
2121
{
2222
return;
2323
}
2424

25-
var normalisedExpectedQuery = ConvertUrlEncodingToUpperCase(expectedQuery);
26-
var normalisedActualQuery = ConvertUrlEncodingToUpperCase(actualQuery);
25+
var normalisedExpectedQuery = ConvertUrlEncodingToUpperCase(expected);
26+
var normalisedActualQuery = ConvertUrlEncodingToUpperCase(actual);
2727

2828
_reporter.ReportInfo(String.Format("{0} has query set to {1}", _messagePrefix, normalisedExpectedQuery));
2929

PactNet/Mocks/MockHttpService/Comparers/IHttpBodyComparer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
{
33
public interface IHttpBodyComparer
44
{
5-
void Validate(dynamic body1, dynamic body2, bool useStrict = false);
5+
void Validate(dynamic expected, dynamic actual, bool useStrict = false);
66
}
77
}

PactNet/Mocks/MockHttpService/Comparers/ProviderServiceRequestComparer.cs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,32 +25,33 @@ public ProviderServiceRequestComparer(IReporter reporter)
2525
_httpBodyComparer = new HttpBodyComparer(MessagePrefix, _reporter);
2626
}
2727

28-
public void Compare(ProviderServiceRequest request1, ProviderServiceRequest request2)
28+
public void Compare(ProviderServiceRequest expected, ProviderServiceRequest actual)
2929
{
30-
if (request1 == null)
30+
if (expected == null)
3131
{
3232
_reporter.ReportError("Expected request cannot be null");
33+
return;
3334
}
3435

35-
_httpMethodComparer.Compare(request1.Method, request2.Method);
36+
_httpMethodComparer.Compare(expected.Method, actual.Method);
3637

37-
_httpPathComparer.Compare(request1.Path, request2.Path);
38+
_httpPathComparer.Compare(expected.Path, actual.Path);
3839

39-
_httpQueryStringComparer.Compare(request1.Query, request2.Query);
40+
_httpQueryStringComparer.Compare(expected.Query, actual.Query);
4041

41-
if (request1.Headers != null && request1.Headers.Any())
42+
if (expected.Headers != null && expected.Headers.Any())
4243
{
43-
if (request2.Headers == null)
44+
if (actual.Headers == null)
4445
{
4546
_reporter.ReportError("Headers are null");
4647
}
4748

48-
_httpHeaderComparer.Compare(request1.Headers, request2.Headers);
49+
_httpHeaderComparer.Compare(expected.Headers, actual.Headers);
4950
}
5051

51-
if (request1.Body != null)
52+
if (expected.Body != null)
5253
{
53-
_httpBodyComparer.Validate(request2.Body, request1.Body, true);
54+
_httpBodyComparer.Validate(expected.Body, actual.Body, true);
5455
}
5556
}
5657
}

PactNet/Mocks/MockHttpService/Comparers/ProviderServiceResponseComparer.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,29 +22,29 @@ public ProviderServiceResponseComparer(IReporter reporter)
2222
_httpBodyComparer = new HttpBodyComparer(MessagePrefix, _reporter); //TODO: MessagePrefix isn't real nice
2323
}
2424

25-
public void Compare(ProviderServiceResponse response1, ProviderServiceResponse response2)
25+
public void Compare(ProviderServiceResponse expected, ProviderServiceResponse actual)
2626
{
27-
if (response1 == null)
27+
if (expected == null)
2828
{
2929
_reporter.ReportError("Expected response cannot be null");
3030
return;
3131
}
3232

33-
_reporter.ReportInfo(String.Format("{0} has status code of {1}", MessagePrefix, response1.Status));
34-
if (!response1.Status.Equals(response2.Status))
33+
_reporter.ReportInfo(String.Format("{0} has status code of {1}", MessagePrefix, expected.Status));
34+
if (!expected.Status.Equals(actual.Status))
3535
{
36-
_reporter.ReportError(expected: response1.Status, actual: response2.Status);
36+
_reporter.ReportError(expected: expected.Status, actual: actual.Status);
3737
}
3838

39-
if (response1.Headers != null && response1.Headers.Any())
39+
if (expected.Headers != null && expected.Headers.Any())
4040
{
41-
_httpHeaderComparer.Compare(response1.Headers, response2.Headers);
41+
_httpHeaderComparer.Compare(expected.Headers, actual.Headers);
4242
}
4343

44-
if (response1.Body != null)
44+
if (expected.Body != null)
4545
{
46-
string expectedResponseBodyJson = JsonConvert.SerializeObject(response1.Body);
47-
string actualResponseBodyJson = JsonConvert.SerializeObject(response2.Body);
46+
string expectedResponseBodyJson = JsonConvert.SerializeObject(expected.Body);
47+
string actualResponseBodyJson = JsonConvert.SerializeObject(actual.Body);
4848
var actualResponseBody = JsonConvert.DeserializeObject<JToken>(actualResponseBodyJson);
4949
var expectedResponseBody = JsonConvert.DeserializeObject<JToken>(expectedResponseBodyJson);
5050

0 commit comments

Comments
 (0)