summaryrefslogtreecommitdiff
path: root/cli/src/test/scala/com/rockymadden/stringmetric/cli/PackageSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'cli/src/test/scala/com/rockymadden/stringmetric/cli/PackageSpec.scala')
-rwxr-xr-xcli/src/test/scala/com/rockymadden/stringmetric/cli/PackageSpec.scala59
1 files changed, 59 insertions, 0 deletions
diff --git a/cli/src/test/scala/com/rockymadden/stringmetric/cli/PackageSpec.scala b/cli/src/test/scala/com/rockymadden/stringmetric/cli/PackageSpec.scala
new file mode 100755
index 0000000..ac31a4d
--- /dev/null
+++ b/cli/src/test/scala/com/rockymadden/stringmetric/cli/PackageSpec.scala
@@ -0,0 +1,59 @@
+package com.rockymadden.stringmetric.cli
+
+object PackageSpec extends org.specs2.mutable.SpecificationWithJUnit {
+ "OptionMap apply()" should {
+ "return populated Map with single valid double dashed option" in {
+ val opts: OptionMap = Array("--help")
+
+ (opts('help): String) must beEqualTo("")
+ }
+ "return populated Map with multiple valid double dashed opts" in {
+ val opts: OptionMap = Array("--help", "--test=test")
+
+ (opts('help): String) must beEqualTo("")
+ (opts('test): String) must beEqualTo("test")
+ }
+ "return empty Map with invalid double dashed opts" in {
+ val opts: OptionMap = Array("--help#", "--test%=test")
+
+ opts.keysIterator.length must beEqualTo(0)
+ }
+ "return populated Map with single valid single dashed option" in {
+ val opts: OptionMap = Array("-h")
+
+ (opts('h): String) must beEqualTo("")
+ }
+ "return populated Map multiple valid single dashed opts" in {
+ val opts: OptionMap = Array("-h", "-i")
+
+ (opts('h): String) must beEqualTo("")
+ (opts('i): String) must beEqualTo("")
+ }
+ "return empty Map with invalid single dashed opts" in {
+ val opts: OptionMap = Array("-h-i", "-i#gloo")
+
+ opts.keysIterator.length must beEqualTo(0)
+ }
+ "return single key populated Map with single nameless option" in {
+ val opts: OptionMap = Array("filename0")
+
+ (opts('dashless): String).count(_ == ' ') must beEqualTo(0)
+ }
+ "return single key populated Map with multiple single nameless opts" in {
+ val opts: OptionMap = Array("filename0", "filename1", "filename2")
+
+ (opts('dashless): String).count(_ == ' ') must beEqualTo(2)
+ }
+ "return populated Map with mixed opts" in {
+ val opts: OptionMap = Array(
+ "-q", "--help", "--test=test", "-go", "filename0", "filename1", "filename2"
+ )
+
+ (opts('q): String) must beEqualTo("")
+ (opts('help): String) must beEqualTo("")
+ (opts('test): String) must beEqualTo("test")
+ (opts('go): String) must beEqualTo("")
+ (opts('dashless): String).count(_ == ' ') must beEqualTo(2)
+ }
+ }
+}