diff --git a/templates/create_formula/languages/kotlin-jdk11/Dockerfile b/templates/create_formula/languages/kotlin-jdk11/Dockerfile
new file mode 100644
index 00000000..8317a311
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/Dockerfile
@@ -0,0 +1,13 @@
+FROM ritclizup/rit-kotlin-jdk8-runner
+
+USER root
+
+RUN mkdir /rit
+COPY . /rit
+RUN sed -i 's/\r//g' /rit/set_umask.sh
+RUN sed -i 's/\r//g' /rit/run.sh
+RUN chmod +x /rit/set_umask.sh
+
+WORKDIR /app
+ENTRYPOINT ["/rit/set_umask.sh"]
+CMD ["/rit/run.sh"]
diff --git a/templates/create_formula/languages/kotlin-jdk11/Makefile b/templates/create_formula/languages/kotlin-jdk11/Makefile
new file mode 100644
index 00000000..b219691c
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/Makefile
@@ -0,0 +1,32 @@
+# KOTLIN
+BIN_FOLDER=bin
+SH=$(BIN_FOLDER)/run.sh
+BAT=$(BIN_FOLDER)/run.bat
+BUILD=mvn clean install
+CLEAN=mvn clean
+JAR_FILE=Main.jar
+TARGET=target
+
+build: kotlin-build sh-unix bat-windows docker
+ $(CLEAN)
+
+kotlin-build:
+ mkdir -p $(BIN_FOLDER)
+ $(BUILD)
+ mv $(TARGET)/$(JAR_FILE) $(BIN_FOLDER)
+ rm -Rf $(TARGET)
+
+sh-unix:
+ echo '#!/bin/sh' > $(SH)
+ echo 'java -jar "$$(dirname "$$0")"/$(JAR_FILE)' >> $(SH)
+ chmod +x $(SH)
+
+bat-windows:
+ echo '@ECHO OFF' > $(BAT)
+ echo 'java -jar $(JAR_FILE)' >> $(BAT)
+
+test:
+ mvn clean install
+
+docker:
+ cp Dockerfile set_umask.sh $(BIN_FOLDER)
diff --git a/templates/create_formula/languages/kotlin-jdk11/README.md b/templates/create_formula/languages/kotlin-jdk11/README.md
new file mode 100644
index 00000000..880c6f45
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/README.md
@@ -0,0 +1,11 @@
+# Ritchie Formula
+
+## command
+
+```bash
+#rit-replace{formulaCmd}
+```
+
+## description
+
+description of formula
diff --git a/templates/create_formula/languages/kotlin-jdk11/build.bat b/templates/create_formula/languages/kotlin-jdk11/build.bat
new file mode 100644
index 00000000..7ba05b3b
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/build.bat
@@ -0,0 +1,33 @@
+:: Java parameters
+echo off
+SETLOCAL
+SET BIN_FOLDER=bin
+SET BIN_NAME=Main.jar
+SET BAT_FILE=%BIN_FOLDER%\run.bat
+SET SH_FILE=%BIN_FOLDER%\run.sh
+:build
+ call mvn clean install 1>&2
+ if %errorlevel% neq 0 exit /b %errorlevel%
+ mkdir %BIN_FOLDER%
+ copy target\%BIN_NAME% %BIN_FOLDER%\%BIN_NAME%
+ rmdir /Q /S target
+ CALL :BAT_WINDOWS
+ CALL :SH_LINUX
+ CALL :CP_DOCKER
+ GOTO DONE
+
+:BAT_WINDOWS
+ echo @ECHO OFF > %BAT_FILE%
+ echo java -jar %BIN_NAME% >> %BAT_FILE%
+ GOTO DONE
+
+:SH_LINUX
+ echo java -jar "$(dirname "$0")"/%BIN_NAME% > %SH_FILE%
+ GOTO DONE
+
+:CP_DOCKER
+ copy Dockerfile %BIN_FOLDER%
+ copy set_umask.sh %BIN_FOLDER%
+ GOTO DONE
+
+:DONE
diff --git a/templates/create_formula/languages/kotlin-jdk11/config.json b/templates/create_formula/languages/kotlin-jdk11/config.json
new file mode 100644
index 00000000..1a05e1ac
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/config.json
@@ -0,0 +1,46 @@
+{
+ "dockerImageBuilder": "ritclizup/rit-kotlin-jdk8-builder",
+ "inputs": [
+ {
+ "cache": {
+ "active": true,
+ "newLabel": "Type new value. ",
+ "qty": 3
+ },
+ "label": "Type your name: ",
+ "name": "rit_input_text",
+ "required": true,
+ "type": "text"
+ },
+ {
+ "default": "false",
+ "items": [
+ "false",
+ "true"
+ ],
+ "label": "Have you ever used Ritchie? ",
+ "name": "rit_input_boolean",
+ "required": false,
+ "type": "bool"
+ },
+ {
+ "default": "everything",
+ "items": [
+ "daily tasks",
+ "workflows",
+ "toils",
+ "everything"
+ ],
+ "label": "What do you want to automate? ",
+ "name": "rit_input_list",
+ "required": false,
+ "type": "text"
+ },
+ {
+ "label": "Tell us a secret: ",
+ "name": "rit_input_password",
+ "required": true,
+ "type": "password"
+ }
+ ]
+}
diff --git a/templates/create_formula/languages/kotlin-jdk11/metadata.json b/templates/create_formula/languages/kotlin-jdk11/metadata.json
new file mode 100644
index 00000000..c7e6c4b9
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/metadata.json
@@ -0,0 +1,17 @@
+{
+ "execution": [
+ "local",
+ "docker"
+ ],
+ "os": {
+ "deps": [],
+ "support": [
+ "windows",
+ "mac",
+ "linux"
+ ]
+ },
+ "tags": [
+ "#rit-replace{formulaTags}"
+ ]
+}
diff --git a/templates/create_formula/languages/kotlin-jdk11/pom.xml b/templates/create_formula/languages/kotlin-jdk11/pom.xml
new file mode 100644
index 00000000..9a2c1fe9
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/pom.xml
@@ -0,0 +1,129 @@
+
+
+ 4.0.0
+
+ formula
+ com.ritchie
+ 1.0-SNAPSHOT
+
+
+ UTF-8
+ official
+ 11
+ 3.2.0
+
+
+
+
+ mavenCentral
+ https://repo1.maven.org/maven2/
+
+
+
+
+ Main
+ src/main/kotlin
+ src/test/kotlin
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven-jar-plugin.version}
+
+
+
+
+ com.ritchie.Main
+
+
+
+
+
+ maven-assembly-plugin
+
+ false
+
+
+ com.ritchie.Main
+
+
+
+ jar-with-dependencies
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ 1.4.10
+
+
+ compile
+ compile
+
+ compile
+
+
+
+ test-compile
+ test-compile
+
+ test-compile
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.1
+
+
+ compile
+ compile
+
+ compile
+
+
+
+ testCompile
+ test-compile
+
+ testCompile
+
+
+
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-test-junit
+ 1.4.10
+ test
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib
+ 1.4.10
+
+
+ com.github.tomas-langer
+ chalk
+ 1.0.2
+
+
+
diff --git a/templates/create_formula/languages/kotlin-jdk11/set_umask.sh b/templates/create_formula/languages/kotlin-jdk11/set_umask.sh
new file mode 100644
index 00000000..091c13d6
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/set_umask.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+umask 0011
+$1
diff --git a/templates/create_formula/languages/kotlin-jdk11/src/main/kotlin/com/ritchie/Main.kt b/templates/create_formula/languages/kotlin-jdk11/src/main/kotlin/com/ritchie/Main.kt
new file mode 100644
index 00000000..310e2f3c
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/src/main/kotlin/com/ritchie/Main.kt
@@ -0,0 +1,15 @@
+package com.ritchie
+
+import com.ritchie.formula.Formula
+
+object Main {
+ @JvmStatic
+ fun main(args: Array?) {
+ val inputText: String = System.getenv("RIT_INPUT_TEXT")
+ val inputBoolean: Boolean = (System.getenv("RIT_INPUT_BOOLEAN").toBoolean())
+ val inputList: String = System.getenv("RIT_INPUT_LIST")
+ val inputPassword: String = System.getenv("RIT_INPUT_PASSWORD")
+ val formula = Formula(inputText, inputBoolean, inputList, inputPassword)
+ formula.Run()
+ }
+}
diff --git a/templates/create_formula/languages/kotlin-jdk11/src/main/kotlin/com/ritchie/formula/Formula.kt b/templates/create_formula/languages/kotlin-jdk11/src/main/kotlin/com/ritchie/formula/Formula.kt
new file mode 100644
index 00000000..14060449
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/src/main/kotlin/com/ritchie/formula/Formula.kt
@@ -0,0 +1,16 @@
+package com.ritchie.formula
+import com.github.tomaslanger.chalk.Chalk;
+
+class Formula(private val inputText: String, private val inputBoolean: Boolean, private val inputList: String, private val inputPassword: String) {
+ fun Run() {
+ println("Hello World!")
+ println(Chalk.on(String.format("My name is %s.", inputText)).green())
+ if (inputBoolean) {
+ println(Chalk.on("I've already created formulas using Ritchie.").cyan())
+ } else {
+ println(Chalk.on("I'm excited in creating new formulas using Ritchie.").red())
+ }
+ println(Chalk.on(String.format("Today, I want to automate %s.", inputList)).yellow())
+ println(Chalk.on(String.format("My secret is %s.", inputPassword)).magenta())
+ }
+}
diff --git a/templates/create_formula/languages/kotlin-jdk11/src/test/kotlin/com/ritchie/formula/FormulaTest.kt b/templates/create_formula/languages/kotlin-jdk11/src/test/kotlin/com/ritchie/formula/FormulaTest.kt
new file mode 100644
index 00000000..13417755
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk11/src/test/kotlin/com/ritchie/formula/FormulaTest.kt
@@ -0,0 +1,52 @@
+package com.ritchie.formula
+
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import java.io.ByteArrayOutputStream
+import java.io.PrintStream
+import kotlin.test.assertEquals
+
+class FormulaTest {
+ private val outContent: ByteArrayOutputStream = ByteArrayOutputStream()
+ private val originalOut: PrintStream = System.out
+ @Before
+ fun setUpStreams() {
+ System.setOut(PrintStream(outContent))
+ }
+
+ @After
+ fun restoreStreams() {
+ System.setOut(originalOut)
+ }
+
+ @Test
+ fun runTrueInput() {
+ Formula("Hello", true, "world", "pass").Run()
+ assertEquals("Hello World!" +
+ "My name is Hello." +
+ "I've already created formulas using Ritchie." +
+ "Today, I want to automate world." +
+ "My secret is pass.", outContent.toString().replace(Regex("\\r|\\n"), "").replace(Regex("\u001B\\[[;\\d]*m"), ""))
+ }
+
+ @Test
+ fun runFalseInput() {
+ Formula("Hello", false, "world", "pass").Run()
+ assertEquals("Hello World!" +
+ "My name is Hello." +
+ "I'm excited in creating new formulas using Ritchie." +
+ "Today, I want to automate world." +
+ "My secret is pass.", outContent.toString().replace(Regex("\\r|\\n"), "").replace(Regex("\u001B\\[[;\\d]*m"), ""))
+ }
+
+ @Test
+ fun runNoSecretsInput() {
+ Formula("Hello", false, "world", "").Run()
+ assertEquals("Hello World!" +
+ "My name is Hello." +
+ "I'm excited in creating new formulas using Ritchie." +
+ "Today, I want to automate world." +
+ "My secret is .", outContent.toString().replace(Regex("\\r|\\n"), "").replace(Regex("\u001B\\[[;\\d]*m"), ""))
+ }
+}
diff --git a/templates/create_formula/languages/kotlin-jdk8/Dockerfile b/templates/create_formula/languages/kotlin-jdk8/Dockerfile
new file mode 100644
index 00000000..8317a311
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/Dockerfile
@@ -0,0 +1,13 @@
+FROM ritclizup/rit-kotlin-jdk8-runner
+
+USER root
+
+RUN mkdir /rit
+COPY . /rit
+RUN sed -i 's/\r//g' /rit/set_umask.sh
+RUN sed -i 's/\r//g' /rit/run.sh
+RUN chmod +x /rit/set_umask.sh
+
+WORKDIR /app
+ENTRYPOINT ["/rit/set_umask.sh"]
+CMD ["/rit/run.sh"]
diff --git a/templates/create_formula/languages/kotlin-jdk8/Makefile b/templates/create_formula/languages/kotlin-jdk8/Makefile
new file mode 100644
index 00000000..b219691c
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/Makefile
@@ -0,0 +1,32 @@
+# KOTLIN
+BIN_FOLDER=bin
+SH=$(BIN_FOLDER)/run.sh
+BAT=$(BIN_FOLDER)/run.bat
+BUILD=mvn clean install
+CLEAN=mvn clean
+JAR_FILE=Main.jar
+TARGET=target
+
+build: kotlin-build sh-unix bat-windows docker
+ $(CLEAN)
+
+kotlin-build:
+ mkdir -p $(BIN_FOLDER)
+ $(BUILD)
+ mv $(TARGET)/$(JAR_FILE) $(BIN_FOLDER)
+ rm -Rf $(TARGET)
+
+sh-unix:
+ echo '#!/bin/sh' > $(SH)
+ echo 'java -jar "$$(dirname "$$0")"/$(JAR_FILE)' >> $(SH)
+ chmod +x $(SH)
+
+bat-windows:
+ echo '@ECHO OFF' > $(BAT)
+ echo 'java -jar $(JAR_FILE)' >> $(BAT)
+
+test:
+ mvn clean install
+
+docker:
+ cp Dockerfile set_umask.sh $(BIN_FOLDER)
diff --git a/templates/create_formula/languages/kotlin-jdk8/README.md b/templates/create_formula/languages/kotlin-jdk8/README.md
new file mode 100644
index 00000000..880c6f45
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/README.md
@@ -0,0 +1,11 @@
+# Ritchie Formula
+
+## command
+
+```bash
+#rit-replace{formulaCmd}
+```
+
+## description
+
+description of formula
diff --git a/templates/create_formula/languages/kotlin-jdk8/build.bat b/templates/create_formula/languages/kotlin-jdk8/build.bat
new file mode 100644
index 00000000..7ba05b3b
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/build.bat
@@ -0,0 +1,33 @@
+:: Java parameters
+echo off
+SETLOCAL
+SET BIN_FOLDER=bin
+SET BIN_NAME=Main.jar
+SET BAT_FILE=%BIN_FOLDER%\run.bat
+SET SH_FILE=%BIN_FOLDER%\run.sh
+:build
+ call mvn clean install 1>&2
+ if %errorlevel% neq 0 exit /b %errorlevel%
+ mkdir %BIN_FOLDER%
+ copy target\%BIN_NAME% %BIN_FOLDER%\%BIN_NAME%
+ rmdir /Q /S target
+ CALL :BAT_WINDOWS
+ CALL :SH_LINUX
+ CALL :CP_DOCKER
+ GOTO DONE
+
+:BAT_WINDOWS
+ echo @ECHO OFF > %BAT_FILE%
+ echo java -jar %BIN_NAME% >> %BAT_FILE%
+ GOTO DONE
+
+:SH_LINUX
+ echo java -jar "$(dirname "$0")"/%BIN_NAME% > %SH_FILE%
+ GOTO DONE
+
+:CP_DOCKER
+ copy Dockerfile %BIN_FOLDER%
+ copy set_umask.sh %BIN_FOLDER%
+ GOTO DONE
+
+:DONE
diff --git a/templates/create_formula/languages/kotlin-jdk8/config.json b/templates/create_formula/languages/kotlin-jdk8/config.json
new file mode 100644
index 00000000..1a05e1ac
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/config.json
@@ -0,0 +1,46 @@
+{
+ "dockerImageBuilder": "ritclizup/rit-kotlin-jdk8-builder",
+ "inputs": [
+ {
+ "cache": {
+ "active": true,
+ "newLabel": "Type new value. ",
+ "qty": 3
+ },
+ "label": "Type your name: ",
+ "name": "rit_input_text",
+ "required": true,
+ "type": "text"
+ },
+ {
+ "default": "false",
+ "items": [
+ "false",
+ "true"
+ ],
+ "label": "Have you ever used Ritchie? ",
+ "name": "rit_input_boolean",
+ "required": false,
+ "type": "bool"
+ },
+ {
+ "default": "everything",
+ "items": [
+ "daily tasks",
+ "workflows",
+ "toils",
+ "everything"
+ ],
+ "label": "What do you want to automate? ",
+ "name": "rit_input_list",
+ "required": false,
+ "type": "text"
+ },
+ {
+ "label": "Tell us a secret: ",
+ "name": "rit_input_password",
+ "required": true,
+ "type": "password"
+ }
+ ]
+}
diff --git a/templates/create_formula/languages/kotlin-jdk8/metadata.json b/templates/create_formula/languages/kotlin-jdk8/metadata.json
new file mode 100644
index 00000000..c7e6c4b9
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/metadata.json
@@ -0,0 +1,17 @@
+{
+ "execution": [
+ "local",
+ "docker"
+ ],
+ "os": {
+ "deps": [],
+ "support": [
+ "windows",
+ "mac",
+ "linux"
+ ]
+ },
+ "tags": [
+ "#rit-replace{formulaTags}"
+ ]
+}
diff --git a/templates/create_formula/languages/kotlin-jdk8/pom.xml b/templates/create_formula/languages/kotlin-jdk8/pom.xml
new file mode 100644
index 00000000..521e3661
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/pom.xml
@@ -0,0 +1,129 @@
+
+
+ 4.0.0
+
+ formula
+ com.ritchie
+ 1.0-SNAPSHOT
+
+
+ UTF-8
+ official
+ 1.8
+ 3.2.0
+
+
+
+
+ mavenCentral
+ https://repo1.maven.org/maven2/
+
+
+
+
+ Main
+ src/main/kotlin
+ src/test/kotlin
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven-jar-plugin.version}
+
+
+
+
+ com.ritchie.Main
+
+
+
+
+
+ maven-assembly-plugin
+
+ false
+
+
+ com.ritchie.Main
+
+
+
+ jar-with-dependencies
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ 1.4.10
+
+
+ compile
+ compile
+
+ compile
+
+
+
+ test-compile
+ test-compile
+
+ test-compile
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.1
+
+
+ compile
+ compile
+
+ compile
+
+
+
+ testCompile
+ test-compile
+
+ testCompile
+
+
+
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-test-junit
+ 1.4.10
+ test
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib-jdk8
+ 1.4.10
+
+
+ com.github.tomas-langer
+ chalk
+ 1.0.2
+
+
+
diff --git a/templates/create_formula/languages/kotlin-jdk8/set_umask.sh b/templates/create_formula/languages/kotlin-jdk8/set_umask.sh
new file mode 100644
index 00000000..091c13d6
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/set_umask.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+umask 0011
+$1
diff --git a/templates/create_formula/languages/kotlin-jdk8/src/main/kotlin/com/ritchie/Main.kt b/templates/create_formula/languages/kotlin-jdk8/src/main/kotlin/com/ritchie/Main.kt
new file mode 100644
index 00000000..310e2f3c
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/src/main/kotlin/com/ritchie/Main.kt
@@ -0,0 +1,15 @@
+package com.ritchie
+
+import com.ritchie.formula.Formula
+
+object Main {
+ @JvmStatic
+ fun main(args: Array?) {
+ val inputText: String = System.getenv("RIT_INPUT_TEXT")
+ val inputBoolean: Boolean = (System.getenv("RIT_INPUT_BOOLEAN").toBoolean())
+ val inputList: String = System.getenv("RIT_INPUT_LIST")
+ val inputPassword: String = System.getenv("RIT_INPUT_PASSWORD")
+ val formula = Formula(inputText, inputBoolean, inputList, inputPassword)
+ formula.Run()
+ }
+}
diff --git a/templates/create_formula/languages/kotlin-jdk8/src/main/kotlin/com/ritchie/formula/Formula.kt b/templates/create_formula/languages/kotlin-jdk8/src/main/kotlin/com/ritchie/formula/Formula.kt
new file mode 100644
index 00000000..14060449
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/src/main/kotlin/com/ritchie/formula/Formula.kt
@@ -0,0 +1,16 @@
+package com.ritchie.formula
+import com.github.tomaslanger.chalk.Chalk;
+
+class Formula(private val inputText: String, private val inputBoolean: Boolean, private val inputList: String, private val inputPassword: String) {
+ fun Run() {
+ println("Hello World!")
+ println(Chalk.on(String.format("My name is %s.", inputText)).green())
+ if (inputBoolean) {
+ println(Chalk.on("I've already created formulas using Ritchie.").cyan())
+ } else {
+ println(Chalk.on("I'm excited in creating new formulas using Ritchie.").red())
+ }
+ println(Chalk.on(String.format("Today, I want to automate %s.", inputList)).yellow())
+ println(Chalk.on(String.format("My secret is %s.", inputPassword)).magenta())
+ }
+}
diff --git a/templates/create_formula/languages/kotlin-jdk8/src/test/kotlin/com/ritchie/formula/FormulaTest.kt b/templates/create_formula/languages/kotlin-jdk8/src/test/kotlin/com/ritchie/formula/FormulaTest.kt
new file mode 100644
index 00000000..13417755
--- /dev/null
+++ b/templates/create_formula/languages/kotlin-jdk8/src/test/kotlin/com/ritchie/formula/FormulaTest.kt
@@ -0,0 +1,52 @@
+package com.ritchie.formula
+
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import java.io.ByteArrayOutputStream
+import java.io.PrintStream
+import kotlin.test.assertEquals
+
+class FormulaTest {
+ private val outContent: ByteArrayOutputStream = ByteArrayOutputStream()
+ private val originalOut: PrintStream = System.out
+ @Before
+ fun setUpStreams() {
+ System.setOut(PrintStream(outContent))
+ }
+
+ @After
+ fun restoreStreams() {
+ System.setOut(originalOut)
+ }
+
+ @Test
+ fun runTrueInput() {
+ Formula("Hello", true, "world", "pass").Run()
+ assertEquals("Hello World!" +
+ "My name is Hello." +
+ "I've already created formulas using Ritchie." +
+ "Today, I want to automate world." +
+ "My secret is pass.", outContent.toString().replace(Regex("\\r|\\n"), "").replace(Regex("\u001B\\[[;\\d]*m"), ""))
+ }
+
+ @Test
+ fun runFalseInput() {
+ Formula("Hello", false, "world", "pass").Run()
+ assertEquals("Hello World!" +
+ "My name is Hello." +
+ "I'm excited in creating new formulas using Ritchie." +
+ "Today, I want to automate world." +
+ "My secret is pass.", outContent.toString().replace(Regex("\\r|\\n"), "").replace(Regex("\u001B\\[[;\\d]*m"), ""))
+ }
+
+ @Test
+ fun runNoSecretsInput() {
+ Formula("Hello", false, "world", "").Run()
+ assertEquals("Hello World!" +
+ "My name is Hello." +
+ "I'm excited in creating new formulas using Ritchie." +
+ "Today, I want to automate world." +
+ "My secret is .", outContent.toString().replace(Regex("\\r|\\n"), "").replace(Regex("\u001B\\[[;\\d]*m"), ""))
+ }
+}