package Ġorg . jetbrains . ruby . state Tracker Ċ Ċ import Ġjunit . framework . TestCase Ċ import Ġorg . junit . Test Ċ Ċ class ĠRuby Class Hierarchy Loader Test Ġ: ĠTestCase () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġclass Hierarchy Ġ: ĠRuby Class Hierarchy ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠinputStream Ġ= Ġjava Class . class Loader . getResource AsStream (" classes . json ") ĊĠĠĠĠĠĠĠ Ġval Ġinput String Ġ= ĠinputStream . buffered Reader (). use Ġ{ Ġit . read Text () Ġ} ĊĠĠĠĠĠĠĠ Ġclass Hierarchy Ġ= ĠRuby Class Hierarchy Loader . fromJson ( input String ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Has Basic Object () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNotNull ( class Hierarchy ) ĊĠĠĠĠĠĠĠ Ġclass Hierarchy ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( it . get Ruby Module (" Basic Object ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Included () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNotNull ( class Hierarchy ) ĊĠĠĠĠĠĠĠ Ġclass Hierarchy ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodule Ġ= Ġit . get Ruby Module (" Gem :: Resolver :: Mol in illo :: Resolver :: Resolution ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( module ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( module !!. instance Included . any Ġ{ it . name Ġ== Ġ" Kernel "}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( module . instance Included . any Ġ{ it . name Ġ== Ġ" Gem :: Resolver :: Mol in illo :: Deleg ates :: Resolution State "}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Included Are Min im ized () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNotNull ( class Hierarchy ) ĊĠĠĠĠĠĠĠ Ġclass Hierarchy ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodule Ġ= Ġit . get Ruby Module (" CG I ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( module ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( module !!. class Included . none Ġ{ it . name Ġ== Ġ" Kernel "}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( module . class Included . any Ġ{ it . name Ġ== Ġ" CG I :: Util "}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Super Class () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNotNull ( class Hierarchy ) ĊĠĠĠĠĠĠĠ Ġclass Hierarchy ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodule Ġ= Ġit . get Ruby Module (" Timeout :: Error ") Ġas ĠRuby Class ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( module . super Class . name Ġ== Ġ" RuntimeError ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Has Method () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNotNull ( class Hierarchy ) ĊĠĠĠĠĠĠĠ Ġclass Hierarchy ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodule Ġ= Ġit . get Ruby Module (" Timeout :: Error ") Ġas ĠRuby Class ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Location Ġ= ĠLocation . Impl ("/ Users / vk kos he lev /. rvm / rub ies / ruby - 2 . 4 . 1 / lib / ruby / 2 . 4 . 0 / timeout . rb ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( module . instance Methods . any { it . name Ġ== Ġ" thread " Ġ&& Ġit . location Ġ== Ġexpected Location Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Constants () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNotNull ( class Hierarchy ) ĊĠĠĠĠĠĠĠ Ġclass Hierarchy ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelem Ġ= Ġit . top Level Constants [" STD IN "] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( elem ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( elem !!. extended . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( elem . name Ġ== Ġ" STD IN ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( elem . type Ġ== Ġ" IO ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Parameters () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNotNull ( class Hierarchy ) ĊĠĠĠĠĠĠĠ Ġclass Hierarchy ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodule Ġ= Ġit . get Ruby Module (" Dir :: Tmp name ") !! ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( module . class Methods . any Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġ" create " Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . arguments . any Ġ{ Ġit . kind Ġ== ĠRuby Method . Argument Kind . KEY _ REST Ġ} Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . arguments . any Ġ{ Ġit . kind Ġ== ĠRuby Method . Argument Kind . OPT Ġ} Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . arguments . any Ġ{ Ġit . kind Ġ== ĠRuby Method . Argument Kind . KEY Ġ} Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . arguments . any Ġ{ Ġit . kind Ġ== ĠRuby Method . Argument Kind . REQ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }