예제 #1
0
        public void Throw_WhenProvidedNullInput()
        {
            //Arrange
            var emptyInput  = string.Empty;
            var fakeFactory = new Mock <ICommandFactory>();
            var parser      = new Core.Factories.CommandParser(fakeFactory.Object);

            //Act && Assert
            Assert.ThrowsException <ArgumentNullException>(() => parser.ParseCommand(emptyInput));
        }
예제 #2
0
        public void InvokeCreateCommand_WhenProvidedCorrectParameter()
        {
            //Arrange
            var fakeFactory = new Mock <ICommandFactory>();
            var parser      = new Core.Factories.CommandParser(fakeFactory.Object);

            //Act
            parser.ParseCommand("test");

            //Assert
            fakeFactory.Verify(v => v.CreateCommand(It.IsAny <string>()), Times.Once());
        }
예제 #3
0
        public void ReturnICommand_WhenProvidedValidParameter()
        {
            //Arrange
            var fakeFactory     = new Mock <ICommandFactory>();
            var fakeUserSession = new Mock <IUserSession>();

            fakeFactory.Setup(s => s.CreateCommand(It.IsAny <string>())).Returns(new LogoutCommand(fakeUserSession.Object));
            var factory = new Core.Factories.CommandParser(fakeFactory.Object);

            //Act
            var mockCommand = factory.ParseCommand("logout");

            //Assert
            Assert.IsInstanceOfType(mockCommand, typeof(ICommand));
        }