diff options
Diffstat (limited to 'src/test/scala/firrtlTests/ExecutionOptionsManagerSpec.scala')
| -rw-r--r-- | src/test/scala/firrtlTests/ExecutionOptionsManagerSpec.scala | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/test/scala/firrtlTests/ExecutionOptionsManagerSpec.scala b/src/test/scala/firrtlTests/ExecutionOptionsManagerSpec.scala new file mode 100644 index 00000000..ef5617c9 --- /dev/null +++ b/src/test/scala/firrtlTests/ExecutionOptionsManagerSpec.scala @@ -0,0 +1,41 @@ +// See LICENSE for license details. + +package firrtlTests + +import firrtl._ +import org.scalatest.{Matchers, FreeSpec} + +class ExecutionOptionsManagerSpec extends FreeSpec with Matchers { + "ExecutionOptionsManager is a container for one more more ComposableOptions Block" - { + "It has a default CommonOptionsBlock" in { + val manager = new ExecutionOptionsManager("test") + manager.commonOptions.targetDirName should be (".") + } + "But can override defaults like this" in { + val manager = new ExecutionOptionsManager("test") { commonOptions = CommonOptions(topName = "dog") } + manager.commonOptions shouldBe a [CommonOptions] + manager.topName should be ("dog") + manager.commonOptions.topName should be ("dog") + } + "The add method should put a new version of a given type the manager" in { + val manager = new ExecutionOptionsManager("test") { commonOptions = CommonOptions(topName = "dog") } + val initialCommon = manager.commonOptions + initialCommon.topName should be ("dog") + + manager.commonOptions = CommonOptions(topName = "cat") + + val afterCommon = manager.commonOptions + afterCommon.topName should be ("cat") + initialCommon.topName should be ("dog") + } + "multiple composable blocks should be separable" in { + val manager = new ExecutionOptionsManager("test") with HasFirrtlOptions { + commonOptions = CommonOptions(topName = "spoon") + firrtlOptions = FirrtlExecutionOptions(inputFileNameOverride = "fork") + } + + manager.firrtlOptions.inputFileNameOverride should be ("fork") + manager.commonOptions.topName should be ("spoon") + } + } +} |
