package Ġru . h se . spb . cli Ċ Ċ import Ġorg . junit . jupiter . api . Assertions . assertFalse Ċ import Ġorg . junit . jupiter . api . Assertions . assertTrue Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert DoesNot Throw Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ import Ġru . h se . spb . cli . TestUtils . assert List Equals Ċ import Ġru . h se . spb . cli . TestUtils . resources Directory Ċ import Ġru . h se . spb . cli . commands . Cat Command Ċ import Ġru . h se . spb . cli . commands . Echo Command Ċ import Ġru . h se . spb . cli . commands . Exit Command Ċ import Ġru . h se . spb . cli . commands . Pwd Command Ċ import Ġru . h se . spb . cli . commands . Unknown Command Ċ import Ġru . h se . spb . cli . commands . Wc Command Ċ Ċ class ĠCommand Tests Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Exit () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠContext () ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( context . should Exit ()) ĊĠĠĠĠĠĠĠ ĠExit Command ( context ). run ( listOf ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( context . should Exit ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Pwd () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( System . getProperty (" user . dir ")) ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( System . getProperty (" user . dir ")), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP wd Command (). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Echo () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" a Ġb "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEcho Command ( listOf (" a ", Ġ" b ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" c "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEcho Command ( listOf (" c ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" Ġ Ġa "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEcho Command ( listOf (" Ġ", Ġ" a ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Cat () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCat Command ( listOf ("$ resources Directory / empty . txt ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" some Ġexample Ġtext "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCat Command ( listOf ("$ resources Directory / single _ line . txt ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" aba ", Ġ" c aba ", Ġ" d aba "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCat Command ( listOf ("$ resources Directory / multi _ line . txt ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" aba ", Ġ" c aba ", Ġ" d aba ", Ġ" some Ġexample Ġtext "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCat Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ resources Directory / multi _ line . txt ", Ġ"$ resources Directory / single _ line . txt " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" 1 2 3 ", Ġ" 4 5 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCat Command ( listOf ()). run ( listOf (" 1 2 3 ", Ġ" 4 5 6 ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCat Command ( listOf ("$ resources Directory / empty . txt ")). run ( listOf (" 1 2 3 ", Ġ" 4 5 6 ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Wc () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" 0 Ġ 0 Ġ 0 Ġ$ resources Directory / empty . txt "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW c Command ( listOf ("$ resources Directory / empty . txt ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" 1 Ġ 3 Ġ 1 7 Ġ$ resources Directory / single _ line . txt "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW c Command ( listOf ("$ resources Directory / single _ line . txt ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" 3 Ġ 3 Ġ 1 1 Ġ$ resources Directory / multi _ line . txt "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW c Command ( listOf ("$ resources Directory / multi _ line . txt ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" 1 Ġ 1 Ġ 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW c Command ( listOf ()). run ( listOf (" 1 2 3 ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert List Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" 0 Ġ 0 Ġ 0 Ġ$ resources Directory / empty . txt "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW c Command ( listOf ("$ resources Directory / empty . txt ")). run ( listOf (" 1 2 3 ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Unknown Command () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert DoesNot Throw Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUnknown Command (" git ", ĠlistOf (), ĠContext ()). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Exceptions () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThrows < Interpreter Exception > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCat Command ( listOf (" unknown . txt ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows < Interpreter Exception > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW c Command ( listOf (" unknown . txt ")). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows < Interpreter Exception > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUnknown Command (" unknown ", ĠlistOf (), ĠContext ()). run ( listOf ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }