22
33import org .hamcrest .CoreMatchers ;
44import org .junit .Test ;
5- import org .neo4j .driver .internal .*;
6- import org .neo4j .driver .internal .value .*;
7- import org .neo4j .driver .v1 .*;
5+
6+ import java .util .ArrayList ;
7+ import java .util .Collections ;
8+ import java .util .HashMap ;
9+ import java .util .LinkedHashMap ;
10+ import java .util .List ;
11+ import java .util .Map ;
12+
13+ import org .neo4j .driver .internal .InternalIsoDuration ;
14+ import org .neo4j .driver .internal .InternalNode ;
15+ import org .neo4j .driver .internal .InternalPath ;
16+ import org .neo4j .driver .internal .InternalPoint2D ;
17+ import org .neo4j .driver .internal .InternalPoint3D ;
18+ import org .neo4j .driver .internal .InternalRecord ;
19+ import org .neo4j .driver .internal .InternalRelationship ;
20+ import org .neo4j .driver .internal .value .DurationValue ;
21+ import org .neo4j .driver .internal .value .NodeValue ;
22+ import org .neo4j .driver .internal .value .PathValue ;
23+ import org .neo4j .driver .internal .value .PointValue ;
24+ import org .neo4j .driver .internal .value .RelationshipValue ;
25+ import org .neo4j .driver .v1 .Record ;
26+ import org .neo4j .driver .v1 .Statement ;
27+ import org .neo4j .driver .v1 .StatementResult ;
28+ import org .neo4j .driver .v1 .Value ;
29+ import org .neo4j .driver .v1 .Values ;
830import org .neo4j .driver .v1 .summary .ProfiledPlan ;
931import org .neo4j .driver .v1 .summary .ResultSummary ;
1032import org .neo4j .driver .v1 .summary .StatementType ;
1537import org .neo4j .shell .state .BoltResult ;
1638import org .neo4j .shell .state .ListBoltResult ;
1739
18- import java .util .*;
19-
2040import static java .util .Arrays .asList ;
2141import static java .util .Collections .singletonMap ;
2242import static org .hamcrest .CoreMatchers .is ;
@@ -85,11 +105,11 @@ public void prettyPrintPlanInformationWithNewlines() {
85105
86106 // THEN
87107 assertThat (actual , startsWith (String .join (NEWLINE ,
88- "+--------------------------------------------------------------------+" ,
89- "| Plan | Statement | Version | Planner | Runtime | Time |" ,
90- "+--------------------------------------------------------------------+" ,
91- "| \" EXPLAIN\" | \" READ_ONLY\" | \" 3.1\" | \" COST\" | \" INTERPRETED\" | 12 |" ,
92- "+--------------------------------------------------------------------+" ,
108+ "+----------------------------------------------------------------------------------- +" ,
109+ "| Plan | Statement | Version | Planner | Runtime | Time |" ,
110+ "+----------------------------------------------------------------------------------- +" ,
111+ "| \" EXPLAIN\" | \" READ_ONLY\" | \" 3.1\" | \" COST\" | \" INTERPRETED\" | 12 |" ,
112+ "+----------------------------------------------------------------------------------- +" ,
93113 NEWLINE )));
94114 }
95115
@@ -283,8 +303,8 @@ public void basicTable() {
283303 // WHEN
284304 String table = formatResult (result );
285305 // THEN
286- assertThat (table , containsString ("| c1 | c2 |" ));
287- assertThat (table , containsString ("| \" a\" | 42 |" ));
306+ assertThat (table , containsString ("| c1 | c2 |" ));
307+ assertThat (table , containsString ("| \" a\" | 42 |" ));
288308 }
289309
290310 @ Test
@@ -294,12 +314,12 @@ public void twoRows() {
294314 // WHEN
295315 String table = formatResult (result );
296316 // THEN
297- assertThat (table , containsString ("| \" a\" | 42 |" ));
298- assertThat (table , containsString ("| \" b\" | 43 |" ));
317+ assertThat (table , containsString ("| \" a\" | 42 |" ));
318+ assertThat (table , containsString ("| \" b\" | 43 |" ));
299319 }
300320
301321 @ Test
302- public void wrapContent ()
322+ public void wrapStringContent ()
303323 {
304324 // GIVEN
305325 StatementResult result = mockResult ( asList ( "c1" ), "a" , "bb" ,"ccc" ,"dddd" ,"eeeee" );
@@ -315,15 +335,74 @@ public void wrapContent()
315335 "| \" a\" |" ,
316336 "| \" bb\" |" ,
317337 "| \" ccc |" ,
318- "| \" |" ,
338+ "\\ \" |" ,
319339 "| \" ddd |" ,
320- "| d\" |" ,
340+ "\\ d\" |" ,
321341 "| \" eee |" ,
322- "| ee\" |" ,
342+ "\\ ee\" |" ,
323343 "+------+" ,
324344 NEWLINE )));
325345 }
326346
347+ @ Test
348+ public void wrapStringContentWithTwoColumns ()
349+ {
350+ // GIVEN
351+ StatementResult result = mockResult ( asList ( "c1" , "c2" ), "a" , "b" ,
352+ "aa" , "bb" ,
353+ "aaa" , "b" ,
354+ "a" , "bbb" ,
355+ "aaaa" , "bb" ,
356+ "aa" , "bbbb" ,
357+ "aaaaa" , "bbbbb" );
358+ // WHEN
359+ ToStringLinePrinter printer = new ToStringLinePrinter ();
360+ new TableOutputFormatter (true , 2 ).formatAndCount (new ListBoltResult (result .list (), result .summary ()), printer );
361+ String table = printer .result ();
362+ // THEN
363+ assertThat (table , is (String .join (NEWLINE ,
364+ "+-------------+" ,
365+ "| c1 | c2 |" ,
366+ "+-------------+" ,
367+ "| \" a\" | \" b\" |" ,
368+ "| \" aa\" | \" bb\" |" ,
369+ "| \" aaa | \" b\" |" ,
370+ "\\ \" | |" ,
371+ "| \" a\" | \" bbb |" ,
372+ "| \\ \" |" ,
373+ "| \" aaa | \" bb\" |" ,
374+ "\\ a\" | |" ,
375+ "| \" aa\" | \" bbb |" ,
376+ "| \\ b\" |" ,
377+ "| \" aaa | \" bbb |" ,
378+ "\\ aa\" \\ bb\" |" ,
379+ "+-------------+" ,
380+ NEWLINE )));
381+ }
382+
383+ @ Test
384+ public void wrapNumberContentWithLongSize ()
385+ {
386+ // GIVEN
387+ StatementResult result = mockResult ( asList ( "c1" ), 345 , 12 , 978623 , 132456798 , 9223372036854775807L );
388+ // WHEN
389+ ToStringLinePrinter printer = new ToStringLinePrinter ();
390+ new TableOutputFormatter (true , 2 ).formatAndCount (new ListBoltResult (result .list (), result .summary ()), printer );
391+ String table = printer .result ();
392+ // THEN
393+ assertThat (table , is (String .join (NEWLINE ,
394+ "+---------------------+" ,
395+ "| c1 |" ,
396+ "+---------------------+" ,
397+ "| 345 |" ,
398+ "| 12 |" ,
399+ "| 978623 |" ,
400+ "| 132456798 |" ,
401+ "| 9223372036854775807 |" ,
402+ "+---------------------+" ,
403+ NEWLINE )));
404+ }
405+
327406 @ Test
328407 public void truncateContent ()
329408 {
0 commit comments