aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/com/code_intelligence/jazzer/mutation
diff options
context:
space:
mode:
authorFabian Meumertzheim <meumertzheim@code-intelligence.com>2023-02-08 14:32:07 +0100
committerFabian Meumertzheim <fabian@meumertzhe.im>2023-02-16 12:42:32 +0100
commit34f4650190e10c9e8d7660dc2c8c891fd645c0ec (patch)
treeafb0de1cc66a642103555e9191673d83513a2224 /src/test/java/com/code_intelligence/jazzer/mutation
parenta445deac54d91df40a15778d821dae821e8e7428 (diff)
downloadjazzer-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.java13
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();
+ }
}