diff options
author | Fabian Meumertzheim <meumertzheim@code-intelligence.com> | 2023-02-08 14:32:07 +0100 |
---|---|---|
committer | Fabian Meumertzheim <fabian@meumertzhe.im> | 2023-02-16 12:42:32 +0100 |
commit | 34f4650190e10c9e8d7660dc2c8c891fd645c0ec (patch) | |
tree | afb0de1cc66a642103555e9191673d83513a2224 /src/test/java/com/code_intelligence/jazzer/mutation | |
parent | a445deac54d91df40a15778d821dae821e8e7428 (diff) | |
download | jazzer-api-34f4650190e10c9e8d7660dc2c8c891fd645c0ec.tar.gz |
mutation: Add a few utility methods
This adds:
* asSubclassOrEmpty as a variant of Class#asSubclass;
* an overload of combine that assembles a SerializingInPlaceMutator;
* an overload of MutatorFactory#createInPlaceOrThrow for AnnotatedType.
Diffstat (limited to 'src/test/java/com/code_intelligence/jazzer/mutation')
-rw-r--r-- | src/test/java/com/code_intelligence/jazzer/mutation/support/TypeSupportTest.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/test/java/com/code_intelligence/jazzer/mutation/support/TypeSupportTest.java b/src/test/java/com/code_intelligence/jazzer/mutation/support/TypeSupportTest.java index 6248d799..dcf090b2 100644 --- a/src/test/java/com/code_intelligence/jazzer/mutation/support/TypeSupportTest.java +++ b/src/test/java/com/code_intelligence/jazzer/mutation/support/TypeSupportTest.java @@ -17,8 +17,10 @@ package com.code_intelligence.jazzer.mutation.support; import static com.code_intelligence.jazzer.mutation.support.TypeSupport.asAnnotatedType; +import static com.code_intelligence.jazzer.mutation.support.TypeSupport.asSubclassOrEmpty; import static com.code_intelligence.jazzer.mutation.support.TypeSupport.withTypeArguments; import static com.google.common.truth.Truth.assertThat; +import static com.google.common.truth.Truth8.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; import com.code_intelligence.jazzer.mutation.annotation.NotNull; @@ -191,4 +193,15 @@ class TypeSupportTest { assertThrows(IllegalArgumentException.class, () -> withTypeArguments(new TypeHolder<List<?>>() { }.annotatedType(), asAnnotatedType(String.class))); } + + @Test + void testAsSubclassOrEmpty() { + assertThat(asSubclassOrEmpty(asAnnotatedType(String.class), String.class)) + .hasValue(String.class); + assertThat(asSubclassOrEmpty(asAnnotatedType(String.class), CharSequence.class)) + .hasValue(String.class); + assertThat(asSubclassOrEmpty(asAnnotatedType(CharSequence.class), String.class)).isEmpty(); + assertThat(asSubclassOrEmpty(new TypeHolder<List<String>>() { + }.annotatedType(), List.class)).isEmpty(); + } } |