package unit;
import static org.junit.Assert.assertEquals;
import java.io.File;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.junit.Test;
import diffstats.DiffFrame;
import diffstats.TextPanel;
public class TextPanelTest {
TextPanel textPanel = new TextPanel(null);
@Test
public void testTextPanelNull() throws IllegalArgumentException, IllegalAccessException {
assertEquals("", textPanel.getFileField().getText());
assertJLabelsInit();
}
@Test
public void testTextPanelString() throws IllegalArgumentException, IllegalAccessException {
textPanel = new TextPanel("test");
assertEquals("test", textPanel.getFileField().getText());
assertJLabelsInit();
}
private void assertJLabelsInit() {
for(int i=1; i<6; i+=2)
assertEquals("--", ((JLabel)((JPanel) textPanel.getComponent(1)).getComponent(i)).getText());
assertEquals("--", ((JLabel)((JPanel) textPanel.getComponent(2)).getComponent(1)).getText());
assertEquals("--", ((JLabel)((JPanel) textPanel.getComponent(2)).getComponent(3)).getText());
}
@Test
public void testSetResults() {
textPanel.setResults(30, 20, 10);
assertEquals("30", ((JLabel)((JPanel) textPanel.getComponent(1)).getComponent(1)).getText());
assertEquals("10", ((JLabel)((JPanel) textPanel.getComponent(1)).getComponent(3)).getText());
assertEquals("10", ((JLabel)((JPanel) textPanel.getComponent(1)).getComponent(5)).getText());
assertEquals("50", ((JLabel)((JPanel) textPanel.getComponent(2)).getComponent(1)).getText());
assertEquals("20.0", ((JLabel)((JPanel) textPanel.getComponent(2)).getComponent(3)).getText());
}
@Test
public void testGetFileField() {
assertEquals(JTextField.class, textPanel.getFileField().getClass());
assertEquals("", textPanel.getFileField().getText());
DiffFrame diffFrame = new DiffFrame(System.getProperty("user.dir") + File.separator +"/tests/resources/sample.udiff");
assertEquals("sample.udiff", diffFrame.getTextPanel().getFileField().getText());
diffFrame.dispose();
}
}