Skip to content

Commit 6725552

Browse files
committed
Fixed column helper for SimpleTable
1 parent 07d15e1 commit 6725552

File tree

3 files changed

+74
-0
lines changed

3 files changed

+74
-0
lines changed

fj-doc-lib-simpletable/src/main/java/org/fugerit/java/doc/lib/simpletable/SimpleTableHelper.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.fugerit.java.doc.lib.simpletable;
22

3+
import java.util.ArrayList;
34
import java.util.Arrays;
45
import java.util.List;
56
import java.util.stream.Collectors;
@@ -98,5 +99,20 @@ public SimpleRow newHeaderRow( String... cells ) {
9899
public SimpleRow newNormalRow( String... cells ) {
99100
return this.newHeaderWorker( BooleanUtils.BOOLEAN_FALSE , cells );
100101
}
102+
103+
public List<Integer> newFixedColumns( int columnsNumber ) {
104+
List<Integer> list = new ArrayList<>();
105+
int length = (100/columnsNumber);
106+
int offset = 100-(length*columnsNumber);
107+
for ( int k=0; k<columnsNumber; k++ ) {
108+
if ( offset > 0 ) {
109+
list.add( length+1 );
110+
offset--;
111+
} else {
112+
list.add( length );
113+
}
114+
}
115+
return list;
116+
}
101117

102118
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package test.org.fugerit.java.doc.lib.simpletable;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import java.util.List;
6+
7+
import org.fugerit.java.doc.lib.simpletable.SimpleTableFacade;
8+
import org.fugerit.java.doc.lib.simpletable.SimpleTableHelper;
9+
import org.junit.Test;
10+
import org.slf4j.Logger;
11+
import org.slf4j.LoggerFactory;
12+
13+
public class TestSimpleTableHelperColumns {
14+
15+
private static final Logger logger = LoggerFactory.getLogger( TestSimpleTableHelperColumns.class );
16+
17+
private static final SimpleTableHelper HELPER = SimpleTableFacade.newHelper();
18+
19+
private void test( int columnNumber ) {
20+
int size = 0;
21+
List<Integer> colWidths = HELPER.newFixedColumns( columnNumber );
22+
logger.info( "Column numbers {}, Column widths : {}", columnNumber, colWidths );
23+
for ( int current : colWidths ) {
24+
size+= current;
25+
}
26+
logger.info( "Total size is {}", size );
27+
assertEquals( "Wrong columns total size", 100 , size );
28+
}
29+
30+
@Test
31+
public void columns_12() {
32+
this.test( 12 );
33+
}
34+
35+
@Test
36+
public void columns_10() {
37+
this.test( 10 );
38+
}
39+
40+
@Test
41+
public void columns_8() {
42+
this.test( 8 );
43+
}
44+
45+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Configuration status="WARN">
3+
<Appenders>
4+
<Console name="Console" target="SYSTEM_OUT">
5+
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
6+
</Console>
7+
</Appenders>
8+
<Loggers>
9+
<Root level="INFO">
10+
<AppenderRef ref="Console"/>
11+
</Root>
12+
</Loggers>
13+
</Configuration>

0 commit comments

Comments
 (0)