/* __ __ __ __ __ ___ * \ \ / / \ \ / / __/ * \ \/ / /\ \ \/ / / * \____/__/ \__\____/__/.ɪᴏ * ᶜᵒᵖʸʳᶦᵍʰᵗ ᵇʸ ᵛᵃᵛʳ ⁻ ˡᶦᶜᵉⁿˢᵉᵈ ᵘⁿᵈᵉʳ ᵗʰᵉ ᵃᵖᵃᶜʰᵉ ˡᶦᶜᵉⁿˢᵉ ᵛᵉʳˢᶦᵒⁿ ᵗʷᵒ ᵈᵒᵗ ᶻᵉʳᵒ */ package io.vavr; import org.assertj.core.api.Assertions; import java.lang.reflect.Constructor; public final class AssertionsExtensions { private AssertionsExtensions() { } public static ClassAssert assertThat(Class<?> clazz) { return new ClassAssert(clazz); } public static class ClassAssert { final Class<?> clazz; ClassAssert(Class<?> clazz) { this.clazz = clazz; } public void isNotInstantiable() { final Constructor<?> cons; try { cons = clazz.getDeclaredConstructor(); Assertions.assertThat(cons.isAccessible()).isFalse(); } catch (NoSuchMethodException e) { throw new AssertionError("no default constructor found"); } } } }