package Ġedu . um ont real . kot ling rad . notebook Ċ Ċ import Ġio . kot est . matchers . null s . should Not BeNull Ċ import Ġio . kot est . matchers . string . should Contain Ċ import Ġio . kot est . matchers . types . shouldBe InstanceOf Ċ import Ġjupyter . kotlin . Dep ends On Ċ import Ġorg . intellij . lang . annotations . Language Ċ import Ġorg . jetbrains . kotlin x . jupyter .* Ċ import Ġorg . jetbrains . kotlin x . jupyter . api .* Ċ import Ġorg . jetbrains . kotlin x . jupyter . libraries . Empty Resolution Info Provider Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġkotlin . script . experimental . jvm . util . classpath From Class loader ĊĊ Ċ class ĠRendering Tests : ĠAbstract Repl Test () Ġ{ ĊĠ Ġ@ Test ĊĠ Ġfun Ġ` circuit Ġis Ġrendered Ġto Ġhtml `() Ġ{ ĊĠĠĠ Ġ@ Language (" k ts ") ĊĠĠĠ Ġval Ġhtml Ġ= Ġexec Html ( ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġby ĠS Var ( D Real ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġby ĠS Var ( D Real ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġz Ġby ĠS Var ( D Real ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt Ġ= Ġ( 1 Ġ+ Ġx Ġ* Ġ 2 Ġ- Ġ 3 Ġ+ Ġy Ġ+ Ġz Ġ/ Ġy ). d ( y ). d ( x ) Ġ+ Ġz Ġ/ Ġy Ġ* Ġ 3 Ġ- Ġ 2 ; Ġt ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġ) ĊĠĠĠ Ġhtml Ġshould Contain Ġ" polygon " ĊĠ Ġ} Ċ } Ċ Ċ abstract Ġclass ĠAbstract Repl Test Ġ{ ĊĠ Ġprivate Ġval Ġrepl : ĠRe pl For J upyter Ġ= ĠRe pl For J upyter Impl ( ĊĠĠĠ ĠEmpty Resolution Info Provider , Ġclasspath , Ġis Embedded Ġ= Ġtrue ĊĠ Ġ) ĊĊĠ Ġ@ BeforeEach ĊĠ Ġfun Ġinit Repl () Ġ{ ĊĠĠĠ Ġ// ĠJupyter Ġintegration Ġis Ġloaded Ġafter Ġsome Ġcode Ġwas Ġexecuted , Ġso Ġwe Ġdo Ġit Ġhere ĊĠĠĠ Ġ// ĠWe Ġalso Ġdefine Ġhere Ġa Ġclass Ġto Ġretrieve Ġvalues Ġwithout Ġrendering ĊĠĠĠ Ġexec (" class Ġ$ WRAP ( val Ġ$ WRAP _ VAL : ĠAny ?) ") ĊĠ Ġ} ĊĊĠ Ġfun Ġexec ( code : ĠCode ): ĠAny ? Ġ= Ġrepl . eval ( code ). result Value ĊĊĠ Ġ@ Jvm Name (" exec Typed ") ĊĠ Ġinline Ġfun Ġ< re ified ĠT : ĠAny > Ġexec ( code : ĠCode ): ĠT Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġexec ( code ) ĊĠĠĠ Ġres . shouldBe InstanceOf < T >() ĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġfun Ġexec Html ( code : ĠCode ): ĠString Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġexec < Mime Typed Result >( code ) ĊĠĠĠ Ġval Ġhtml Ġ= Ġres [" text / html "] ĊĠĠĠ Ġhtml . should Not BeNull () ĊĠĠĠ Ġreturn Ġhtml ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġprotected Ġval ĠWR AP Ġ= Ġ" W " ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠWR AP _ VAL Ġ= Ġ" v " ĊĊĠĠĠ Ġprivate Ġval Ġclasspath Ġ= Ġclasspath From Class loader ( Dep ends On :: class . java . class Loader ). or Empty () ĊĠ Ġ} Ċ }