📄 guesserqueue.java
字号:
package org.junit.tests.experimental.theories.extendingwithstubs;import java.util.ArrayList;import java.util.Collections;import java.util.List;import org.junit.experimental.theories.PotentialAssignment;import org.junit.internal.AssumptionViolatedException;public class GuesserQueue extends ArrayList<ReguessableValue> { static class ReguessableDecorator extends ReguessableValue { private final PotentialAssignment delegate; public ReguessableDecorator(PotentialAssignment delegate) { this.delegate= delegate; } @Override public List<ReguessableValue> reguesses(AssumptionViolatedException e) { return Collections.emptyList(); } @Override public Object getValue() throws CouldNotGenerateValueException { return delegate.getValue(); } @Override public String getDescription() throws CouldNotGenerateValueException { return delegate.getDescription(); } } static GuesserQueue forSingleValues( List<PotentialAssignment> potentials) { GuesserQueue returnThis= new GuesserQueue(); for (PotentialAssignment potentialParameterValue : potentials) { returnThis .add(new GuesserQueue.ReguessableDecorator(potentialParameterValue)); } return returnThis; } private static final long serialVersionUID = 1L; private ReguessableValue lastRemoved; public void update(AssumptionViolatedException e) { if (lastRemoved != null) addAll(lastRemoved.reguesses(e)); } @Override public ReguessableValue remove(int index) { lastRemoved = super.remove(index); return lastRemoved; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -