package word.w2004;
import junit.framework.Assert;
import org.junit.Test;
import word.utils.TestUtils;
import word.w2004.elements.TableV2;
import word.w2004.elements.tableElements.TableRow;
public class TableV2Test extends Assert {
//TODO: write tests once table is ok
@Test
// New table has to return ""
public void testCreateEmptyTable() {
TableV2 tbl = new TableV2();
assertEquals("", tbl.getContent());
}
@Test
public void testStringEmptyString() {
TableV2 tbl = new TableV2();
tbl.addRow( TableRow.with("") );
tableBasicCheckings(tbl.getContent());
assertEquals(0, TestUtils.regexCount(tbl.getContent(), "<w:tblHeader/>")); //empty paragraph
assertEquals(1, TestUtils.regexCount(tbl.getContent(), "<w:p><w:r></w:r></w:p>")); //empty paragraph
}
@Test
public void testWithHeaderOnEveryPage() {
TableV2 tbl = new TableV2();
tbl.addRow( TableRow.with("").withStyle().repeatTableHeaderOnEveryPage().create() );
tableBasicCheckings(tbl.getContent());
assertEquals(1, TestUtils.regexCount(tbl.getContent(), "<w:tblHeader/>")); //empty paragraph
assertEquals(1, TestUtils.regexCount(tbl.getContent(), "<w:p><w:r></w:r></w:p>")); //empty paragraph
}
@Test
public void testStringOnly() {
TableV2 tbl = new TableV2();
tbl.addRow( TableRow.with("str01", "str02").withStyle().repeatTableHeaderOnEveryPage().create() );
assertEquals(1, TestUtils.regexCount(tbl.getContent(), "<w:t>str01</w:t>"));
assertEquals(1, TestUtils.regexCount(tbl.getContent(), "<w:t>str02</w:t>"));
tableBasicCheckings(tbl.getContent());
}
@Test
public void testParagraph() {
}
@Test
public void testParagraphWithStyle() {
}
@Test
public void testParagraphWithPieces() {
}
@Test
public void testMixStringParagraph() {
}
@Test
public void testCellBackgorundColor() {
}
private void tableBasicCheckings(String content) {
assertEquals(1, TestUtils.regexCount(content, "<w:tbl>"));
assertEquals(1, TestUtils.regexCount(content, "</w:tbl>"));
assertEquals(2, TestUtils.regexCount(content, "<*w:tblGrid>"));
assertEquals(1, TestUtils.regexCount(content, "<w:tblPr>"));
assertEquals(1, TestUtils.regexCount(content, "</w:tblPr>"));
}
}