public void VerifyCompareInIncorrect()
        {
            BuildFile   file   = new BuildFile(@"BuildFiles\DefaultConsoleApplication.csproj");
            ruleElement config = new ruleElement();

            ruleElementBuildProperty buildProperty = new ruleElementBuildProperty();

            buildProperty.name          = "Configuration";
            buildProperty.value         = "Something Release Custom Whatever";
            buildProperty.compareOption = CompareOption.In.ToString();
            config.buildProperties.Add(buildProperty);
            config.name        = "BuildProperty";
            config.RuleChecker = new BuildPropertiesRule(config);

            ruleElementBuildProperty rule = new ruleElementBuildProperty();

            rule.name = "BuildProperty";
            IList <LogEntry> entries = config.RuleChecker.Check(file);

            Assert.IsNotNull(entries);
            Assert.AreEqual <int>(1, entries.Count);
            Assert.AreEqual <string>("BuildProperty", entries[0].Rule);
            Assert.AreEqual <string>("IncorrectValue", entries[0].Code);
        }
        public void VerifyCompareEqualToMissing()
        {
            BuildFile   file   = new BuildFile(@"BuildFiles\DefaultConsoleApplication.csproj");
            ruleElement config = new ruleElement();

            ruleElementBuildProperty buildProperty = new ruleElementBuildProperty();

            buildProperty.name          = "Dummy";
            buildProperty.value         = "Dummy";
            buildProperty.compareOption = CompareOption.EqualTo.ToString();
            config.buildProperties.Add(buildProperty);
            config.name        = "BuildProperty";
            config.RuleChecker = new BuildPropertiesRule(config);

            ruleElementBuildProperty rule = new ruleElementBuildProperty();

            rule.name = "BuildProperty";
            IList <LogEntry> entries = config.RuleChecker.Check(file);

            Assert.IsNotNull(entries);
            Assert.AreEqual <int>(1, entries.Count);
            Assert.AreEqual <string>("BuildProperty", entries[0].Rule);
            Assert.AreEqual <string>("PropertyShouldExist", entries[0].Code);
        }
 private static string GetConditionSubstring(ruleElementBuildProperty expectedProperty)
 {
     return(string.IsNullOrEmpty(expectedProperty.condition) ? "" : string.Format(CultureInfo.CurrentCulture, " with condition \"{0}\"", expectedProperty.condition));
 }