package kg.apc.jmeter.gui; import org.junit.Test; import static org.junit.Assert.*; import javax.swing.JTextField; import java.awt.Color; /** * Unit tests for IntegerInputVerifier. */ public class IntegerInputVerifierTest { static Color background = Color.WHITE; static Color warningBackground = Color.YELLOW; /** * Test getMin() and getMax(). */ @Test public void testMinMax() { int min = 0; int max = 100; IntegerInputVerifier verifier = new IntegerInputVerifier(min, max, background, warningBackground); assertEquals("min differs", min, verifier.getMin()); assertEquals("max differs", max, verifier.getMax()); } /** * Test shouldYieldFocus() with valid input. */ @Test public void testShouldYieldFocusValidInput() throws Exception { int min = 0; int max = 100; IntegerInputVerifier verifier = new IntegerInputVerifier(min, max, background, warningBackground); JTextField input = new JTextField(Integer.toString(min+5)); input.setBackground(warningBackground); assertTrue(verifier.shouldYieldFocus(input)); assertEquals("background was not reset", background, input.getBackground()); } /** * Test shouldYieldFocus() with valid invalid input. */ @Test public void testShouldYieldFocusValidInvalidInput() throws Exception { int min = 0; int max = 100; IntegerInputVerifier verifier = new IntegerInputVerifier(min, max, background, warningBackground); JTextField input = new JTextField("a"); input.setBackground(background); assertFalse(verifier.shouldYieldFocus(input)); assertEquals("background was not set to warning color", warningBackground, input.getBackground()); } /** * Test verify() with a non-integer value. */ @Test public void testVerifyNonInteger() throws Exception { int min = 0; int max = 100; IntegerInputVerifier verifier = new IntegerInputVerifier(min, max, background, warningBackground); JTextField input = new JTextField("A"); assertFalse(verifier.verify(input)); } /** * Test verify() with am integer == min. */ @Test public void testVerifyMin() throws Exception { int min = 0; int max = 100; IntegerInputVerifier verifier = new IntegerInputVerifier(min, max, background, warningBackground); JTextField input = new JTextField(Integer.toString(min)); assertTrue(verifier.verify(input)); } /** * Test verify() with am integer == max. */ @Test public void testVerifyMax() throws Exception { int min = 0; int max = 100; IntegerInputVerifier verifier = new IntegerInputVerifier(min, max, background, warningBackground); JTextField input = new JTextField(Integer.toString(max)); assertTrue(verifier.verify(input)); } /** * Test verify() with am integer < min. */ @Test public void testVerifyLessThanMin() throws Exception { int min = 0; int max = 100; IntegerInputVerifier verifier = new IntegerInputVerifier(min, max, background, warningBackground); JTextField input = new JTextField(Integer.toString(min-1)); assertFalse(verifier.verify(input)); } /** * Test verify() with am integer > max. */ @Test public void testVerifyGreaterThanMax() throws Exception { int min = 0; int max = 100; IntegerInputVerifier verifier = new IntegerInputVerifier(min, max, background, warningBackground); JTextField input = new JTextField(Integer.toString(Integer.MAX_VALUE)); assertFalse(verifier.verify(input)); } }