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); } }