fourdigitnumberguessactiontests.java

来自「spring的WEB开发插件,支持多状态WEB开发」· Java 代码 · 共 74 行

JAVA
74
字号
package org.springframework.webflow.samples.numberguess;

import java.util.HashMap;
import java.util.Map;

import junit.framework.TestCase;

import org.springframework.webflow.Event;
import org.springframework.webflow.samples.numberguess.FourDigitNumberGuessAction.NumberGuessData;
import org.springframework.webflow.test.MockRequestContext;

public class FourDigitNumberGuessActionTests extends TestCase {
	public void testGuessNoInputProvided() throws Exception {
		MockRequestContext context = new MockRequestContext();
		context.setSourceEvent(new Event(this, "submit"));
		FourDigitNumberGuessAction action = new FourDigitNumberGuessAction();
		Event result = action.guess(context);
		assertEquals("invalidInput", result.getId());
	}
	
	public void testGuessInputInvalidLength() throws Exception {
		MockRequestContext context = new MockRequestContext();
		Map parameters = new HashMap();
		parameters.put("guess", "123");
		context.setSourceEvent(new Event(this, "submit", parameters));
		FourDigitNumberGuessAction action = new FourDigitNumberGuessAction();
		Event result = action.guess(context);
		assertEquals("invalidInput", result.getId());
	}

	public void testGuessInputNotAllDigits() throws Exception {
		MockRequestContext context = new MockRequestContext();
		Map parameters = new HashMap();
		parameters.put("guess", "12AB");
		context.setSourceEvent(new Event(this, "submit", parameters));
		FourDigitNumberGuessAction action = new FourDigitNumberGuessAction();
		Event result = action.guess(context);
		assertEquals("invalidInput", result.getId());
	}

	public void testGuessInputNotUniqueDigits() throws Exception {
		MockRequestContext context = new MockRequestContext();
		Map parameters = new HashMap();
		parameters.put("guess", "1111");
		context.setSourceEvent(new Event(this, "submit", parameters));
		FourDigitNumberGuessAction action = new FourDigitNumberGuessAction();
		Event result = action.guess(context);
		assertEquals("invalidInput", result.getId());
	}

	public void testGuessRetry() throws Exception {
		MockRequestContext context = new MockRequestContext();
		Map parameters = new HashMap();
		parameters.put("guess", "1234");
		context.setSourceEvent(new Event(this, "submit", parameters));
		FourDigitNumberGuessAction action = new FourDigitNumberGuessAction();
		Event result = action.guess(context);
		assertEquals("retry", result.getId());
	}
	
	public void testGuessCorrect() throws Exception {
		MockRequestContext context = new MockRequestContext();
		Map parameters = new HashMap();
		context.setSourceEvent(new Event(this, "submit", parameters));
		FourDigitNumberGuessAction action = new FourDigitNumberGuessAction();
		Event result = action.guess(context);
		NumberGuessData data = (NumberGuessData)context.getFlowScope().getAttribute("data");
		String answer = data.getAnswer();
		parameters.put("guess", answer);
		context.setSourceEvent(new Event(this, "submit", parameters));
		result = action.guess(context);
		assertEquals("correct", result.getId());
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?