/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . idea . code Insight . code vision Ċ Ċ import Ġcom . intellij . openapi . util . io . File Util Ċ import Ġcom . intellij . test Framework . utils . in lay s . In lay Hints Provider TestCase Ċ import Ġorg . jetbrains . kotlin . idea . test . In Text Directives Utils Ċ import Ġjava . io . File Ċ Ċ abstract Ġclass ĠAbstract Kotlin Code Vision Provider Test Ġ: ĊĠĠĠ ĠIn lay Hints Provider TestCase () Ġ{ Ġ// ĠAbstract - Ġprefix Ġis Ġjust Ġa Ġconvention Ġfor ĠGenerate Tests ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIN HER IT ORS _ KEY Ġ= Ġ" kotlin . code - vision . in her itors " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠUS AGES _ KEY Ġ= Ġ" kotlin . code - vision . us ages " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdo Test ( test Path : ĠString ) Ġ{ Ġ// Ġnamed Ġaccording Ġto Ġthe Ġconvention Ġimp osed Ġby ĠGenerate Tests ĊĠĠĠĠĠĠĠ ĠassertThat Actual Hints Match ( test Path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠassertThat Actual Hints Match ( fileName : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Contents Ġ= ĠFile Util . load File ( File ( fileName ), Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġval Ġusage s Limit Ġ= ĠIn Text Directives Utils . find String With Prefixes ( file Contents , Ġ"// ĠUS AGES - LIMIT : Ġ") ?. toInt () Ġ?: Ġ 1 0 0 ĊĠĠĠĠĠĠĠ Ġval Ġin her itors Limit Ġ= ĠIn Text Directives Utils . find String With Prefixes ( file Contents , Ġ"// ĠIN HER IT ORS - LIMIT : Ġ") ?. toInt () Ġ?: Ġ 1 0 0 ĊĊĠĠĠĠĠĠĠ Ġval Ġprovider Ġ= ĠKotlin Code Vision Provider () ĊĠĠĠĠĠĠĠ Ġprovider . us ages Limit Ġ= Ġusage s Limit ĊĠĠĠĠĠĠĠ Ġprovider . in her itors Limit Ġ= Ġin her itors Limit ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( In Text Directives Utils . find String With Prefixes ( file Contents , Ġ"// ĠMODE : Ġ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" in her itors " Ġ-> Ġprovider . mode ( us ages Ġ= Ġfalse , Ġin her itors Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" us ages " Ġ-> Ġprovider . mode ( us ages Ġ= Ġtrue , Ġin her itors Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" us ages -& - in her itors " Ġ-> Ġprovider . mode ( us ages Ġ= Ġtrue , Ġin her itors Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġprovider . mode ( us ages Ġ= Ġfalse , Ġin her itors Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest Provider (" kotlin Code Vision . kt ", Ġfile Contents , Ġprovider ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠKotlin Code Vision Provider . mode ( us ages : ĠBoolean , Ġin her itors : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Usage s Ġ= Ġusage s ĊĠĠĠĠĠĠĠ Ġshow In her itors Ġ= Ġin her itors ĊĠĠĠ Ġ} Ċ } Ċ