guesserqueue.java

来自「junit」· Java 代码 · 共 58 行

JAVA
58
字号
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 + =
减小字号Ctrl + -
显示快捷键?