package org.test4j.hamcrest.iassert.common.intf; import org.test4j.hamcrest.iassert.object.intf.IStringAssert; import ext.test4j.hamcrest.Matcher; /** * the basic asserting matcher * * @author darui.wudr * @param <T> * @param <E> */ @SuppressWarnings("rawtypes") public interface IBaseAssert<T, E extends IAssert> extends Matcher<T>, IAssert<T, E> { /** * 对象的toString等于期望值 * * @param expected * @return */ E eqToString(String expected); /** * 对象的toString符合断言器判断 * * @param matcher * @return */ E eqToString(IStringAssert matcher); /** * 断言对象等于期望的值<br> * same as method "isEqualTo(T)" * * @param expected 期望值 * @return */ E eq(T expected); /** * 断言对象等于期望的值<br> * same as method "eq(T)" * * @param expected 期望值 * @return */ E isEqualTo(T expected); /** * 断言对象等于期望的值 * * @param message 错误信息 * @param expected 期望值 * @return */ E isEqualTo(String message, T expected); /** * 断言对象不等于期望的值 * * @param expected 期望值 * @return */ E notEqualTo(T expected); /** * 断言对象可以在期望值里面找到 * * @param values 期望值 * @return */ E in(T... values); /** * 断言对象不可以在期望值里面找到 * * @param values 期望值 * @return */ E notIn(T... values); /** * 断言对象的类型等于期望类型 * * @param claz 期望类型 * @return */ E clazIs(Class claz); /** * 断言对象的类型是期望类型的子类 * * @param claz * @return */ E clazIsSubFrom(Class claz); /** * 断言对象符合任一个对象行为定义<br> * same as "matchAny(...)" * * @param matcher1 对象行为定义,具体定义参见 ext.test4j.hamcrest.Matcher * @param matcher2 * @param matchers * @return */ E any(E matcher, E... matchers); /** * 断言对象符合所有的对象行为定义<br> * same as "matchAll(Matcher...)" * * @param matcher * @param matchers * @return */ E all(E matcher, E... matchers); /** * 断言对象不符合matcher所定义的行为 * * @param matcher 对象行为定义,具体定义参见 ext.test4j.hamcrest.Matcher * @return */ E not(E matcher); /** * 没有一个断言器可以匹配实际对象,即每一个断言器都匹配失败 * * @param matcher * @param matchers * @return */ E notAny(Matcher matcher, Matcher... matchers); /** * 不是所有的断言器都可以匹配实际对象,即至少有一个断言器失败 * * @param matcher * @param matchers * @return */ E notAll(Matcher matcher, Matcher... matchers); /** * 断言对象和期望值是同一个对象 * * @param value 期望值 * @return */ E same(T value); /** * 断言对象可以使任意的值 * * @return */ E any(); /** * 断言对象值等于null * * @return */ E isNull(); /** * 断言对象值等于null * * @return */ E isNull(String message); /** * 断言对象值不等于null * * @return */ E notNull(); /** * 断言对象值不等于null * * @return */ E notNull(String message); }