package jetbrains.mps.lang.test.runtime;
/*Generated by MPS */
import org.jetbrains.mps.util.Condition;
import jetbrains.mps.openapi.intentions.IntentionExecutable;
import org.jetbrains.annotations.NotNull;
import jetbrains.mps.openapi.intentions.ParameterizedIntentionExecutable;
public class MatchIntentionByIdAndParameter implements Condition<IntentionExecutable> {
private final String myExpectedId;
@NotNull
private final Object myExpectedParameter;
public MatchIntentionByIdAndParameter(String expectedId, Object expectedParameter) {
myExpectedId = expectedId;
myExpectedParameter = expectedParameter;
}
public boolean met(IntentionExecutable intention) {
return intention instanceof ParameterizedIntentionExecutable && intention.getDescriptor().getPersistentStateKey().equals(myExpectedId) && myExpectedParameter.equals(((ParameterizedIntentionExecutable) intention).getParameter());
}
@Override
public String toString() {
return String.format("id: %s, parameter: %s", myExpectedId, myExpectedParameter);
}
}