Skip to content
This repository was archived by the owner on Mar 12, 2020. It is now read-only.

Commit 0feb461

Browse files
committed
Remove Furrer model since it is not used anywhere, extend unit tests
1 parent 3a2e07c commit 0feb461

File tree

11 files changed

+30
-92
lines changed

11 files changed

+30
-92
lines changed

src/main/scala/de/retest/guistatemachine/furrermodel/GuiApplication.scala

Lines changed: 0 additions & 13 deletions
This file was deleted.

src/main/scala/de/retest/guistatemachine/furrermodel/GuiWidget.scala

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/main/scala/de/retest/guistatemachine/furrermodel/GuiWindow.scala

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/main/scala/de/retest/guistatemachine/furrermodel/State.scala

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/main/scala/de/retest/guistatemachine/furrermodel/TestCase.scala

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/main/scala/de/retest/guistatemachine/furrermodel/TestSuite.scala

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/main/scala/de/retest/guistatemachine/furrermodel/UIAction.scala

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/main/scala/de/retest/guistatemachine/furrermodel/UIPath.scala

Lines changed: 0 additions & 25 deletions
This file was deleted.

src/main/scala/de/retest/guistatemachine/persistence/Persistence.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class Persistence {
2323
val apps = guiApplications
2424
apps.synchronized {
2525
val id = apps.apps.generateId
26-
apps.apps.values = apps.apps.values + (id -> new GuiApplication(TestSuites(Map(new HashMap[Id, TestSuite]))))
26+
apps.apps.values = apps.apps.values + (id -> GuiApplication(TestSuites(Map(new HashMap[Id, TestSuite]))))
2727
id
2828
}
2929
}

src/test/scala/de/retest/guistatemachine/JsonFormatForIdMapSpec.scala

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,18 @@ import de.retest.guistatemachine.model.Id
1111
import de.retest.guistatemachine.model.TestSuite
1212
import scala.collection.immutable.HashMap
1313
import de.retest.guistatemachine.model.Map
14+
import de.retest.guistatemachine.model.GuiApplications
15+
import de.retest.guistatemachine.model.GuiApplication
1416

1517
class JsonFormatForIdMapSpec extends WordSpec with Matchers {
1618

1719
implicit val idFormat = jsonFormat1(Id)
1820
implicit val testSuiteFormat = jsonFormat0(TestSuite)
1921
implicit val hashMapFormatTestSuites = new JsonFormatForIdMap[TestSuite]
2022
implicit val testSuitesFormat = jsonFormat1(TestSuites)
23+
implicit val applicationFormat = jsonFormat1(GuiApplication)
24+
implicit val hashMapFormatApplications = new JsonFormatForIdMap[GuiApplication]
25+
implicit val applicationsFormat = jsonFormat1(GuiApplications)
2126

2227
"The JSON format" should {
2328
"convert an empty test suite into JSON and back" in {
@@ -37,6 +42,24 @@ class JsonFormatForIdMapSpec extends WordSpec with Matchers {
3742
transformedTestSuites.suites.values.isEmpty shouldEqual false
3843
transformedTestSuites.suites.values.contains(Id(0)) shouldEqual true
3944
}
45+
46+
/**
47+
* Tests nested fields which do both contain a Map.
48+
*/
49+
"convert an application into JSON and back" in {
50+
val testSuites = TestSuites(Map(new HashMap[Id, TestSuite]()))
51+
testSuites.suites.values = testSuites.suites.values + (Id(0) -> TestSuite())
52+
val apps = GuiApplications(Map(new HashMap[Id, GuiApplication]()))
53+
apps.apps.values = apps.apps.values + (Id(0) -> new GuiApplication(testSuites))
54+
val json = apps.toJson
55+
json.toString shouldEqual "{\"apps\":{\"0\":{\"testSuites\":{\"suites\":{\"0\":{}}}}}}"
56+
val transformedApps = json.convertTo[GuiApplications]
57+
transformedApps.apps.values.isEmpty shouldEqual false
58+
transformedApps.apps.values.contains(Id(0)) shouldEqual true
59+
val transformedSuites = transformedApps.apps.values(Id(0)).testSuites.suites.values
60+
transformedSuites.isEmpty shouldEqual false
61+
transformedSuites.contains(Id(0)) shouldEqual true
62+
}
4063
}
4164

4265
}

0 commit comments

Comments
 (0)