AssertionUtils.java

1
package com.github.dakusui.osynth.core.utils;
2
3
import com.github.dakusui.osynth.core.MethodHandlerEntry;
4
import com.github.dakusui.osynth.core.SynthesizedObject;
5
6
import java.lang.annotation.Annotation;
7
import java.lang.reflect.Method;
8
import java.util.*;
9
import java.util.function.Function;
10
import java.util.function.Predicate;
11
12
import static com.github.dakusui.pcond.core.refl.MethodQuery.instanceMethod;
13
import static com.github.dakusui.pcond.forms.Functions.call;
14
import static com.github.dakusui.pcond.forms.Functions.parameter;
15
import static com.github.dakusui.pcond.forms.Predicates.callp;
16
import static com.github.dakusui.pcond.forms.Printables.function;
17
import static com.github.dakusui.pcond.forms.Printables.predicate;
18
19
public enum AssertionUtils {
20
  ;
21
22
  public static Function<Class<?>, Method> classGetMethod(String name, Class<?>[] parameterTypes) {
23 1 1. classGetMethod : replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::classGetMethod → KILLED
    return call(instanceMethod(parameter(), "getMethod", name, parameterTypes));
24
  }
25
26
  public static Function<SynthesizedObject.Descriptor, Object> descriptorFallbackObject() {
27 1 1. descriptorFallbackObject : replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::descriptorFallbackObject → KILLED
    return call(instanceMethod(parameter(), "fallbackObject"));
28
  }
29
30
  public static Function<SynthesizedObject.Descriptor, List<MethodHandlerEntry>> descriptorMethodHandlerEntries() {
31 1 1. descriptorMethodHandlerEntries : replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::descriptorMethodHandlerEntries → KILLED
    return call(instanceMethod(parameter(), "methodHandlerEntries"));
32
  }
33
34
  public static Function<SynthesizedObject.Descriptor, List<Class<?>>> descriptorInterfaces() {
35 1 1. descriptorInterfaces : replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::descriptorInterfaces → KILLED
    return call(instanceMethod(parameter(), "interfaces"));
36
  }
37
38
  public static Predicate<Method> methodIsAnnotationPresent(Class<? extends Annotation> annotation) {
39 1 1. methodIsAnnotationPresent : replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::methodIsAnnotationPresent → KILLED
    return callp(instanceMethod(parameter(), "isAnnotationPresent", annotation));
40
  }
41
42
  public static <E> Function<Collection<E>, List<E>> collectionDuplicatedElements() {
43 1 1. collectionDuplicatedElements : replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::collectionDuplicatedElements → KILLED
    return function("duplicatedElements", AssertionUtils::duplicatedElementsIn);
44
  }
45
46
  public static <E> List<E> duplicatedElementsIn(Collection<E> collection) {
47
    HashSet<E> appeared = new HashSet<>();
48
    LinkedHashSet<E> duplication = new LinkedHashSet<>();
49 1 1. duplicatedElementsIn : removed call to java/util/Collection::forEach → KILLED
    collection.forEach(each -> {
50 1 1. lambda$duplicatedElementsIn$0 : negated conditional → KILLED
      if (!appeared.contains(each))
51
        appeared.add(each);
52
      else {
53
        duplication.add(each);
54
      }
55
    });
56 1 1. duplicatedElementsIn : replaced return value with Collections.emptyList for com/github/dakusui/osynth/core/utils/AssertionUtils::duplicatedElementsIn → KILLED
    return new ArrayList<>(duplication);
57
  }
58
59
  public static <T> Predicate<Class<T>> classIsInterface() {
60 1 1. classIsInterface : replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::classIsInterface → KILLED
    return predicate("isInterface", Class::isInterface);
61
  }
62
}

Mutations

23

1.1
Location : classGetMethod
Killed by : com.github.dakusui.osynth.compat.ut.ObjectSynthesizerTest.givenNoExplicitInterface$whenSynthesizedWithoutInclusionFromFallbackInNonAutoMode$thenClassCastException(com.github.dakusui.osynth.compat.ut.ObjectSynthesizerTest)
replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::classGetMethod → KILLED

27

1.1
Location : descriptorFallbackObject
Killed by : com.github.dakusui.osynth.ut.PreprocessingTest.givenValidationLeftDefault$whenTwoReservedMethodsTriedOverridden$thenExceptionThrown(com.github.dakusui.osynth.ut.PreprocessingTest)
replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::descriptorFallbackObject → KILLED

31

1.1
Location : descriptorMethodHandlerEntries
Killed by : com.github.dakusui.osynth.ut.PreprocessingTest.givenValidationLeftDefault$whenTwoReservedMethodsTriedOverridden$thenExceptionThrown(com.github.dakusui.osynth.ut.PreprocessingTest)
replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::descriptorMethodHandlerEntries → KILLED

35

1.1
Location : descriptorInterfaces
Killed by : com.github.dakusui.osynth.ut.PreprocessingTest.givenValidationLeftDefault$whenTwoReservedMethodsTriedOverridden$thenExceptionThrown(com.github.dakusui.osynth.ut.PreprocessingTest)
replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::descriptorInterfaces → KILLED

39

1.1
Location : methodIsAnnotationPresent
Killed by : com.github.dakusui.osynth.compat.ut.ObjectSynthesizerTest.givenSynthesizerWithInterfaceBTwice$whenSynthesize$thenThrowsException(com.github.dakusui.osynth.compat.ut.ObjectSynthesizerTest)
replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::methodIsAnnotationPresent → KILLED

43

1.1
Location : collectionDuplicatedElements
Killed by : com.github.dakusui.osynth.ut.ValidationTest.givenDuplicationCheckEnabled$whenSameIFRegisteredTwice$thenExceptionThrown(com.github.dakusui.osynth.ut.ValidationTest)
replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::collectionDuplicatedElements → KILLED

49

1.1
Location : duplicatedElementsIn
Killed by : com.github.dakusui.osynth.ut.ValidationTest.givenDuplicationCheckEnabled$whenSameIFRegisteredTwice$thenExceptionThrown(com.github.dakusui.osynth.ut.ValidationTest)
removed call to java/util/Collection::forEach → KILLED

50

1.1
Location : lambda$duplicatedElementsIn$0
Killed by : com.github.dakusui.osynth.ut.ValidationTest.givenDuplicationCheckEnabled$whenNoSameIFRegisteredTwice$thenPass(com.github.dakusui.osynth.ut.ValidationTest)
negated conditional → KILLED

56

1.1
Location : duplicatedElementsIn
Killed by : com.github.dakusui.osynth.ut.ValidationTest.givenDuplicationCheckEnabled$whenSameIFRegisteredTwice$thenExceptionThrown(com.github.dakusui.osynth.ut.ValidationTest)
replaced return value with Collections.emptyList for com/github/dakusui/osynth/core/utils/AssertionUtils::duplicatedElementsIn → KILLED

60

1.1
Location : classIsInterface
Killed by : com.github.dakusui.osynth.compat.ut.ObjectSynthesizerTest.givenNoExplicitInterface$whenSynthesizedWithoutInclusionFromFallbackInNonAutoMode$thenClassCastException(com.github.dakusui.osynth.compat.ut.ObjectSynthesizerTest)
replaced return value with null for com/github/dakusui/osynth/core/utils/AssertionUtils::classIsInterface → KILLED

Active mutators

Tests examined


Report generated by PIT 1.7.3