diff options
Diffstat (limited to 'hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java')
-rw-r--r-- | hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java b/hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java new file mode 100644 index 0000000..df20824 --- /dev/null +++ b/hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java @@ -0,0 +1,44 @@ +/* Copyright (c) 2000-2006 hamcrest.org + */ +package org.hamcrest.core; + +import org.hamcrest.Description; +import org.hamcrest.Matcher; +import org.hamcrest.Factory; +import org.hamcrest.BaseMatcher; + + +/** + * Tests whether the value is an instance of a class. + */ +public class IsInstanceOf extends BaseMatcher<Object> { + private final Class<?> theClass; + + /** + * Creates a new instance of IsInstanceOf + * + * @param theClass The predicate evaluates to true for instances of this class + * or one of its subclasses. + */ + public IsInstanceOf(Class<?> theClass) { + this.theClass = theClass; + } + + public boolean matches(Object item) { + return theClass.isInstance(item); + } + + public void describeTo(Description description) { + description.appendText("an instance of ") + .appendText(theClass.getName()); + } + + /** + * Is the value an instance of a particular type? + */ + @Factory + public static Matcher<Object> instanceOf(Class<?> type) { + return new IsInstanceOf(type); + } + +} |