public void Execute_TextIsSet_OutputsCorrectMessage()
        {
            var expectedText = "My TeamCity message.";

            var engine = new MockBuildEngine();
            var task = new TeamCityMessage();
            task.BuildEngine = engine;

            task.Text = expectedText;

            var actualResult = task.Execute();

            Assert.True(actualResult);
            CollectionAssert.Contains(engine.LoggedMessages, "##teamcity[message text='My TeamCity message.']");
        }
        public void Execute_ValueWithSpecialCharactersIsSet_OutputsEscapedMessage()
        {
            var expectedText = "My special ' | \n characters.";

            var engine = new MockBuildEngine();
            var task = new TeamCityMessage();
            task.BuildEngine = engine;

            task.Text = expectedText;

            var actualResult = task.Execute();

            Assert.True(actualResult);
            CollectionAssert.Contains(engine.LoggedMessages, "##teamcity[message text='My special |' || |n characters.']");
        }
        public void Execute_PathIsSet_OutputsCorrectMessage()
        {
            var expectedPath = "bin\\artifact.zip";

            var engine = new MockBuildEngine();
            var task = new TeamCityPublishArtifacts();
            task.BuildEngine = engine;

            task.Path = expectedPath;

            var actualResult = task.Execute();

            Assert.True(actualResult);
            CollectionAssert.Contains(engine.LoggedMessages, "##teamcity[publishArtifacts 'bin\\artifact.zip']");
        }
        public void Execute_ValueWithSpecialCharactersIsSet_OutputsEscapedMessage()
        {
            var expectedName = "MyParameter";
            var expectedValue = "parameter value's";

            var engine = new MockBuildEngine();
            var task = new TeamCitySetParameter();
            task.BuildEngine = engine;

            task.Name = expectedName;
            task.Value = expectedValue;

            var actualResult = task.Execute();

            Assert.True(actualResult);
            CollectionAssert.Contains(engine.LoggedMessages, "##teamcity[setParameter name='MyParameter' value='parameter value|'s']");
        }