public void TestUnknownCommand()
        {
            TestCommandProvider commandProvier = NewCommandProvider("fire all missiles");
            TestDatabase        db             = new TestDatabase();
            CommandLine         commandLine    = new CommandLine(db, commandProvier);

            commandLine.Run();

            Assert.AreEqual("ERROR - Unknown command.", commandProvier.DequeueMessage());
            Assert.AreEqual("bye", commandProvier.DequeueMessage());
        }
        public void TestTooFewArgs()
        {
            TestCommandProvider commandProvier = NewCommandProvider("put");
            TestDatabase        db             = new TestDatabase();
            CommandLine         commandLine    = new CommandLine(db, commandProvier);

            commandLine.Run();

            Assert.AreEqual("ERROR - Not enough arguments for command put.", commandProvier.DequeueMessage());
            Assert.AreEqual("bye", commandProvier.DequeueMessage());
        }
        public void TestGetRef()
        {
            TestCommandProvider commandProvier = NewCommandProvider("getref blue");
            TestDatabase        db             = new TestDatabase();
            CommandLine         commandLine    = new CommandLine(db, commandProvier);

            commandLine.Run();

            commandProvier.DequeueMessage();
            Assert.AreEqual("bye", commandProvier.DequeueMessage());
            Assert.AreEqual(1, db.GetRefCalls);
        }
        public void TestCommit()
        {
            TestCommandProvider commandProvier = NewCommandProvider("commit");
            TestDatabase        db             = new TestDatabase();
            CommandLine         commandLine    = new CommandLine(db, commandProvier);

            commandLine.Run();

            Assert.AreEqual("bye", commandProvier.DequeueMessage());
            Assert.AreEqual(1, db.CommitCalls);
        }