package com.dhemery.polling.events;
import com.dhemery.core.Condition;
import org.hamcrest.Description;
import org.hamcrest.SelfDescribing;
import org.hamcrest.StringDescription;
/**
* Reports that a condition was satisfied during a poll.
*/
public class ConditionSatisfied implements SelfDescribing {
private final Condition condition;
private final int failureCount;
public ConditionSatisfied(Condition condition, int failureCount) {
this.condition = condition;
this.failureCount = failureCount;
}
/**
* A description of the condition.
*/
public String description() { return StringDescription.asString(condition); }
/**
* The number of times this condition polled unsatisfied before polling satisfied.
*/
public int failureCount() { return failureCount; }
@Override
public void describeTo(Description description) {
description.appendText("poll was satisfied that ").appendValue(description())
.appendText(" after ").appendValue(failureCount()).appendText(" failures");
}
@Override
public String toString() {
return StringDescription.asString(this);
}
}