package Ġar cs . core . util Ċ Ċ import Ġar cs . core . util . JsonValue . JsonArray Ċ import Ġar cs . core . util . JsonValue . Json Boolean Ċ import Ġar cs . core . util . JsonValue . Json Null Ċ import Ġar cs . core . util . JsonValue . Json Number Ċ import Ġar cs . core . util . JsonValue . JsonObject Ċ import Ġar cs . core . util . JsonValue . Json String Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . JUnit 4 Ċ Ċ /** ĠTests Ġfor Ġ[ Json ]. Ġ*/ Ċ @ RunWith ( JUnit 4 :: class ) Ċ class ĠJson Test Ġ{ ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest Parse () Ġ{ ĊĠĠĠ ĠassertThat ( Json . parse (" null ")). isEqualTo ( Json Null ) ĊĠĠĠ ĠassertThat ( Json . parse (" 4 2 . 0 "). number ()). isEqualTo ( 4 2 . 0 ) ĊĠĠĠ ĠassertThat ( Json . parse (" 1 e 3 "). number ()). isEqualTo ( 1 0 0 0 . 0 ) ĊĠĠĠ ĠassertThat ( Json . parse (" 1 e + 3 "). number ()). isEqualTo ( 1 0 0 0 . 0 ) ĊĠĠĠ ĠassertThat ( Json . parse ("+ 1 e + 3 "). number ()). isEqualTo ( 1 0 0 0 . 0 ) ĊĠĠĠ ĠassertThat ( Json . parse ("- 1 . 2 e - 2 "). number ()). isEqualTo (- 0 . 0 1 2 ) ĊĠĠĠ ĠassertThat ( Json . parse ("- 4 2 . 0 "). number ()). isEqualTo (- 4 2 . 0 ) ĊĠĠĠ ĠassertThat ( Json . parse ("\" hello \\\" world \"" ). string ()). isEqualTo (" hello \" world ") ĊĠĠĠ ĠassertThat ( Json . parse ("\" hello \\ n world \"" ). string ()). isEqualTo (" hello \ n world ") ĊĠĠĠ ĠassertThat ( Json . parse ("\" hello \\ u 0 0 4 1 world \"" ). string ()). isEqualTo (" hello A world ") ĊĠĠĠ ĠassertThat ( Json . parse (" true "). bool ()). isTrue () ĊĠĠĠ ĠassertThat ( Json . parse (" false "). bool ()). isFalse () ĊĠĠĠ ĠassertThat ( Json . parse (" [] "). array ()?. value ). isEmpty () ĊĠĠĠ ĠassertThat ( Json . parse ("[ Ġ] "). array ()?. value ). isEmpty () ĊĠĠĠ ĠassertThat ( Json . parse ("{} "). obj ()?. value ). isEmpty () ĊĠĠĠ ĠassertThat ( Json . parse ("{ Ġ} "). obj ()?. value ). isEmpty () ĊĠĠĠ ĠassertThat ( Json . parse ("[ 1 ]"). array ()?. value ). contains Exactly ( Json Number ( 1 . 0 )) ĊĠĠĠ ĠassertThat ( Json . parse ("[ Ġ 1 Ġ] "). array ()?. value ). contains Exactly ( Json Number ( 1 . 0 )) ĊĠĠĠ ĠassertThat ( Json . parse ("[ 1 Ġ, Ġ\" foo \", Ġ Ġtrue ]"). array ()?. value ). contains Exactly ( ĊĠĠĠĠĠ ĠJson Number ( 1 . 0 ), ĊĠĠĠĠĠ ĠJson String (" foo "), ĊĠĠĠĠĠ ĠJson Boolean ( true ) ĊĠĠĠ Ġ) ĊĠĠĠ ĠassertThat ( Json . parse ("[ 1 ,\" foo \", true ]"). array ()?. value ). contains Exactly ( ĊĠĠĠĠĠ ĠJson Number ( 1 . 0 ), ĊĠĠĠĠĠ ĠJson String (" foo "), ĊĠĠĠĠĠ ĠJson Boolean ( true ) ĊĠĠĠ Ġ) ĊĠĠĠ ĠassertThat ( Json . parse ("{ \" x \": 4 2 . 0 } "). obj ()?. value ). contains Exactly Entries In ( ĊĠĠĠĠĠ Ġmap Of (" x " Ġto ĠJson Number ( 4 2 . 0 )) ĊĠĠĠ Ġ) ĊĠĠĠ ĠassertThat ( ĊĠĠĠĠĠ ĠJson . parse ( ĊĠĠĠĠĠĠĠ Ġ"{\" x \": 4 2 . 0 ,\" y \":\" hello \",\" z \": true ,\" a \": [ 1 ],\" b \":{\" x \": 4 2 . 0 }}" ĊĠĠĠĠĠ Ġ). obj ()?. value ĊĠĠĠ Ġ). contains Exactly Entries In ( ĊĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠ Ġ" x " Ġto ĠJson Number ( 4 2 . 0 ), ĊĠĠĠĠĠĠĠ Ġ" y " Ġto ĠJson String (" hello "), ĊĠĠĠĠĠĠĠ Ġ" z " Ġto ĠJson Boolean ( true ), ĊĠĠĠĠĠĠĠ Ġ" a " Ġto ĠJson Array ( listOf ( Json Number ( 1 . 0 ))), ĊĠĠĠĠĠĠĠ Ġ" b " Ġto ĠJsonObject ( map Of (" x " Ġto ĠJson Number ( 4 2 . 0 ))) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest String ify () Ġ{ ĊĠĠĠ ĠassertThat ( Json Null . toString ()). isEqualTo (" null ") ĊĠĠĠ ĠassertThat ( Json Number ( 4 2 . 0 ). toString ()). isEqualTo (" 4 2 . 0 ") ĊĠĠĠ ĠassertThat ( Json Number ( 1 0 0 0 . 0 ). toString ()). isEqualTo (" 1 0 0 0 . 0 ") ĊĠĠĠ ĠassertThat ( Json Number (+ 1 e + 3 ). toString ()). isEqualTo (" 1 0 0 0 . 0 ") ĊĠĠĠ ĠassertThat ( Json String (" hello \" world "). toString ()). isEqualTo ("\" hello \\\" world \" ") ĊĠĠĠ ĠassertThat ( Json String (" hello \ n world "). toString ()). isEqualTo ("\" hello \\ n world \" ") ĊĠĠĠ ĠassertThat ( Json String (" hello \ uD 8 3 C \ u DF 0 8 world "). toString ()). isEqualTo ( ĊĠĠĠĠĠ Ġ"\" hello \\ ud 8 3 c \\ udf 0 8 world \"" ĊĠĠĠ Ġ) ĊĠĠĠ ĠassertThat ( Json Boolean ( true ). toString ()). isEqualTo (" true ") ĊĠĠĠ ĠassertThat ( Json Boolean ( false ). toString ()). isEqualTo (" false ") ĊĠĠĠ ĠassertThat ( JsonArray ( listOf < Json Boolean > ()). toString ()). isEqualTo (" [] ") ĊĠĠĠ ĠassertThat ( JsonObject (). toString ()). isEqualTo ("{} ") ĊĠĠĠ ĠassertThat ( ĊĠĠĠĠĠ ĠJson Array ( ĊĠĠĠĠĠĠĠ ĠlistOf < Json Number >( ĊĠĠĠĠĠĠĠĠĠ ĠJson Number ( 1 . 0 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ). toString () ĊĠĠĠ Ġ). isEqualTo ("[ 1 . 0 ]") ĊĠĠĠ ĠassertThat ( ĊĠĠĠĠĠ ĠJson Array ( ĊĠĠĠĠĠĠĠ ĠlistOf < JsonValue < *> >( ĊĠĠĠĠĠĠĠĠĠ ĠJson Number ( 9 7 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠ ĠJson String (" foo "), ĊĠĠĠĠĠĠĠĠĠ ĠJson Boolean ( true ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ). toString () ĊĠĠĠ Ġ). isEqualTo ("[ 9 7 1 . 0 ,\" foo \", true ]") ĊĠĠĠ ĠassertThat ( ĊĠĠĠĠĠ ĠJsonObject ( ĊĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠ Ġ" x " Ġto ĠJson Number ( 4 2 . 0 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ). toString () ĊĠĠĠ Ġ). isEqualTo ("{ \" x \": 4 2 . 0 }") ĊĠĠĠ ĠassertThat ( ĊĠĠĠĠĠ ĠJsonObject ( ĊĠĠĠĠĠĠĠ Ġ" foo " Ġto ĠJson String (" bar ") ĊĠĠĠĠĠ Ġ). toString () ĊĠĠĠ Ġ). isEqualTo ("{ \" foo \":\" bar \" }") ĊĠĠĠ ĠassertThat ( ĊĠĠĠĠĠ ĠJsonObject ( ĊĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠ Ġ" x " Ġto ĠJson Number ( 4 2 . 0 ), ĊĠĠĠĠĠĠĠĠĠ Ġ" y " Ġto ĠJson String (" hello "), ĊĠĠĠĠĠĠĠĠĠ Ġ" z " Ġto ĠJson Boolean ( true ), ĊĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto ĠJson Array ( listOf ( Json Number ( 1 . 0 ))), ĊĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto ĠJsonObject ( map Of (" x " Ġto ĠJson Number ( 4 2 . 0 ))) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ). toString () ĊĠĠĠ Ġ). isEqualTo ( ĊĠĠĠĠĠ Ġ"{\" x \": 4 2 . 0 ,\" y \":\" hello \",\" z \": true ,\" a \": [ 1 . 0 ],\" b \":{\" x \": 4 2 . 0 }}" ĊĠĠĠ Ġ) ĊĠ Ġ} Ċ } Ċ