From 042a17c4a45f0c469c696563d3f0c79cfc787547 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 20:23:46 +0000 Subject: [PATCH 01/24] Bump com.github.javaparser:javaparser-core from 3.26.0 to 3.26.1 Bumps [com.github.javaparser:javaparser-core](https://github.com/javaparser/javaparser) from 3.26.0 to 3.26.1. - [Release notes](https://github.com/javaparser/javaparser/releases) - [Changelog](https://github.com/javaparser/javaparser/blob/master/changelog.md) - [Commits](https://github.com/javaparser/javaparser/compare/javaparser-parent-3.26.0...javaparser-parent-3.26.1) --- updated-dependencies: - dependency-name: com.github.javaparser:javaparser-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- approvaltests-tests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/approvaltests-tests/pom.xml b/approvaltests-tests/pom.xml index 48f8be4f9..b96f4ade0 100644 --- a/approvaltests-tests/pom.xml +++ b/approvaltests-tests/pom.xml @@ -128,7 +128,7 @@ com.github.javaparser javaparser-core - 3.26.0 + 3.26.1 From e29aa4b60ca8eed2713192a86dda60cfaaa63c92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Jun 2024 20:13:17 +0000 Subject: [PATCH 02/24] Bump org.junit.jupiter:junit-jupiter-engine from 5.10.2 to 5.10.3 Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.10.2 to 5.10.3. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-engine dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- approvaltests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/approvaltests/pom.xml b/approvaltests/pom.xml index 80b6581a3..1848876e3 100644 --- a/approvaltests/pom.xml +++ b/approvaltests/pom.xml @@ -113,7 +113,7 @@ org.junit.jupiter junit-jupiter-engine - 5.10.2 + 5.10.3 test From 8adac1eb38d8b3cb84109b23bde50bcc59fce9f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Jun 2024 20:13:24 +0000 Subject: [PATCH 03/24] Bump org.junit.vintage:junit-vintage-engine from 5.10.2 to 5.10.3 Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5) from 5.10.2 to 5.10.3. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3) --- updated-dependencies: - dependency-name: org.junit.vintage:junit-vintage-engine dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- approvaltests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/approvaltests/pom.xml b/approvaltests/pom.xml index 1848876e3..6dfc7dc9b 100644 --- a/approvaltests/pom.xml +++ b/approvaltests/pom.xml @@ -119,7 +119,7 @@ org.junit.vintage junit-vintage-engine - 5.10.2 + 5.10.3 test From 959007a27252464dca10676e79293e220a4ee28b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Jun 2024 20:13:28 +0000 Subject: [PATCH 04/24] Bump org.junit.jupiter:junit-jupiter-api from 5.10.2 to 5.10.3 Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.10.2 to 5.10.3. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- approvaltests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/approvaltests/pom.xml b/approvaltests/pom.xml index 6dfc7dc9b..c8d758695 100644 --- a/approvaltests/pom.xml +++ b/approvaltests/pom.xml @@ -100,7 +100,7 @@ org.junit.jupiter junit-jupiter-api - 5.10.2 + 5.10.3 compile true From 04b7073e4dbf177103d50583c6b25290c4cdb6de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 28 Jun 2024 20:04:50 +0000 Subject: [PATCH 05/24] Bump net.jqwik:jqwik from 1.8.5 to 1.9.0 Bumps [net.jqwik:jqwik](https://github.com/jqwik-team/jqwik) from 1.8.5 to 1.9.0. - [Release notes](https://github.com/jqwik-team/jqwik/releases) - [Commits](https://github.com/jqwik-team/jqwik/compare/1.8.5...1.9.0) --- updated-dependencies: - dependency-name: net.jqwik:jqwik dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- approvaltests-tests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/approvaltests-tests/pom.xml b/approvaltests-tests/pom.xml index b96f4ade0..4d986e948 100644 --- a/approvaltests-tests/pom.xml +++ b/approvaltests-tests/pom.xml @@ -81,7 +81,7 @@ net.jqwik jqwik - 1.8.5 + 1.9.0 From ba86da64ed02f2e22fc5926cb6deb9afcdb17d89 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Jul 2024 20:16:50 +0000 Subject: [PATCH 06/24] Bump commons-logging:commons-logging from 1.3.2 to 1.3.3 Bumps commons-logging:commons-logging from 1.3.2 to 1.3.3. --- updated-dependencies: - dependency-name: commons-logging:commons-logging dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- approvaltests-tests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/approvaltests-tests/pom.xml b/approvaltests-tests/pom.xml index 4d986e948..b71602acf 100644 --- a/approvaltests-tests/pom.xml +++ b/approvaltests-tests/pom.xml @@ -118,7 +118,7 @@ commons-logging commons-logging - 1.3.2 + 1.3.3 com.sun.mail From 773e0fa1a1495839dad7d6231324e523ea1beb4f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 20:04:01 +0000 Subject: [PATCH 07/24] Bump com.fasterxml.jackson.core:jackson-core from 2.17.1 to 2.17.2 Bumps [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) from 2.17.1 to 2.17.2. - [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.17.1...jackson-core-2.17.2) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- approvaltests-tests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/approvaltests-tests/pom.xml b/approvaltests-tests/pom.xml index b71602acf..949248325 100644 --- a/approvaltests-tests/pom.xml +++ b/approvaltests-tests/pom.xml @@ -97,7 +97,7 @@ com.fasterxml.jackson.core jackson-core - 2.17.1 + 2.17.2 com.fasterxml.jackson.core From 718e12afbced635ee180a0bfaa60e225b6bc1be0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 20:04:04 +0000 Subject: [PATCH 08/24] Bump com.fasterxml.jackson.core:jackson-databind from 2.17.1 to 2.17.2 Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.17.1 to 2.17.2. - [Commits](https://github.com/FasterXML/jackson/commits) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- approvaltests-tests/pom.xml | 2 +- approvaltests/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/approvaltests-tests/pom.xml b/approvaltests-tests/pom.xml index 949248325..b3a373096 100644 --- a/approvaltests-tests/pom.xml +++ b/approvaltests-tests/pom.xml @@ -102,7 +102,7 @@ com.fasterxml.jackson.core jackson-databind - 2.17.1 + 2.17.2 org.apache.camel diff --git a/approvaltests/pom.xml b/approvaltests/pom.xml index c8d758695..ce4c0d359 100644 --- a/approvaltests/pom.xml +++ b/approvaltests/pom.xml @@ -53,7 +53,7 @@ com.fasterxml.jackson.core jackson-databind - 2.17.1 + 2.17.2 true From bd7021a1b7b6c97a1bba52c4c0e5331994336e0c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Jul 2024 20:54:34 +0000 Subject: [PATCH 09/24] Bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.0 to 3.3.1 Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.3.0 to 3.3.1. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.0...surefire-3.3.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- approvaltests-tests/pom.xml | 2 +- approvaltests-util-tests/pom.xml | 2 +- pom.xml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/approvaltests-tests/pom.xml b/approvaltests-tests/pom.xml index b3a373096..770b6c18c 100644 --- a/approvaltests-tests/pom.xml +++ b/approvaltests-tests/pom.xml @@ -140,7 +140,7 @@ maven-surefire-plugin - 3.3.0 + 3.3.1 org.apache.maven.plugins diff --git a/approvaltests-util-tests/pom.xml b/approvaltests-util-tests/pom.xml index 353f18cad..c9d79695a 100644 --- a/approvaltests-util-tests/pom.xml +++ b/approvaltests-util-tests/pom.xml @@ -83,7 +83,7 @@ maven-surefire-plugin - 3.3.0 + 3.3.1 diff --git a/pom.xml b/pom.xml index 2d199afe1..33234d8c8 100644 --- a/pom.xml +++ b/pom.xml @@ -100,7 +100,7 @@ maven-surefire-plugin - 3.3.0 + 3.3.1 -Duser.language=en -Duser.region=US @@ -151,7 +151,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.3.0 + 3.3.1 org.apache.maven.plugins From 4c32b03639ddf9d3e9a973f27dd77b713e271a0e Mon Sep 17 00:00:00 2001 From: Scott Wierschem Date: Thu, 11 Jul 2024 15:37:52 -0500 Subject: [PATCH 10/24] - B verifyAsJson() handles null LocalTimeDates. Fixes #531 --- .../org/approvaltests/JsonApprovalsTest.java | 26 +++++++++++++++++++ ...onApprovalsTest.nullDateTest.approved.json | 3 +++ .../main/java/com/spun/util/JsonUtils.java | 6 ++++- 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.java create mode 100644 approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.nullDateTest.approved.json diff --git a/approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.java b/approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.java new file mode 100644 index 000000000..76210336d --- /dev/null +++ b/approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.java @@ -0,0 +1,26 @@ +package org.approvaltests; + +import com.spun.util.Wrapper; +import org.junit.jupiter.api.Test; + +import java.time.LocalDateTime; + +public class JsonApprovalsTest { + @Test + void nullDateTest() { + LocalDateWrapper localDateWrapper = new LocalDateWrapper(); + JsonApprovals.verifyAsJson(localDateWrapper, g -> g.serializeNulls()); + } + + private class LocalDateWrapper { + public LocalDateTime getLocalDate() { + return localDate; + } + + public void setLocalDate(LocalDateTime localDate) { + this.localDate = localDate; + } + + private LocalDateTime localDate; + } +} diff --git a/approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.nullDateTest.approved.json b/approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.nullDateTest.approved.json new file mode 100644 index 000000000..6c31a16c8 --- /dev/null +++ b/approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.nullDateTest.approved.json @@ -0,0 +1,3 @@ +{ + "localDate": null +} \ No newline at end of file diff --git a/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java b/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java index 90cfee33b..97947c9e4 100644 --- a/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java +++ b/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java @@ -112,7 +112,11 @@ public static class LocalDateTimeAdapter extends TypeAdapter @Override public void write(JsonWriter jsonWriter, LocalDateTime instant) throws IOException { - jsonWriter.value(instant.toString()); + if (instant == null) { + jsonWriter.nullValue(); + } else { + jsonWriter.value("" + instant); + } } @Override public LocalDateTime read(JsonReader jsonReader) throws IOException From 3d2c129a4098b982f489dbcd58be3792153519bc Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 11 Jul 2024 20:38:50 +0000 Subject: [PATCH 11/24] a reformat code --- .../org/approvaltests/JsonApprovalsTest.java | 34 ++++++++++--------- .../main/java/com/spun/util/JsonUtils.java | 7 ++-- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.java b/approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.java index 76210336d..bdabf71b7 100644 --- a/approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.java +++ b/approvaltests-tests/src/test/java/org/approvaltests/JsonApprovalsTest.java @@ -5,22 +5,24 @@ import java.time.LocalDateTime; -public class JsonApprovalsTest { - @Test - void nullDateTest() { - LocalDateWrapper localDateWrapper = new LocalDateWrapper(); - JsonApprovals.verifyAsJson(localDateWrapper, g -> g.serializeNulls()); +public class JsonApprovalsTest +{ + @Test + void nullDateTest() + { + LocalDateWrapper localDateWrapper = new LocalDateWrapper(); + JsonApprovals.verifyAsJson(localDateWrapper, g -> g.serializeNulls()); + } + private class LocalDateWrapper + { + public LocalDateTime getLocalDate() + { + return localDate; } - - private class LocalDateWrapper { - public LocalDateTime getLocalDate() { - return localDate; - } - - public void setLocalDate(LocalDateTime localDate) { - this.localDate = localDate; - } - - private LocalDateTime localDate; + public void setLocalDate(LocalDateTime localDate) + { + this.localDate = localDate; } + private LocalDateTime localDate; + } } diff --git a/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java b/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java index 97947c9e4..b278c0da0 100644 --- a/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java +++ b/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java @@ -112,9 +112,12 @@ public static class LocalDateTimeAdapter extends TypeAdapter @Override public void write(JsonWriter jsonWriter, LocalDateTime instant) throws IOException { - if (instant == null) { + if (instant == null) + { jsonWriter.nullValue(); - } else { + } + else + { jsonWriter.value("" + instant); } } From 4214e8103c454c4b3589f10faa561afe5156eb03 Mon Sep 17 00:00:00 2001 From: Scott Wierschem Date: Thu, 11 Jul 2024 16:18:15 -0500 Subject: [PATCH 12/24] - F verifyJson() accepts GsonBuilder Fixes #479 --- ...persTest.listAllVerifyFunctions.approved.md | 9 +++++---- .../org/approvaltests/JsonFormattingTest.java | 7 +++++++ ...estJsonFieldOrderingWithNulls.approved.json | 18 ++++++++++++++++++ .../src/main/java/com/spun/util/JsonUtils.java | 6 +++++- .../java/org/approvaltests/JsonApprovals.java | 11 ++++++++++- 5 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 approvaltests-tests/src/test/java/org/approvaltests/JsonFormattingTest.testJsonFieldOrderingWithNulls.approved.json diff --git a/approvaltests-tests/src/test/java/org/approvaltests/DocumentHelpersTest.listAllVerifyFunctions.approved.md b/approvaltests-tests/src/test/java/org/approvaltests/DocumentHelpersTest.listAllVerifyFunctions.approved.md index e6f4cfb4c..332338058 100644 --- a/approvaltests-tests/src/test/java/org/approvaltests/DocumentHelpersTest.listAllVerifyFunctions.approved.md +++ b/approvaltests-tests/src/test/java/org/approvaltests/DocumentHelpersTest.listAllVerifyFunctions.approved.md @@ -51,10 +51,11 @@ * CombinationApprovals. [verifyBestCoveringPairs ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/combinations/CombinationApprovals.java#L291-L299) (Function7, Object[], Object[], Object[], Object[], Object[], Object[], Object[], $\color{#AAA}{\textsf{Options}}$) * CombinationApprovals. [verifyBestCoveringPairs ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/combinations/CombinationApprovals.java#L309-L317) (Function8, Object[], Object[], Object[], Object[], Object[], Object[], Object[], Object[], $\color{#AAA}{\textsf{Options}}$) * CombinationApprovals. [verifyBestCoveringPairs ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/combinations/CombinationApprovals.java#L326-L333) (Function9, Object[], Object[], Object[], Object[], Object[], Object[], Object[], Object[], Object[], $\color{#AAA}{\textsf{Options}}$) - * JsonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L44-L47) (Object, $\color{#AAA}{\textsf{Options}}$) - * JsonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L39-L42) (Object, Function1, $\color{#AAA}{\textsf{Options}}$) - * JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L18-L21) (String, $\color{#AAA}{\textsf{Options}}$) - * JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L26-L30) (String, boolean, $\color{#AAA}{\textsf{Options}}$) + * JsonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L53-L56) (Object, $\color{#AAA}{\textsf{Options}}$) + * JsonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L48-L51) (Object, Function1, $\color{#AAA}{\textsf{Options}}$) + * JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L17-L20) (String, $\color{#AAA}{\textsf{Options}}$) + * JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L35-L39) (String, boolean, $\color{#AAA}{\textsf{Options}}$) + * JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L29-L34) (String, boolean, Function1, $\color{#AAA}{\textsf{Options}}$) * JsonJacksonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonJacksonApprovals.java#L14-L17) (Object, $\color{#AAA}{\textsf{Options}}$) * JsonXstreamApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonXstreamApprovals.java#L18-L21) (Object, $\color{#AAA}{\textsf{Options}}$) * VelocityApprovals. [verify ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/velocity/VelocityApprovals.java#L16-L24) (ContextAware, $\color{#AAA}{\textsf{Options}}$) diff --git a/approvaltests-tests/src/test/java/org/approvaltests/JsonFormattingTest.java b/approvaltests-tests/src/test/java/org/approvaltests/JsonFormattingTest.java index 04f93ae5d..993f2bdc8 100644 --- a/approvaltests-tests/src/test/java/org/approvaltests/JsonFormattingTest.java +++ b/approvaltests-tests/src/test/java/org/approvaltests/JsonFormattingTest.java @@ -69,4 +69,11 @@ public void testJsonFieldOrdering() JsonApprovals.verifyJson(JsonUtils.reorderFields(json1)); JsonApprovals.verifyJson(JsonUtils.reorderFields(json2)); } + @Test + public void testJsonFieldOrderingWithNulls() + { + Approvals.settings().allowMultipleVerifyCallsForThisMethod(); + String json1 = "{\"infos\":{\"address\":null,\"phone\":\"my phone\"},\"insurance\":{\"forks\":[14,53,123],\"prices\":[5,8,\"3%\"]}}"; + JsonApprovals.verifyJson(json1, true, g -> g.serializeNulls()); + } } diff --git a/approvaltests-tests/src/test/java/org/approvaltests/JsonFormattingTest.testJsonFieldOrderingWithNulls.approved.json b/approvaltests-tests/src/test/java/org/approvaltests/JsonFormattingTest.testJsonFieldOrderingWithNulls.approved.json new file mode 100644 index 000000000..47bfd23f7 --- /dev/null +++ b/approvaltests-tests/src/test/java/org/approvaltests/JsonFormattingTest.testJsonFieldOrderingWithNulls.approved.json @@ -0,0 +1,18 @@ +{ + "infos": { + "address": null, + "phone": "my phone" + }, + "insurance": { + "forks": [ + 14, + 53, + 123 + ], + "prices": [ + 5, + 8, + "3%" + ] + } +} \ No newline at end of file diff --git a/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java b/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java index b278c0da0..feee66f20 100644 --- a/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java +++ b/approvaltests-util/src/main/java/com/spun/util/JsonUtils.java @@ -66,9 +66,13 @@ private static GsonBuilder addHandlingForDateObjects(GsonBuilder builder) return builder; } public static String reorderFields(String json) + { + return reorderFields(json, g -> g); + } + public static String reorderFields(String json, Function1 gsonBuilder) { JsonObject sortedJsonObject = sortJsonObject(json); - return asJson(sortedJsonObject); + return asJson(sortedJsonObject, gsonBuilder); } public static JsonObject sortJsonObject(String json) { diff --git a/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java b/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java index 4857da891..8afc4ca8f 100644 --- a/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java +++ b/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java @@ -1,7 +1,6 @@ package org.approvaltests; import com.google.gson.GsonBuilder; -import com.spun.util.FormattedException; import com.spun.util.JsonUtils; import org.approvaltests.core.Options; import org.lambda.functions.Function1; @@ -23,6 +22,16 @@ public static void verifyJson(String json, boolean reorderJson) { verifyJson(json, reorderJson, new Options()); } + public static void verifyJson(String json, boolean reorderJson, Function1 gsonBuilder) + { + verifyJson(json, reorderJson, gsonBuilder, new Options()); + } + public static void verifyJson(String json, boolean reorderJson, Function1 gsonBuilder, + Options options) + { + String formattedJson = reorderJson ? JsonUtils.reorderFields(json, gsonBuilder) : JsonUtils.prettyPrint(json); + Approvals.verify(formattedJson, options.forFile().withExtension(".json")); + } public static void verifyJson(String json, boolean reorderJson, Options options) { String formattedJson = reorderJson ? JsonUtils.reorderFields(json) : JsonUtils.prettyPrint(json); From e918834fbf771fb7182214ea428afa7f0d421549 Mon Sep 17 00:00:00 2001 From: github actions Date: Thu, 11 Jul 2024 21:19:11 +0000 Subject: [PATCH 13/24] . d updated markdown snippets --- .../docs/how_to/CreateCustomizedVerifyMethods.md | 2 +- approvaltests/docs/reference/Verify.md | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/approvaltests/docs/how_to/CreateCustomizedVerifyMethods.md b/approvaltests/docs/how_to/CreateCustomizedVerifyMethods.md index 18fef113e..b13b5dccb 100644 --- a/approvaltests/docs/how_to/CreateCustomizedVerifyMethods.md +++ b/approvaltests/docs/how_to/CreateCustomizedVerifyMethods.md @@ -20,7 +20,7 @@ public static void verifyAsJson(Object o, Options options) Approvals.verify(JsonUtils.asJson(o), options.forFile().withExtension(".json")); } ``` -snippet source | anchor +snippet source | anchor ## Create a `Verifiable` Object diff --git a/approvaltests/docs/reference/Verify.md b/approvaltests/docs/reference/Verify.md index f771607a4..0f40382d4 100644 --- a/approvaltests/docs/reference/Verify.md +++ b/approvaltests/docs/reference/Verify.md @@ -67,10 +67,11 @@ Here is a list: * CombinationApprovals. [verifyBestCoveringPairs ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/combinations/CombinationApprovals.java#L291-L299) (Function7, Object[], Object[], Object[], Object[], Object[], Object[], Object[], $\color{#AAA}{\textsf{Options}}$) * CombinationApprovals. [verifyBestCoveringPairs ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/combinations/CombinationApprovals.java#L309-L317) (Function8, Object[], Object[], Object[], Object[], Object[], Object[], Object[], Object[], $\color{#AAA}{\textsf{Options}}$) * CombinationApprovals. [verifyBestCoveringPairs ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/combinations/CombinationApprovals.java#L326-L333) (Function9, Object[], Object[], Object[], Object[], Object[], Object[], Object[], Object[], Object[], $\color{#AAA}{\textsf{Options}}$) - * JsonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L44-L47) (Object, $\color{#AAA}{\textsf{Options}}$) - * JsonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L39-L42) (Object, Function1, $\color{#AAA}{\textsf{Options}}$) - * JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L18-L21) (String, $\color{#AAA}{\textsf{Options}}$) - * JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L26-L30) (String, boolean, $\color{#AAA}{\textsf{Options}}$) + * JsonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L53-L56) (Object, $\color{#AAA}{\textsf{Options}}$) + * JsonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L48-L51) (Object, Function1, $\color{#AAA}{\textsf{Options}}$) + * JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L17-L20) (String, $\color{#AAA}{\textsf{Options}}$) + * JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L35-L39) (String, boolean, $\color{#AAA}{\textsf{Options}}$) + * JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L29-L34) (String, boolean, Function1, $\color{#AAA}{\textsf{Options}}$) * JsonJacksonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonJacksonApprovals.java#L14-L17) (Object, $\color{#AAA}{\textsf{Options}}$) * JsonXstreamApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonXstreamApprovals.java#L18-L21) (Object, $\color{#AAA}{\textsf{Options}}$) * VelocityApprovals. [verify ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/velocity/VelocityApprovals.java#L16-L24) (ContextAware, $\color{#AAA}{\textsf{Options}}$) From 35f6e3315ed588cb386886e2367a32936e0ff95e Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 11 Jul 2024 21:28:22 +0000 Subject: [PATCH 14/24] v 24.3.0 --- README.md | 4 ++-- .../inline/InlineApprovalsTest.java | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 8797d3fef..5c0e6ceee 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ If you're using Maven, add this to your pom file: com.approvaltests approvaltests - 24.2.0 + 24.3.0 test ``` @@ -92,7 +92,7 @@ If you're using Maven, add this to your pom file: ```gradle dependencies { - testImplementation("com.approvaltests:approvaltests:24.2.0") + testImplementation("com.approvaltests:approvaltests:24.3.0") } ``` diff --git a/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java b/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java index 7a72f9039..f95da30ba 100644 --- a/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java +++ b/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java @@ -181,9 +181,9 @@ private static Mutable hijackInlineReporter(Options options) void testSemiAutomaticMessage() { var expected = """ - 41 - ***** DELETE ME TO APPROVE ***** - """; + 41 + ***** DELETE ME TO APPROVE ***** + """; var options = new Options().inline(expected, InlineOptions.semiAutomatic()); try { @@ -198,11 +198,11 @@ void testSemiAutomaticMessage() void testSemiAutomaticWithPreviousApproved() { var expected = """ - 42 - ***** DELETE ME TO APPROVE ***** - vvvvv PREVIOUS RESULT vvvvv - 41 - """; + 42 + ***** DELETE ME TO APPROVE ***** + vvvvv PREVIOUS RESULT vvvvv + 41 + """; var options = new Options().inline(expected, InlineOptions.semiAutomaticWithPreviousApproved()); try { From 58cf78a63b6f6f60eacbd6395117c98dfb3f5f3d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 20:30:42 +0000 Subject: [PATCH 15/24] Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0 Bumps org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-lang3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- approvaltests-util/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/approvaltests-util/pom.xml b/approvaltests-util/pom.xml index 6bcaf41b3..e55c289fc 100644 --- a/approvaltests-util/pom.xml +++ b/approvaltests-util/pom.xml @@ -69,7 +69,7 @@ org.apache.commons commons-lang3 - 3.14.0 + 3.15.0 From 6808abe7537877aa1d63e18a3cf0217a24b481cc Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 18 Jul 2024 20:33:15 +0000 Subject: [PATCH 16/24] a reformat code --- .../inline/InlineApprovalsTest.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java b/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java index f95da30ba..7a72f9039 100644 --- a/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java +++ b/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java @@ -181,9 +181,9 @@ private static Mutable hijackInlineReporter(Options options) void testSemiAutomaticMessage() { var expected = """ - 41 - ***** DELETE ME TO APPROVE ***** - """; + 41 + ***** DELETE ME TO APPROVE ***** + """; var options = new Options().inline(expected, InlineOptions.semiAutomatic()); try { @@ -198,11 +198,11 @@ void testSemiAutomaticMessage() void testSemiAutomaticWithPreviousApproved() { var expected = """ - 42 - ***** DELETE ME TO APPROVE ***** - vvvvv PREVIOUS RESULT vvvvv - 41 - """; + 42 + ***** DELETE ME TO APPROVE ***** + vvvvv PREVIOUS RESULT vvvvv + 41 + """; var options = new Options().inline(expected, InlineOptions.semiAutomaticWithPreviousApproved()); try { From 0d0f5131892c78b02cb95dae204016eb88674b29 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 20:57:09 +0000 Subject: [PATCH 17/24] Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.8.0 Bumps [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.7.0 to 3.8.0. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.7.0...maven-javadoc-plugin-3.8.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 33234d8c8..a38878059 100644 --- a/pom.xml +++ b/pom.xml @@ -191,7 +191,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.7.0 + 3.8.0 attach-javadocs From 7125aa1930b5e14ddac60f96428404ce34ecd1ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 20:02:03 +0000 Subject: [PATCH 18/24] Bump org.easymock:easymock from 5.3.0 to 5.4.0 Bumps [org.easymock:easymock](https://github.com/easymock/easymock) from 5.3.0 to 5.4.0. - [Release notes](https://github.com/easymock/easymock/releases) - [Changelog](https://github.com/easymock/easymock/blob/master/ReleaseNotes.md) - [Commits](https://github.com/easymock/easymock/compare/easymock-5.3.0...easymock-5.4.0) --- updated-dependencies: - dependency-name: org.easymock:easymock dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- approvaltests-tests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/approvaltests-tests/pom.xml b/approvaltests-tests/pom.xml index 770b6c18c..390dcb284 100644 --- a/approvaltests-tests/pom.xml +++ b/approvaltests-tests/pom.xml @@ -69,7 +69,7 @@ org.easymock easymock - 5.3.0 + 5.4.0 test From 301d1219b3b829400e56063c5e357ceab97ef7dc Mon Sep 17 00:00:00 2001 From: Scott Wierschem Date: Thu, 1 Aug 2024 16:34:58 -0500 Subject: [PATCH 19/24] . td Documenting an Extract Method --- .../inline/InlineApprovalsTest.java | 16 ++++---- .../LoadersAndSaversExamplesTest.java | 29 ++++++++++--- .../docs/how_to/LoadersAndSavers.md | 41 ++++++++++--------- pom.xml | 10 +++++ 4 files changed, 63 insertions(+), 33 deletions(-) diff --git a/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java b/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java index 7a72f9039..f95da30ba 100644 --- a/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java +++ b/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java @@ -181,9 +181,9 @@ private static Mutable hijackInlineReporter(Options options) void testSemiAutomaticMessage() { var expected = """ - 41 - ***** DELETE ME TO APPROVE ***** - """; + 41 + ***** DELETE ME TO APPROVE ***** + """; var options = new Options().inline(expected, InlineOptions.semiAutomatic()); try { @@ -198,11 +198,11 @@ void testSemiAutomaticMessage() void testSemiAutomaticWithPreviousApproved() { var expected = """ - 42 - ***** DELETE ME TO APPROVE ***** - vvvvv PREVIOUS RESULT vvvvv - 41 - """; + 42 + ***** DELETE ME TO APPROVE ***** + vvvvv PREVIOUS RESULT vvvvv + 41 + """; var options = new Options().inline(expected, InlineOptions.semiAutomaticWithPreviousApproved()); try { diff --git a/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java b/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java index 1341b63ea..5326b7440 100644 --- a/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java +++ b/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java @@ -86,17 +86,37 @@ public void sendOutSeniorDiscounts(DataBase database, MailServer mailServer) } // end-snippet } - class Step3 + class Step2b { - // begin-snippet: step3 + // begin-snippet: step2_b public void sendOutSeniorDiscounts(DataBase database, MailServer mailServer) { - sendOutSeniorDiscounts(mailServer, database::getSeniorCustomers); // + + Loader> seniorCustomerLoader = database::getSeniorCustomers; + List seniorCustomers = seniorCustomerLoader.load(); + // ... + // end-snippet + for (Customer customer : seniorCustomers) + { + Discount seniorDiscount = getSeniorDiscount(); + String message = generateDiscountMessage(customer, seniorDiscount); + mailServer.sendMessage(customer, message); + } + } + } + class Step3a + { + // begin-snippet: step3_a + public void sendOutSeniorDiscounts(DataBase database, MailServer mailServer) + { + Loader> seniorCustomerLoader = database::getSeniorCustomers; + sendOutSeniorDiscounts(mailServer, seniorCustomerLoader); // + } // + // + - public void sendOutSeniorDiscounts(MailServer mailServer, Loader> seniorCustomerLoader) + public void sendOutSeniorDiscounts(MailServer mailServer, Loader> seniorCustomerLoader) // + { // + List seniorCustomers = seniorCustomerLoader.load(); + // ... + // end-snippet for (Customer customer : seniorCustomers) { Discount seniorDiscount = getSeniorDiscount(); @@ -104,7 +124,6 @@ public void sendOutSeniorDiscounts(MailServer mailServer, Loader> mailServer.sendMessage(customer, message); } } - // end-snippet } private String generateDiscountMessage(Customer customer, Discount seniorDiscount) { diff --git a/approvaltests-util/docs/how_to/LoadersAndSavers.md b/approvaltests-util/docs/how_to/LoadersAndSavers.md index 079258347..5837cb682 100644 --- a/approvaltests-util/docs/how_to/LoadersAndSavers.md +++ b/approvaltests-util/docs/how_to/LoadersAndSavers.md @@ -120,6 +120,7 @@ List.of(new Customer("Bob, Jones, 123 Elm St., Tempe, AZ, 14-MAR-1958"), ### Step 4: In the original method, replace the function call with a Loader +
  public void sendOutSeniorDiscounts(DataBase database, MailServer mailServer) {
     List<Customer> seniorCustomers = database.getSeniorCustomers(); 
@@ -145,27 +146,27 @@ List.of(new Customer("Bob, Jones, 123 Elm St., Tempe, AZ, 14-MAR-1958"),
 
 Step 5: Now we introduce the new loader function as a parameter to the original function. (If you use the IDE's refactoring tools to do this it will save a lot of effort).
 
-```
-public void sendOutSeniorDiscounts(DataBase database, MailServer mailServer) {
-
-    List<Customer> seniorCustomers = ((Loader<List) () -> database.getSeniorCustomers()).load();
-
-        // ...
+
 
-}
-```
-
-becomes
-
-```
-public void sendOutSeniorDiscounts(DataBase database, MailServer mailServer, Loader<List seniorCustomerLoader) {
-
-    List<Customer> seniorCustomers = seniorCustomerLoader.load();
-
-    // ...
-
-}
-```
+
+        public void sendOutSeniorDiscounts(DataBase database, MailServer mailServer) {
+            Loader<List<Customer>> seniorCustomerLoader = database::getSeniorCustomers;
+            List<Customer> seniorCustomers = seniorCustomerLoader.load();
+            // ...
+        }
+
+# ⇓ extract method +
+        public void sendOutSeniorDiscounts(DataBase database, MailServer mailServer) {
+            Loader<List<Customer>> seniorCustomerLoader = database::getSeniorCustomers;
+            sendOutSeniorDiscounts(mailServer, seniorCustomerLoader); 
+        } 
+          
+        public void sendOutSeniorDiscounts(MailServer mailServer, Loader<List<Customer>> seniorCustomerLoader) { 
+            List<Customer> seniorCustomers = seniorCustomerLoader.load();
+            // ...
+        }
+
Step 6: Update the calls to this function (including tests) to use the new Loader parameter. diff --git a/pom.xml b/pom.xml index a38878059..8c7e8fb7c 100644 --- a/pom.xml +++ b/pom.xml @@ -124,6 +124,16 @@ true + + org.apache.maven.plugins + maven-site-plugin + 3.12.1 + + + org.apache.maven.plugins + maven-project-info-reports-plugin + 3.4.5 + From 92ad5dabbce845db5a58f0180a3b97ffacf5170d Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 1 Aug 2024 21:35:45 +0000 Subject: [PATCH 20/24] a reformat code --- .../inline/InlineApprovalsTest.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java b/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java index f95da30ba..7a72f9039 100644 --- a/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java +++ b/approvaltests-tests/src/test/java/org/approvaltests/inline/InlineApprovalsTest.java @@ -181,9 +181,9 @@ private static Mutable hijackInlineReporter(Options options) void testSemiAutomaticMessage() { var expected = """ - 41 - ***** DELETE ME TO APPROVE ***** - """; + 41 + ***** DELETE ME TO APPROVE ***** + """; var options = new Options().inline(expected, InlineOptions.semiAutomatic()); try { @@ -198,11 +198,11 @@ void testSemiAutomaticMessage() void testSemiAutomaticWithPreviousApproved() { var expected = """ - 42 - ***** DELETE ME TO APPROVE ***** - vvvvv PREVIOUS RESULT vvvvv - 41 - """; + 42 + ***** DELETE ME TO APPROVE ***** + vvvvv PREVIOUS RESULT vvvvv + 41 + """; var options = new Options().inline(expected, InlineOptions.semiAutomaticWithPreviousApproved()); try { From 902ae2e1775107bb4a909bf24cc05c6782fd2f9e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2024 20:27:46 +0000 Subject: [PATCH 21/24] Bump org.apache.maven.plugins:maven-project-info-reports-plugin Bumps [org.apache.maven.plugins:maven-project-info-reports-plugin](https://github.com/apache/maven-project-info-reports-plugin) from 3.4.5 to 3.6.2. - [Commits](https://github.com/apache/maven-project-info-reports-plugin/compare/maven-project-info-reports-plugin-3.4.5...maven-project-info-reports-plugin-3.6.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-project-info-reports-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8c7e8fb7c..b3d0adbab 100644 --- a/pom.xml +++ b/pom.xml @@ -132,7 +132,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.4.5 + 3.6.2 From d846198ef7b009bf1db71a28a82ace7da9489090 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Aug 2024 20:19:04 +0000 Subject: [PATCH 22/24] Bump org.apache.commons:commons-lang3 from 3.15.0 to 3.16.0 Bumps org.apache.commons:commons-lang3 from 3.15.0 to 3.16.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-lang3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- approvaltests-util/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/approvaltests-util/pom.xml b/approvaltests-util/pom.xml index e55c289fc..278a75a06 100644 --- a/approvaltests-util/pom.xml +++ b/approvaltests-util/pom.xml @@ -69,7 +69,7 @@ org.apache.commons commons-lang3 - 3.15.0 + 3.16.0 From f45f66890b5e17c9638ca843ffb28f90cbe3d1c9 Mon Sep 17 00:00:00 2001 From: Scott Wierschem Date: Thu, 8 Aug 2024 16:14:17 -0500 Subject: [PATCH 23/24] . td Documenting Test update on Step 6 --- .../LoadersAndSaversExamplesTest.java | 19 ++++++++++ .../docs/how_to/LoadersAndSavers.md | 36 +++++++++++++------ 2 files changed, 45 insertions(+), 10 deletions(-) diff --git a/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java b/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java index 5326b7440..4dd86679d 100644 --- a/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java +++ b/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java @@ -124,6 +124,25 @@ public void sendOutSeniorDiscounts(MailServer mailServer, Loader> mailServer.sendMessage(customer, message); } } + // begin-snippet: step0_b + @Test + public void senior_customer_list_includes_only_those_over_age_65() + { + Loader> mailingList = () -> List.of(new Customer("Bob"), new Customer("Mary"), new Customer("Tom")); + MailServer mailServer = initializeMailServer(); + sendOutSeniorDiscounts(mailServer, mailingList); + Approvals.verifyAll("", mailServer.getRecipients()); + } + // end-snippet + private MailServer initializeMailServer() + { + return new MailServer(); + } + private DataBase initializeDatabase() + { + return null; + } + } private String generateDiscountMessage(Customer customer, Discount seniorDiscount) { diff --git a/approvaltests-util/docs/how_to/LoadersAndSavers.md b/approvaltests-util/docs/how_to/LoadersAndSavers.md index 5837cb682..e9e2acdb6 100644 --- a/approvaltests-util/docs/how_to/LoadersAndSavers.md +++ b/approvaltests-util/docs/how_to/LoadersAndSavers.md @@ -168,19 +168,35 @@ Step 5: Now we introduce the new loader function as a parameter to the original }
-Step 6: Update the calls to this function (including tests) to use the new Loader parameter. +Step 6: Update the unit tests to use the new Loader parameter. +We have now removed the reliance on the database to retrieve the data. +We still rely on a mail server to send the results. -public void senior_customer_list_includes_only_those_over_age_65() { - -  MailServer mailServer = // initialize server - -  List<Customer> seniorCustomers = List.of(new Customer("Bob", "Jones", /\* ... /), / ... \*/); - -  sendOutSeniorDiscounts(null, mailServer, () -> seniorCustomers)); + -  Approvals.verifyAll(mailServer.getRecipients()); +
+    @Test
+    public void senior_customer_list_includes_only_those_over_age_65()
+    {
+      DataBase database = initializeDatabase(); 
+      MailServer mailServer = initializeMailServer();
+      sendOutSeniorDiscounts( mailServer, database ); 
+      Approvals.verifyAll("", mailServer.getRecipients());
+    }
+
+# ⇓ +
+    @Test
+    public void senior_customer_list_includes_only_those_over_age_65()
+    {
+      DataBase database = initializeDatabase();  
+      Loader<List<Customer>> mailingList = () -> List.of(new Customer("Bob"), new Customer("Mary"), new Customer("Tom")); 
+      MailServer mailServer = initializeMailServer();
+      sendOutSeniorDiscounts( mailServer, database  mailingList ); 
+      Approvals.verifyAll("", mailServer.getRecipients());
+    }
+
-} Step 7: Now we can remove the DataBase as a parameter altogether. From 2fd19535dc978bc1853517754c6afd8e44dbb6cf Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 8 Aug 2024 21:15:03 +0000 Subject: [PATCH 24/24] a reformat code --- .../spun/util/persistence/LoadersAndSaversExamplesTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java b/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java index 4dd86679d..a9babf333 100644 --- a/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java +++ b/approvaltests-util-tests/src/test/java/com/spun/util/persistence/LoadersAndSaversExamplesTest.java @@ -128,7 +128,8 @@ public void sendOutSeniorDiscounts(MailServer mailServer, Loader> @Test public void senior_customer_list_includes_only_those_over_age_65() { - Loader> mailingList = () -> List.of(new Customer("Bob"), new Customer("Mary"), new Customer("Tom")); + Loader> mailingList = () -> List.of(new Customer("Bob"), new Customer("Mary"), + new Customer("Tom")); MailServer mailServer = initializeMailServer(); sendOutSeniorDiscounts(mailServer, mailingList); Approvals.verifyAll("", mailServer.getRecipients()); @@ -142,7 +143,6 @@ private DataBase initializeDatabase() { return null; } - } private String generateDiscountMessage(Customer customer, Discount seniorDiscount) {