@@ -247,8 +247,7 @@ public void should_show_one_difference() {
247247 nullName ,
248248 differences ,
249249 recursiveComparisonConfiguration ,
250- REPRESENTATION )
251- .create (new TextDescription ("Test" ), REPRESENTATION );
250+ REPRESENTATION ).create (new TextDescription ("Test" ), REPRESENTATION );
252251 // @format:on
253252 // THEN
254253 assertThat (message ).isEqualTo (format ("[Test] %n" +
@@ -266,6 +265,38 @@ public void should_show_one_difference() {
266265 CONFIGURATION_PROVIDER .representation ().toStringOf (recursiveComparisonConfiguration )));
267266 }
268267
268+ @ Test
269+ public void should_show_difference_with_percentage () {
270+ // GIVEN
271+ final Name actualName = new Name ("%%Ma%gi%" , "%Johnson" );
272+ final Name nullName = new Name (null , "%Johnson" );
273+ RecursiveComparisonConfiguration recursiveComparisonConfiguration = new RecursiveComparisonConfiguration ();
274+ recursiveComparisonConfiguration .setIgnoreAllActualNullFields (true );
275+ List <ComparisonDifference > differences = computeDifferences (actualName , nullName , recursiveComparisonConfiguration );
276+ // WHEN
277+ // @format:off
278+ String message = shouldBeEqualByComparingFieldByFieldRecursively (actualName ,
279+ nullName ,
280+ differences ,
281+ recursiveComparisonConfiguration ,
282+ REPRESENTATION ).create (new TextDescription ("Test" ), REPRESENTATION );
283+ // @format:on
284+ // THEN
285+ assertThat (message ).isEqualTo (format ("[Test] %n" +
286+ "Expecting:%n" +
287+ " <Name[first='%%%%Ma%%gi%%', last='%%Johnson']>%n" +
288+ "to be equal to:%n" +
289+ " <Name[first='null', last='%%Johnson']>%n" +
290+ "when recursively comparing field by field, but found the following difference:%n" +
291+ "%n" +
292+ "field/property 'first' differ:%n" +
293+ "- actual value : \" %%%%Ma%%gi%%\" %n" +
294+ "- expected value : null%n" +
295+ "%n" +
296+ "The recursive comparison was performed with this configuration:%n%s" ,
297+ CONFIGURATION_PROVIDER .representation ().toStringOf (recursiveComparisonConfiguration )));
298+ }
299+
269300 private List <ComparisonDifference > computeDifferences (Object actual , Object expected ,
270301 RecursiveComparisonConfiguration recursiveComparisonConfiguration ) {
271302 return new RecursiveComparisonDifferenceCalculator ().determineDifferences (actual , expected , recursiveComparisonConfiguration );
0 commit comments