/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 1 ĠPaul ĠAmb rose Ġ( p amb rose @ mac . com ) Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . github . reading bat Ċ Ċ import Ġcom . github . reading bat . dsl . add Imports Ċ import Ġcom . github . reading bat . dsl . parse . Java Parse . extract Java Inv ocations Ċ import Ġcom . github . reading bat . dsl . parse . Java Parse . java End Regex Ċ import Ġcom . github . reading bat . dsl . parse . Java Parse . ps vm Regex Ċ import Ġcom . github . reading bat . dsl . parse . Kotlin Parse . extract Kotlin Inv ocations Ċ import Ġcom . github . reading bat . dsl . parse . Kotlin Parse . fun Main Regex Ċ import Ġcom . github . reading bat . dsl . parse . Kotlin Parse . kotlin End Regex Ċ import Ġcom . github . reading bat . dsl . parse . Python Parse . def Main Regex Ċ import Ġcom . github . reading bat . dsl . parse . Python Parse . extract Python Inv ocations Ċ import Ġcom . github . reading bat . dsl . parse . Python Parse . if Main End Regex Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ Ċ class ĠInv okes Test Ġ: ĠString Spec ( ĊĠ Ġ{ ĊĊĠĠĠ Ġ" python Inv okes Test " Ġ{ ĊĠĠĠĠĠ Ġval Ġs Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġdef Ġsimple _ choice 2 ( sun ny , Ġr aining ): ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sun ny Ġor Ġr aining ): ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsun ny ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnot Ġr aining ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġdef Ġmain (): ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint ( simple _ choice 2 ( True , ĠTrue )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint ( simple _ choice 2 ( True , ĠFalse )) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġif Ġ__ name __ Ġ== Ġ'__ main __': ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain () ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġextract Python Inv ocations ( s , Ġdef Main Regex , Ġif Main End Regex ). map Ġ{ Ġit . toString () Ġ} ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ ĠlistOf (" simple _ choice 2 ( True , ĠTrue )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" simple _ choice 2 ( True , ĠFalse )") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" java Inv okes Test " Ġ{ ĊĠĠĠĠĠ Ġval Ġs Ġ= Ġ""" ĊĠĠĠĠĠ Ġpackage Ġwarm up 1 ; ĊĠĠĠĠĠĠĊĠĠĠĠĠ Ġpublic Ġclass ĠJoin End s Ġ{ ĊĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠ Ġpublic Ġstatic ĠString Ġjoin End s ( String Ġstr ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( str . length () Ġ< Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstr ; ĊĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġb Ġ= Ġstr . substring ( 0 , Ġ 1 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġe Ġ= Ġstr . substring ( str . length () Ġ- Ġ 1 ); ĊĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġe Ġ+ Ġb ; ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠ Ġpublic Ġstatic Ġvoid Ġmain ( String [] Ġargs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( join End s (" Blue Ġze bra ")); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( join End s (" Tree ")); ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġextract Java Inv ocations ( s , Ġp svm Regex , Ġjava End Regex ). map Ġ{ Ġit . toString () Ġ} ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ ĠlistOf (""" join End s (" Blue Ġze bra ") """, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" join End s (" Tree ") """) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" kotlin Inv okes Test " Ġ{ ĊĠĠĠĠĠ Ġval Ġs Ġ= Ġ""" ĊĠĠĠĠĠ Ġpackage Ġlambda 1 ĊĠĠĠĠĠĠĊĠĠĠĠĠ Ġfun ĠList < String >. combine 2 (): ĠString Ġ= Ġmap Indexed Ġ{ Ġi , Ġs Ġ-> Ġi . toString () Ġ+ Ġs Ġ}. join ToString (", Ġ") ĊĠĠĠĠĠĠĊĠĠĠĠĠ Ġfun Ġmain () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( listOf (" a "). combine 2 ()) ĊĠĠĠĠĠĠĠ Ġprintln ( listOf (" a ", Ġ" b ", Ġ" c ", Ġ" d "). combine 2 ()) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġextract Kotlin Inv ocations ( s , Ġfun Main Regex , Ġkotlin End Regex ). map Ġ{ Ġit . toString () Ġ} ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ ĠlistOf (""" listOf (" a "). combine 2 () """, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" listOf (" a ", Ġ" b ", Ġ" c ", Ġ" d "). combine 2 () """) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" class Import Test " Ġ{ ĊĊĠĠĠĠĠ Ġval Ġvariable Ġ= Ġ" content " ĊĠĠĠĠĠ Ġadd Imports ("", Ġvariable ). trim () ĠshouldBe Ġvariable ĊĊĠĠĠĠĠ Ġval Ġs 1 Ġ= Ġ" Reading B at Server " ĊĠĠĠĠĠ Ġadd Imports ( s 1 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ$ s 1 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 2 Ġ= Ġ" Reading B at Server ()" ĊĠĠĠĠĠ Ġadd Imports ( s 2 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . server . Reading B at Server ĊĊĠĠĠĠĠĠĠ Ġ$ s 2 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 3 Ġ= Ġ" GitHub Content " ĊĠĠĠĠĠ Ġadd Imports ( s 3 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ$ s 3 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 4 Ġ= Ġ" GitHub Content ()" ĊĠĠĠĠĠ Ġadd Imports ( s 4 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . dsl . GitHub Content ĊĊĠĠĠĠĠĠĠ Ġ$ s 4 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 5 Ġ= Ġ" Reading B at Server ĠGitHub Content " ĊĠĠĠĠĠ Ġadd Imports ( s 5 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ$ s 5 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 6 Ġ= Ġ" Reading B at Server () ĠGitHub Content ()" ĊĠĠĠĠĠ Ġadd Imports ( s 6 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . server . Reading B at Server ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . dsl . GitHub Content ĊĊĠĠĠĠĠĠĠ Ġ$ s 6 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" method Import Test " Ġ{ ĊĊĠĠĠĠĠ Ġval Ġvariable Ġ= Ġ" content " ĊĊĠĠĠĠĠ Ġval Ġs 1 Ġ= Ġ" reading B at Content " ĊĠĠĠĠĠ Ġadd Imports ( s 1 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ$ s 1 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 2 Ġ= Ġ" reading B at Content ()" ĊĠĠĠĠĠ Ġadd Imports ( s 2 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . dsl . reading B at Content ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ$ s 2 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 3 Ġ= Ġ" old Include " ĊĠĠĠĠĠ Ġadd Imports ( s 3 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ$ s 3 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () Ċ Ċ // ĠĠĠ Ġval Ġs 4 Ġ= Ġ" old Include ()" Ċ // ĠĠĠ Ġadd Imports ( s 4 , Ġvariable ). trim Indent () ĠshouldBe Ċ // ĠĠĠĠĠĠĠ Ġ""" Ċ // ĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . dsl . old Include Ċ // Ċ // ĠĠĠĠĠĠĠ Ġ$ s 4 Ċ // ĠĠĠĠĠĠĠ Ġ$ variable Ċ // ĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 5 Ġ= Ġ" Reading B at Server ĠGitHub Content " ĊĠĠĠĠĠ Ġ// println ( add Imports ( s 5 , Ġvariable )) ĊĠĠĠĠĠ Ġadd Imports ( s 5 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ$ s 5 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 6 Ġ= Ġ" Reading B at Server () ĠGitHub Content ()" ĊĠĠĠĠĠ Ġ// println ( add Imports ( s 6 , Ġvariable )) ĊĠĠĠĠĠ Ġadd Imports ( s 6 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . server . Reading B at Server ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . dsl . GitHub Content ĊĊĠĠĠĠĠĠĠ Ġ$ s 6 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" combined Import Test " Ġ{ ĊĠĠĠĠĠ Ġval Ġvariable Ġ= Ġ" content " ĊĊĠĠĠĠĠ Ġval Ġs 1 Ġ= Ġ" reading B at Content ĠReading B at Server " ĊĠĠĠĠĠ Ġadd Imports ( s 1 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ$ s 1 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 2 Ġ= Ġ" reading B at Content () ĠReading B at Server ()" ĊĠĠĠĠĠ Ġadd Imports ( s 2 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . server . Reading B at Server ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . dsl . reading B at Content ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ$ s 2 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 3 Ġ= Ġ" old Include Ġreading B at Content ĠReading B at Server ĠGitHub Content " ĊĠĠĠĠĠ Ġadd Imports ( s 3 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ$ s 3 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠ Ġval Ġs 4 Ġ= Ġ" old Include () Ġreading B at Content () ĠReading B at Server () ĠGitHub Content ()" ĊĠĠĠĠĠ Ġadd Imports ( s 4 , Ġvariable ). trim Indent () ĠshouldBe ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . server . Reading B at Server ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . dsl . GitHub Content ĊĠĠĠĠĠĠĠ Ġimport Ġcom . github . reading bat . dsl . reading B at Content ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ$ s 4 ĊĠĠĠĠĠĠĠ Ġ$ variable ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġ} ĊĠ Ġ})