Index: pom.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- pom.xml (revision cef7f0979a4f5c0ed092afeaa1dbb5f3cd6293e9)
+++ pom.xml (revision 31f85fee0ec35671772d6832468db6bf26d3fb28)
@@ -10,8 +10,10 @@
jar
- 1.2.10
- 1.7.15-SNAPSHOT
+ 1.2.20
+ 1.7.14
+ 4.0.4-alpha
+ 4.0.4-alpha
@@ -35,17 +37,25 @@
io.mockk
mockk
1.6.3
+ test
+
+
+ org.testfx
+ testfx-core
+ ${org.testfx.testfx-core.version}
test
junit
junit
4.12
+ test
- src/main/kotlin
+ ${project.basedir}/src/main/kotlin
+ ${project.basedir}/src/test/kotlin
org.jetbrains.kotlin
Index: src/main/kotlin/no/tornadofx/app/Controllers.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/kotlin/no/tornadofx/app/Controllers.kt (revision 31f85fee0ec35671772d6832468db6bf26d3fb28)
+++ src/main/kotlin/no/tornadofx/app/Controllers.kt (revision 31f85fee0ec35671772d6832468db6bf26d3fb28)
@@ -0,0 +1,12 @@
+package no.tornadofx.app
+
+import javafx.beans.property.SimpleStringProperty
+import javafx.collections.FXCollections
+import tornadofx.*
+
+class PersonController : Controller() {
+ val persons = FXCollections.observableArrayList()
+ fun allPersons() = persons
+
+ fun count() = persons.size
+}
Index: src/main/kotlin/no/tornadofx/app/Models.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/kotlin/no/tornadofx/app/Models.kt (revision 31f85fee0ec35671772d6832468db6bf26d3fb28)
+++ src/main/kotlin/no/tornadofx/app/Models.kt (revision 31f85fee0ec35671772d6832468db6bf26d3fb28)
@@ -0,0 +1,17 @@
+package no.tornadofx.app
+
+import javafx.beans.property.SimpleStringProperty
+import tornadofx.*
+
+class Person {
+ constructor(name: String, address: String) {
+ this.name = name
+ this.address = address
+ }
+
+ val addressProperty = SimpleStringProperty()
+ var address by addressProperty
+ val nameProperty = SimpleStringProperty()
+ var name by nameProperty
+}
+
Index: src/main/kotlin/no/tornadofx/view/MainView.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/kotlin/no/tornadofx/view/MainView.kt (revision cef7f0979a4f5c0ed092afeaa1dbb5f3cd6293e9)
+++ src/main/kotlin/no/tornadofx/view/MainView.kt (revision 31f85fee0ec35671772d6832468db6bf26d3fb28)
@@ -1,12 +1,17 @@
package no.tornadofx.view
+import no.tornadofx.app.PersonController
import no.tornadofx.app.Styles
import tornadofx.*
class MainView : View("Hello TornadoFX") {
+ val controller: PersonController by inject()
+
override val root = hbox {
label(title) {
addClass(Styles.heading)
}
}
+
+ fun getCountFromController() = controller.count()
}
\ No newline at end of file
Index: src/test/kotlin/mockexample.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/test/kotlin/mockexample.kt (revision cef7f0979a4f5c0ed092afeaa1dbb5f3cd6293e9)
+++ src/test/kotlin/mockexample.kt (revision 1267a6f1ed4866f1c0b1c7850f3b3e0b3bfc863d)
@@ -1,47 +1,36 @@
import io.mockk.every
import io.mockk.mockk
-import javafx.beans.property.SimpleStringProperty
-import javafx.collections.FXCollections
+import javafx.stage.Stage
+import no.tornadofx.app.Person
+import no.tornadofx.app.PersonController
+import no.tornadofx.view.MainView
import org.junit.Assert
import org.junit.Test
+import org.testfx.api.FxToolkit
import tornadofx.*
import kotlin.test.assertEquals
-class Person {
- constructor(name: String, address: String) {
- this.name = name
- this.address = address
- }
-
- val addressProperty = SimpleStringProperty()
- var address by addressProperty
- val nameProperty = SimpleStringProperty()
- var name by nameProperty
-}
-
-class PersonController : Controller() {
-
- val persons = FXCollections.observableArrayList()
- fun allPersons() = persons
-
- fun count() = persons.size
-}
-
-class testclass {
- val controller: PersonController = mockk()
+class MyTests {
+ val primaryStage: Stage = FxToolkit.registerPrimaryStage()
val testpersons = listOf(Person("Ron", "Best"), Person("Edvin", "dontknow")).observable()
+
@Test
fun test1() {
+ val controller: PersonController = mockk(relaxed = true)
every { controller.count() } returns 10
- Assert.assertEquals(10, controller.count())
+ val test1Scope = Scope(controller)
+
+ val mainView = find(test1Scope)
+ Assert.assertEquals(10, mainView.getCountFromController())
}
@Test
fun test2() {
- every {controller.allPersons()} returns testpersons
+ val controller: PersonController = mockk()
+ every { controller.allPersons() } returns testpersons
val testList = controller.allPersons()
assertEquals(testList.size, 2)
Index: .gitignore
===================================================================
--- .gitignore (revision cef7f0979a4f5c0ed092afeaa1dbb5f3cd6293e9)
+++ .gitignore (revision cef7f0979a4f5c0ed092afeaa1dbb5f3cd6293e9)
@@ -1,17 +0,0 @@
-# Created by .ignore support plugin (hsz.mobi)
-### Maven template
-target/
-pom.xml.tag
-pom.xml.releaseBackup
-pom.xml.versionsBackup
-pom.xml.next
-release.properties
-dependency-reduced-pom.xml
-buildNumber.properties
-.mvn/timing.properties
-
-# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
-!/.mvn/wrapper/maven-wrapper.jar
-
-.idea
-mokktest.iml
\ No newline at end of file