summaryrefslogtreecommitdiff
path: root/gson/src
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-11-14 02:23:01 +0100
committerLinnea Gräf <nea@nea.moe>2024-11-14 02:23:01 +0100
commitd19c25d5d58944d03011a99ff2dbeaaa29e416d2 (patch)
tree2a4df68a9977de701ca0053249dbcb57071fa87a /gson/src
parentde24bd3786441914c8071092274ac160cc2c02c3 (diff)
downloadprofunctor-codecs-java-d19c25d5d58944d03011a99ff2dbeaaa29e416d2.tar.gz
profunctor-codecs-java-d19c25d5d58944d03011a99ff2dbeaaa29e416d2.tar.bz2
profunctor-codecs-java-d19c25d5d58944d03011a99ff2dbeaaa29e416d2.zip
Add re-encode tests
Diffstat (limited to 'gson/src')
-rw-r--r--gson/src/test/java/moe/nea/jcp/gson/test/TestBasic.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/gson/src/test/java/moe/nea/jcp/gson/test/TestBasic.java b/gson/src/test/java/moe/nea/jcp/gson/test/TestBasic.java
index c0e42b6..c525303 100644
--- a/gson/src/test/java/moe/nea/jcp/gson/test/TestBasic.java
+++ b/gson/src/test/java/moe/nea/jcp/gson/test/TestBasic.java
@@ -6,6 +6,7 @@ import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import moe.nea.jcp.gson.GsonCodecs;
import moe.nea.jcp.gson.GsonOperations;
+import moe.nea.pcj.Codec;
import moe.nea.pcj.Decode;
import moe.nea.pcj.Result;
import moe.nea.pcj.json.JsonLikeError;
@@ -37,8 +38,10 @@ public class TestBasic {
Assertions.assertEquals(expected, result.valueOrPartial().get());
}
- <T> Result<T, JsonLikeError> decode(Decode<T, JsonElement, JsonLikeOperations<JsonElement>, JsonLikeError> decode, JsonElement element) {
- return Result.cast(decode.decode(element, GsonOperations.INSTANCE));
+ <T> Result<T, JsonLikeError> decode(Codec<T, JsonElement, JsonLikeOperations<JsonElement>, JsonLikeError, JsonLikeError> decode, JsonElement element) {
+ Result<T, JsonLikeError> result = Result.cast(decode.decode(element, GsonOperations.INSTANCE));
+ result.value().ifPresent(decoded -> Assertions.assertEquals(Result.ok(element), decode.encode(decoded, GsonOperations.INSTANCE)));
+ return result;
}
GsonCodecs codecs = GsonCodecs.INSTANCE;