Skip to content

Instantly share code, notes, and snippets.

View csoroiu's full-sized avatar

Claudiu Soroiu csoroiu

  • Tora Trading Services
  • Cluj-Napoca
View GitHub Profile
@csoroiu
csoroiu / MockitoMockMaker.java
Created October 8, 2023 20:19
Determine MockMaker for object
public static String getDefaultMockMaker() {
String className = Plugins.getMockMaker().getClass().getName();
for (String mockMaker : DefaultMockitoPlugins.MOCK_MAKER_ALIASES) {
if (Objects.equals(className, DefaultMockitoPlugins.getDefaultPluginClass(mockMaker))) {
return mockMaker;
}
}
return null;
}
@csoroiu
csoroiu / HasFeatureMatcher.java
Last active July 21, 2018 20:16
Simple feature matcher example
import org.hamcrest.Matcher;
import ro.derbederos.hamcrest.MatcherBuilder;
import java.util.function.Function;
public class HasFeatureMatcher {
public static <T, U> Matcher<T> hasFeature(Class<? super T> inputType,
Function<? super T, ? extends U> featureFunction,
Matcher<? super U> featureMatcher) {
return MatcherBuilder.<T>of(inputType)
@csoroiu
csoroiu / RetryAtomic.java
Created January 18, 2017 20:05
'java.util.concurrent.atomic' hamcrest matchers that retry with timeout using ro.derbederos.hamcrest:lambdamatchers library
import org.hamcrest.Matcher;
import java.util.concurrent.atomic.*;
import static org.hamcrest.CoreMatchers.equalTo;
import static ro.derbederos.hamcrest.RetryMatchers.retry;
public class RetryAtomic {
public static Matcher<AtomicInteger> retryAtomicInteger(long durationMillis, Matcher<Integer> matcher) {
return retry(durationMillis, AtomicInteger::intValue, matcher);
@csoroiu
csoroiu / OptionalMatchers.java
Last active July 22, 2018 20:43
'Optional' hamcrest matchers using ro.derbederos.hamcrest:lambdamatchers library
import org.hamcrest.Matcher;
import java.util.Optional;
import java.util.OptionalDouble;
import java.util.OptionalInt;
import java.util.OptionalLong;
import static org.hamcrest.CoreMatchers.allOf;
import static org.hamcrest.CoreMatchers.equalTo;
import static ro.derbederos.hamcrest.LambdaMatchers.hasFeature;