@Test public void testOneHeadline() { // when AsciiArtTable aat = new AsciiArtTable(); aat.addHeadline("Some test headline"); aat.addHeaderCols("some", "foo"); aat.addHeaderCols("bar"); aat.add("bello", "pussy", "hans"); aat.add(1, 2, 3., "a very long thing"); // have a visual impression (not part of the test) aat.print(System.out); // then String expected = ""; expected += "╔══════════════════════════════════╗" + System.lineSeparator(); expected += "║ Some test headline ║" + System.lineSeparator(); expected += "╟───────────────────┬───────┬──────╢" + System.lineSeparator(); expected += "║ some │ foo │ bar ║" + System.lineSeparator(); expected += "╠═══════════════════╪═══════╪══════╣" + System.lineSeparator(); expected += "║ bello │ pussy │ hans ║" + System.lineSeparator(); expected += "╟───────────────────┼───────┼──────╢" + System.lineSeparator(); expected += "║ 1 │ 2 │ 3.0 ║" + System.lineSeparator(); expected += "╟───────────────────┼───────┼──────╢" + System.lineSeparator(); expected += "║ a very long thing │ │ ║" + System.lineSeparator(); expected += "╚═══════════════════╧═══════╧══════╝" + System.lineSeparator(); assertEquals(expected, aat.getOutput()); }
@Test public void testNoHeaderColumns() { // when AsciiArtTable aat = new AsciiArtTable(); aat.setNoHeaderColumns(3); aat.add("bello", "pussy", "hans"); aat.add(1, 2, 3., "a very long thing"); // have a visual impression (not part of the test) aat.print(System.out); // then String expected = ""; expected += "╔═══════════════════╤═══════╤══════╗" + System.lineSeparator(); expected += "║ bello │ pussy │ hans ║" + System.lineSeparator(); expected += "╟───────────────────┼───────┼──────╢" + System.lineSeparator(); expected += "║ 1 │ 2 │ 3.0 ║" + System.lineSeparator(); expected += "╟───────────────────┼───────┼──────╢" + System.lineSeparator(); expected += "║ a very long thing │ │ ║" + System.lineSeparator(); expected += "╚═══════════════════╧═══════╧══════╝" + System.lineSeparator(); assertEquals(expected, aat.getOutput()); }
@Test public void testOtherBorders() { // when AsciiArtTable aat = new AsciiArtTable(); aat.addHeaderCols("some", "foo"); aat.addHeaderCols("bar"); aat.add("bello", "pussy", "hans"); aat.add(1, 2, 3., "a very long thing"); aat.setBorderCharacters("┏━┯┓┃┠─┬┨┿┣┫│┗┷┛┼"); // have a visual impression (not part of the test) aat.print(System.out); // then String expected = ""; expected += "┏━━━━━━━━━━━━━━━━━━━┯━━━━━━━┯━━━━━━┓" + System.lineSeparator(); expected += "┃ some │ foo │ bar ┃" + System.lineSeparator(); expected += "┣━━━━━━━━━━━━━━━━━━━┿━━━━━━━┿━━━━━━┫" + System.lineSeparator(); expected += "┃ bello │ pussy │ hans ┃" + System.lineSeparator(); expected += "┠───────────────────┼───────┼──────┨" + System.lineSeparator(); expected += "┃ 1 │ 2 │ 3.0 ┃" + System.lineSeparator(); expected += "┠───────────────────┼───────┼──────┨" + System.lineSeparator(); expected += "┃ a very long thing │ │ ┃" + System.lineSeparator(); expected += "┗━━━━━━━━━━━━━━━━━━━┷━━━━━━━┷━━━━━━┛" + System.lineSeparator(); assertEquals(expected, aat.getOutput()); }
@Test public void testNoHeaderColumnsButHeadlineWithPaddingAndCustomBorders() { // when AsciiArtTable aat = new AsciiArtTable(3); aat.addHeadline("Some test headline"); aat.setNoHeaderColumns(3); aat.add("bello", "pussy", "hans"); aat.add(1, 2, 3., "a very long thing"); aat.setBorderCharacters("╭──╮││ ─││⎬⎨│╰─╯│"); // have a visual impression (not part of the test) aat.print(System.out); // then String expected = ""; expected += "╭──────────────────────────────────────────────╮" + System.lineSeparator(); expected += "│ Some test headline │" + System.lineSeparator(); expected += "⎬──────────────────────────────────────────────⎨" + System.lineSeparator(); expected += "│ bello │ pussy │ hans │" + System.lineSeparator(); expected += "│ │ │ │" + System.lineSeparator(); expected += "│ 1 │ 2 │ 3.0 │" + System.lineSeparator(); expected += "│ │ │ │" + System.lineSeparator(); expected += "│ a very long thing │ │ │" + System.lineSeparator(); expected += "╰──────────────────────────────────────────────╯" + System.lineSeparator(); assertEquals(expected, aat.getOutput()); }
@Test public void testLineSeparationOnLongInputs() { // when AsciiArtTable aat = new AsciiArtTable(); aat.addHeaderCols("some", "foo"); aat.addHeaderCols("bar"); aat.add( "a", "b", "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."); aat.add(1, "cdefg", 3., "Lorem ipsum dolor sit amet, consetetur sadipscing elitr"); aat.setMaxColumnWidth(25); // have a visual impression (not part of the test) aat.print(System.out); // then String expected = ""; expected += "╔═══════════════════════════╤═══════╤═══════════════════════════╗" + System.lineSeparator(); expected += "║ some │ foo │ bar ║" + System.lineSeparator(); expected += "╠═══════════════════════════╪═══════╪═══════════════════════════╣" + System.lineSeparator(); expected += "║ a │ b │ Lorem ipsum dolor sit ║" + System.lineSeparator(); expected += "║ │ │ amet, consetetur ║" + System.lineSeparator(); expected += "║ │ │ sadipscing elitr, sed ║" + System.lineSeparator(); expected += "║ │ │ diam nonumy eirmod tempor ║" + System.lineSeparator(); expected += "║ │ │ invidunt ut labore et ║" + System.lineSeparator(); expected += "║ │ │ dolore magna aliquyam ║" + System.lineSeparator(); expected += "║ │ │ erat, sed diam voluptua. ║" + System.lineSeparator(); expected += "╟───────────────────────────┼───────┼───────────────────────────╢" + System.lineSeparator(); expected += "║ 1 │ cdefg │ 3.0 ║" + System.lineSeparator(); expected += "╟───────────────────────────┼───────┼───────────────────────────╢" + System.lineSeparator(); expected += "║ Lorem ipsum dolor sit │ │ ║" + System.lineSeparator(); expected += "║ amet, consetetur │ │ ║" + System.lineSeparator(); expected += "║ sadipscing elitr │ │ ║" + System.lineSeparator(); expected += "╚═══════════════════════════╧═══════╧═══════════════════════════╝" + System.lineSeparator(); assertEquals(expected, aat.getOutput()); }