diff --git a/processor/src/test/java/io/jonasg/bob/BobTests.java b/processor/src/test/java/io/jonasg/bob/BobTests.java index b9a1caf..aed6330 100644 --- a/processor/src/test/java/io/jonasg/bob/BobTests.java +++ b/processor/src/test/java/io/jonasg/bob/BobTests.java @@ -2,11 +2,14 @@ import java.util.List; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import io.toolisticon.cute.Cute; import io.toolisticon.cute.CuteApi; import io.toolisticon.cute.JavaFileObjectUtils; +import org.junit.jupiter.api.condition.EnabledForJreRange; +import org.junit.jupiter.api.condition.JRE; public class BobTests { @@ -240,4 +243,28 @@ void allPublicSettersThatHaveCorrespondingFieldsAreBuildable() { "/tests/AllPublicSettersThatHaveCorrespondingFieldsAreBuildable/Expected_AllPublicSettersThatHaveCorrespondingFieldsAreBuildable.java")) .executeTest(); } + + @Nested + class RecordTests { + + @Test + @EnabledForJreRange(max = JRE.JAVA_11, disabledReason = "Records do not exist yet") + public void recordsAreBuildable() { + Cute.blackBoxTest() + .given() + .processors(List.of(BuildableProcessor.class)) + .andSourceFiles("/tests/RecordsAreBuildable/RecordsAreBuildable.java") + .whenCompiled() + .thenExpectThat() + .compilationSucceeds() + .andThat() + .generatedSourceFile("io.jonasg.bob.test.RecordsAreBuildableBuilder") + .matches( + CuteApi.ExpectedFileObjectMatcherKind.BINARY, + JavaFileObjectUtils.readFromResource( + "/tests/RecordsAreBuildable/Expected_RecordsAreBuildable.java")) + .executeTest(); + } + + } } diff --git a/processor/src/test/java/io/jonasg/bob/RecordsTest.java b/processor/src/test/java/io/jonasg/bob/RecordsTest.java index 1ed1d32..1d61918 100644 --- a/processor/src/test/java/io/jonasg/bob/RecordsTest.java +++ b/processor/src/test/java/io/jonasg/bob/RecordsTest.java @@ -10,21 +10,21 @@ public class RecordsTest { @Test - public void recordsAreBuildable() { + public void recordsAreBuildableWithStepwise() { Cute.blackBoxTest() - .given() - .processors(List.of(BuildableProcessor.class)) - .andSourceFiles("/tests/RecordsAreBuildable/RecordsAreBuildable.java") - .whenCompiled() - .thenExpectThat() - .compilationSucceeds() - .andThat() - .generatedSourceFile("io.jonasg.bob.test.RecordsAreBuildableBuilder") - .matches( - CuteApi.ExpectedFileObjectMatcherKind.BINARY, - JavaFileObjectUtils.readFromResource( - "/tests/RecordsAreBuildable/Expected_RecordsAreBuildable.java")) - .executeTest(); + .given() + .processors(List.of(BuildableProcessor.class)) + .andSourceFiles("/tests/RecordsAreBuildable/RecordsAreBuildable.java") + .whenCompiled() + .thenExpectThat() + .compilationSucceeds() + .andThat() + .generatedSourceFile("io.jonasg.bob.test.RecordsAreBuildableBuilder") + .matches( + CuteApi.ExpectedFileObjectMatcherKind.BINARY, + JavaFileObjectUtils.readFromResource( + "/tests/RecordsAreBuildable/Expected_RecordsAreBuildable.java")) + .executeTest(); } }