Package com.google.common.truth
Class Subject<S extends Subject<S,T>,T>
- java.lang.Object
-
- com.google.common.truth.Subject<S,T>
-
- Direct Known Subclasses:
AbstractArraySubject
,ClassSubject
,ComparableSubject
,DefaultSubject
,IterableSubject
,MapSubject
,OptionalSubject
,Subject
public class Subject<S extends Subject<S,T>,T> extends Object
Propositions for arbitrarily typed subjects and for properties of Object- Author:
- David Saff, Christian Gruber (cgruber@israfil.net)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Subject.HasField
-
Field Summary
Fields Modifier and Type Field Description protected FailureStrategy
failureStrategy
-
Constructor Summary
Constructors Constructor Description Subject(FailureStrategy failureStrategy, T subject)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected TestVerb
check()
A convenience for implementers ofSubject
subclasses to use other truthSubject
wrappers within their own propositional logic.boolean
equals(Object o)
Deprecated.This method is not a proposition, but the default Object equality method.protected void
fail(String verb)
Assembles a failure message and passes such to the FailureStrategyprotected void
fail(String verb, Object part)
Assembles a failure message and passes such to the FailureStrategy.protected void
fail(String verb, Object... messageParts)
Assembles a failure message and passes such to the FailureStrategyprotected void
failWithBadResults(String verb, Object expected, String failVerb, Object actual)
Assembles a failure message and passes it to the FailureStrategyprotected void
failWithCustomSubject(String verb, Object expected, Object actual)
Assembles a failure message with an alternative representation of the wrapped subject and passes it to the FailureStrategyprotected void
failWithoutSubject(String verb)
Assembles a failure message without a given subject and passes it to the FailureStrategyprotected void
failWithRawMessage(String message, Object... parameters)
Passes through a failure message verbatim.protected String
getDisplaySubject()
protected T
getSubject()
Subject.HasField
hasField(String fieldName)
int
hashCode()
Deprecated.Equals/Hashcode is not supported on Subjects.protected String
internalCustomName()
void
is(Object other)
Deprecated.UseisEqualTo(Object)
to check object equality orisSameAs(Object)
to check reference equality.void
isA(Class<?> clazz)
Deprecated.UseisInstanceOf(java.lang.Class<?>)
instead.void
isEqualTo(Object other)
Fails if the subject is not equal to the given object.void
isInstanceOf(Class<?> clazz)
Fails if the subject is not an instance of the given class.void
isNotA(Class<?> clazz)
Deprecated.UseisNotInstanceOf(Class)
instead.void
isNotEqualTo(Object other)
Fails if the subject is equal to the given object.void
isNotInstanceOf(Class<?> clazz)
Fails if the subject is an instance of the given class.void
isNotNull()
Fails if the subject is null.void
isNotSameAs(Object other)
Fails if the subject is the same instance as the given object.void
isNull()
Fails if the subject is not null.void
isSameAs(Object other)
Fails if the subject is not the same instance as the given object.S
labeled(String label)
Deprecated.Usenamed(String)
instead.S
named(String name)
Renames the subject so that this name appears in the error messages in place of string representations of the subject.
-
-
-
Field Detail
-
failureStrategy
protected final FailureStrategy failureStrategy
-
-
Constructor Detail
-
Subject
public Subject(FailureStrategy failureStrategy, T subject)
-
-
Method Detail
-
internalCustomName
protected String internalCustomName()
-
named
public S named(String name)
Renames the subject so that this name appears in the error messages in place of string representations of the subject.
-
labeled
@Deprecated public S labeled(String label)
Deprecated.Usenamed(String)
instead.
-
is
@Deprecated public void is(Object other)
Deprecated.UseisEqualTo(Object)
to check object equality orisSameAs(Object)
to check reference equality.
-
isNull
public void isNull()
Fails if the subject is not null.
-
isNotNull
public void isNotNull()
Fails if the subject is null.
-
isEqualTo
public void isEqualTo(Object other)
Fails if the subject is not equal to the given object.
-
isNotEqualTo
public void isNotEqualTo(Object other)
Fails if the subject is equal to the given object.
-
isSameAs
public void isSameAs(Object other)
Fails if the subject is not the same instance as the given object.
-
isNotSameAs
public void isNotSameAs(Object other)
Fails if the subject is the same instance as the given object.
-
isA
@Deprecated public void isA(Class<?> clazz)
Deprecated.UseisInstanceOf(java.lang.Class<?>)
instead.Fails if the subject is not an instance of the given class.
-
isNotA
@Deprecated public void isNotA(Class<?> clazz)
Deprecated.UseisNotInstanceOf(Class)
instead.Fails if the subject is an instance of the given class.
-
isInstanceOf
public void isInstanceOf(Class<?> clazz)
Fails if the subject is not an instance of the given class.
-
isNotInstanceOf
public void isNotInstanceOf(Class<?> clazz)
Fails if the subject is an instance of the given class.
-
getSubject
protected T getSubject()
-
getDisplaySubject
protected String getDisplaySubject()
-
check
protected TestVerb check()
A convenience for implementers ofSubject
subclasses to use other truthSubject
wrappers within their own propositional logic.
-
fail
protected void fail(String verb)
Assembles a failure message and passes such to the FailureStrategy- Parameters:
verb
- the proposition being asserted
-
fail
protected void fail(String verb, Object part)
Assembles a failure message and passes such to the FailureStrategy. Also performs disambiguation if the subject andpart
have the same toString()'s.- Parameters:
verb
- the proposition being assertedpart
- the value against which the subject is compared
-
fail
protected void fail(String verb, Object... messageParts)
Assembles a failure message and passes such to the FailureStrategy- Parameters:
verb
- the proposition being assertedmessageParts
- the expectations against which the subject is compared
-
failWithBadResults
protected void failWithBadResults(String verb, Object expected, String failVerb, Object actual)
Assembles a failure message and passes it to the FailureStrategy- Parameters:
verb
- the proposition being assertedmessageParts
- the expectations against which the subject is compared
-
failWithCustomSubject
protected void failWithCustomSubject(String verb, Object expected, Object actual)
Assembles a failure message with an alternative representation of the wrapped subject and passes it to the FailureStrategy- Parameters:
verb
- the proposition being assertedexpected
- the expected value of the propositionactual
- the custom representation of the subject to be reported in the failure.
-
failWithoutSubject
protected void failWithoutSubject(String verb)
Assembles a failure message without a given subject and passes it to the FailureStrategy- Parameters:
verb
- the proposition being asserted
-
failWithRawMessage
protected void failWithRawMessage(String message, Object... parameters)
Passes through a failure message verbatim. Used forSubject
subclasses which need to provide alternate language for more fit-to-purpose error messages.- Parameters:
message
- the message template to be passed to the failure. Note, this method only guarantees to process%s
tokens. It is not guaranteed to be compatible withString.format()
. Any other formatting desired (such as floats or scientific notation) should be performed before the method call and the formatted value passed in as a string.paramters
- the object parameters which will be applied to the message template.
-
hasField
@GwtIncompatible("java.lang.reflect.Field") public Subject.HasField hasField(String fieldName)
-
equals
@Deprecated public boolean equals(Object o)
Deprecated.This method is not a proposition, but the default Object equality method. Testing code should use "is" or "isEqualTo" propositions for equality tests.
-
hashCode
@Deprecated public int hashCode()
Deprecated.Equals/Hashcode is not supported on Subjects. Their only use is as a holder of propositions. Use of equals() is deprecated and forwards to isEqualTo() and hashCode() is disallowed.
-
-