From 34f4650190e10c9e8d7660dc2c8c891fd645c0ec Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Wed, 8 Feb 2023 14:32:07 +0100 Subject: 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. --- .../jazzer/mutation/support/TypeSupportTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/test/java/com/code_intelligence/jazzer/mutation') 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>() { }.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>() { + }.annotatedType(), List.class)).isEmpty(); + } } -- cgit v1.2.3