package de.lessvoid.nifty.controls.textfield; import static org.easymock.EasyMock.createMock; import static org.easymock.EasyMock.replay; import static org.easymock.EasyMock.verify; import org.junit.After; import org.junit.Before; import org.junit.Test; public class TextFieldChangeEventTest { private TextFieldLogic textField; private TextFieldView view; @Before public void before() { view = createMock(TextFieldView.class); textField = new TextFieldLogic("12345", null, view); } @After public void after() { verify(view); } @Test public void testInitWithTextNull() { replay(view); textField.setTextAndNotify(null); } @Test public void testInitWithTextEmpty() { replay(view); textField.setTextAndNotify(""); } @Test public void testInitWithText() { view.textChangeEvent("new text"); replay(view); textField.setTextAndNotify("new text"); } @Test public void testDeleteNotify() { view.textChangeEvent("2345"); replay(view); textField.delete(); } @Test public void testDeleteNotifyNoChange() { replay(view); textField.setCursorPosition(5); textField.delete(); } @Test public void testDeleteNotifyWithSelection() { view.textChangeEvent("2345"); replay(view); textField.startSelecting(); textField.setCursorPosition(1); textField.endSelecting(); textField.delete(); } @Test public void testBackspaceNotifyNoChange() { replay(view); textField.backspace(); } @Test public void testBackspaceNotify() { view.textChangeEvent("2345"); replay(view); textField.setCursorPosition(1); textField.backspace(); } @Test public void testInsert() { view.textChangeEvent("a12345"); replay(view); textField.insert('a'); } @Test public void testInsertWithSelection() { view.textChangeEvent("a2345"); replay(view); textField.startSelecting(); textField.setCursorPosition(1); textField.endSelecting(); textField.insert('a'); } @Test public void testInsertNoChange() { replay(view); textField.setMaxLength(5); textField.insert('a'); } @Test public void testSetMaxLengthNoChange() { replay(view); textField.setMaxLength(5); } @Test public void testSetMaxLength() { view.textChangeEvent("1"); replay(view); textField.setMaxLength(1); } }