### Question:
TransitionController extends AbstractConnectableController<Transition> { public void setRate(Rate rate) { Rate oldRate = component.getRate(); component.setRate(rate); registerUndoableEdit(new SetRateParameter(component, oldRate, rate)); } protected  TransitionController(Transition component, UndoableEditListener listener); boolean isTimed(); void setTimed(boolean timedValue); boolean isInfiniteServer(); void setInfiniteServer(boolean infiniteValue); String getName(); String getRateExpr(); int getPriority(); void setPriority(int priorityValue); int getAngle(); void setAngle(int angle); Collection<Arc<Place, Transition>> inboundArcs(); Rate getRate(); void setRate(Rate rate);  }### Answer:
@Test public void setRateChangesRateParameter() { Rate rate = new FunctionalRateParameter("2", "foo", "foo"); controller.setRate(rate); verify(transition).setRate(rate); }
@Test public void setRateChangesNormalRate() { Rate rate = new NormalRate("2"); controller.setRate(rate); verify(transition).setRate(rate); }