aboutsummaryrefslogtreecommitdiff
path: root/flow-core/src/test/scala/ch/jodersky/flow/SerialManagerSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'flow-core/src/test/scala/ch/jodersky/flow/SerialManagerSpec.scala')
-rw-r--r--flow-core/src/test/scala/ch/jodersky/flow/SerialManagerSpec.scala38
1 files changed, 38 insertions, 0 deletions
diff --git a/flow-core/src/test/scala/ch/jodersky/flow/SerialManagerSpec.scala b/flow-core/src/test/scala/ch/jodersky/flow/SerialManagerSpec.scala
new file mode 100644
index 0000000..59af305
--- /dev/null
+++ b/flow-core/src/test/scala/ch/jodersky/flow/SerialManagerSpec.scala
@@ -0,0 +1,38 @@
+package ch.jodersky.flow
+
+import akka.actor.ActorSystem
+import akka.io.IO
+import akka.testkit.{ImplicitSender, TestKit}
+import org.scalatest._
+
+class SerialManagerSpec
+ extends TestKit(ActorSystem("serial-manager"))
+ with ImplicitSender
+ with WordSpecLike
+ with Matchers
+ with BeforeAndAfterAll
+ with PseudoTerminal {
+
+ override def afterAll {
+ TestKit.shutdownActorSystem(system)
+ }
+
+ "Serial manager" should {
+ val manager = IO(Serial)
+
+ "open an existing port" in {
+ withEcho{ case (port, settings) =>
+ manager ! Serial.Open(port, settings)
+ expectMsgType[Serial.Opened]
+ }
+ }
+
+ "fail opening a non-existing port" in {
+ val cmd = Serial.Open("nonexistent", SerialSettings(115200))
+ manager ! cmd
+ assert(expectMsgType[Serial.CommandFailed].command == cmd)
+ }
+
+ }
+
+}