Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@
* CombinationApprovals. [verifyBestCoveringPairs ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/combinations/CombinationApprovals.java#L653-L661) (Labels, 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#L690-L697) (Labels, 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#L63-L66) (Object, $\color{#AAA}{\textsf{Options}}$)
* JsonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L57-L60) (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#L42-L45) (String, boolean, $\color{#AAA}{\textsf{Options}}$)
* JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L33-L40) (String, boolean, Function1, $\color{#AAA}{\textsf{Options}}$)
* JsonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L56-L60) (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#L41-L44) (String, boolean, $\color{#AAA}{\textsf{Options}}$)
* JsonApprovals. [verifyJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonApprovals.java#L32-L39) (String, boolean, Function1, $\color{#AAA}{\textsf{Options}}$)
* JsonJackson3Approvals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonJackson3Approvals.java#L24-L27) (Object, $\color{#AAA}{\textsf{Options}}$)
* JsonJackson3Approvals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonJackson3Approvals.java#L34-L38) (Object, Function1, $\color{#AAA}{\textsf{Options}}$)
* JsonJacksonApprovals. [verifyAsJson ](https://github.com/approvals/ApprovalTests.Java/blob/master/approvaltests/src/main/java/org/approvaltests/JsonJacksonApprovals.java#L18-L21) (Object, $\color{#AAA}{\textsf{Options}}$)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public class JsonApprovalsTest
void nullDateTest()
{
LocalDateWrapper localDateWrapper = new LocalDateWrapper();
JsonApprovals.verifyAsJson(localDateWrapper, g -> g.serializeNulls());
JsonApprovals.verifyAsJson(localDateWrapper, (GsonBuilder g) -> g.serializeNulls());
}

@Test
Expand Down Expand Up @@ -43,7 +43,7 @@ public void setLocalDate(LocalDateTime localDate)
void nullInstantTest()
{
InstantWrapper instantWrapper = new InstantWrapper();
JsonApprovals.verifyAsJson(instantWrapper, g -> g.serializeNulls());
JsonApprovals.verifyAsJson(instantWrapper, (GsonBuilder g) -> g.serializeNulls());
}
private class InstantWrapper
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,6 @@ 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());
JsonApprovals.verifyJson(json1, true, (GsonBuilder g) -> g.serializeNulls());
}
}
18 changes: 9 additions & 9 deletions approvaltests/src/main/java/org/approvaltests/JsonApprovals.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.approvaltests;

import com.google.gson.GsonBuilder;
import com.spun.util.JsonUtils;
import org.approvaltests.core.Options;
import org.lambda.functions.Function1;
Expand All @@ -25,17 +24,17 @@ public static void verifyJson(String json, boolean reorderJson)
verifyJson(json, reorderJson, new Options());
}

public static void verifyJson(String json, boolean reorderJson, Function1<GsonBuilder, GsonBuilder> gsonBuilder)
public static <T> void verifyJson(String json, boolean reorderJson, Function1<T, T> gsonBuilder)
{
verifyJson(json, reorderJson, gsonBuilder, new Options());
}

public static void verifyJson(String json, boolean reorderJson, Function1<GsonBuilder, GsonBuilder> gsonBuilder,
Options options)
@SuppressWarnings("unchecked")
public static <T> void verifyJson(String json, boolean reorderJson, Function1<T, T> gsonBuilder, Options options)
{
String formattedJson = reorderJson
? JsonUtils.reorderFields(json, gsonBuilder)
: JsonUtils.prettyPrint(json, gsonBuilder);
? JsonUtils.reorderFields(json, (Function1) gsonBuilder)
: JsonUtils.prettyPrint(json, (Function1) gsonBuilder);
Approvals.verify(formattedJson, options.forFile().withExtension(".json"));
}

Expand All @@ -49,14 +48,15 @@ public static void verifyAsJson(Object o)
verifyAsJson(o, new Options());
}

public static void verifyAsJson(Object o, Function1<GsonBuilder, GsonBuilder> gsonBuilder)
public static <T> void verifyAsJson(Object o, Function1<T, T> gsonBuilder)
{
verifyAsJson(o, gsonBuilder, new Options());
}

public static void verifyAsJson(Object o, Function1<GsonBuilder, GsonBuilder> gsonBuilder, Options options)
@SuppressWarnings("unchecked")
public static <T> void verifyAsJson(Object o, Function1<T, T> gsonBuilder, Options options)
{
Approvals.verify(JsonUtils.asJson(o, gsonBuilder), options.forFile().withExtension(".json"));
Approvals.verify(JsonUtils.asJson(o, (Function1) gsonBuilder), options.forFile().withExtension(".json"));
}

// begin-snippet: verify_as_json
Expand Down