public void FixtureNamePlusAssemblyIsValid() { ConsoleOptions options = new ConsoleOptions( "-fixture:NUnit.Tests.AllTests", "nunit.tests.dll" ); Assert.AreEqual("nunit.tests.dll", options.Parameters[0]); Assert.AreEqual("NUnit.Tests.AllTests", options.fixture); Assert.IsTrue(options.Validate()); }
public void ExcludeCategories() { ConsoleOptions options = new ConsoleOptions( "tests.dll", "-exclude:Database;Slow" ); Assert.IsTrue( options.Validate() ); Assert.IsNotNull(options.exclude); Assert.AreEqual(options.exclude, "Database;Slow"); Assert.IsTrue(options.HasExclude); string[] categories = options.ExcludedCategories; Assert.IsNotNull(categories); Assert.AreEqual(2, categories.Length); Assert.AreEqual("Database", categories[0]); Assert.AreEqual("Slow", categories[1]); }
public void ExploreOptionWithoutPath() { ConsoleOptions options = new ConsoleOptions("tests.dll", "-explore"); Assert.True(options.Validate()); Assert.True(options.Explore); }
public void ResultOptionMayBeRepeated() { ConsoleOptions options = new ConsoleOptions("tests.dll", "-result:results.xml", "-result:nunit2results.xml;format=nunit2", "-result:myresult.xml;transform=mytransform.xslt"); Assert.True(options.Validate(), "Should be valid"); var specs = options.ResultOutputSpecifications; Assert.AreEqual(3, specs.Count); var spec1 = specs[0]; Assert.AreEqual("results.xml", spec1.OutputPath); Assert.AreEqual("nunit3", spec1.Format); Assert.Null(spec1.Transform); var spec2 = specs[1]; Assert.AreEqual("nunit2results.xml", spec2.OutputPath); Assert.AreEqual("nunit2", spec2.Format); Assert.Null(spec2.Transform); var spec3 = specs[2]; Assert.AreEqual("myresult.xml", spec3.OutputPath); Assert.AreEqual("user", spec3.Format); Assert.AreEqual("mytransform.xslt", spec3.Transform); }
public void NoInputFiles() { ConsoleOptions options = new ConsoleOptions(); Assert.True(options.Validate()); Assert.AreEqual(0, options.InputFiles.Count); }
public void FileNameWithoutXmlParameterLooksLikeParameter() { ConsoleOptions options = new ConsoleOptions( "tests.dll", "result.xml" ); Assert.IsTrue(options.Validate()); Assert.AreEqual(2, options.Parameters.Count); }
public void IncludeAndExcludeAreInvalidTogether() { ConsoleOptions options = new ConsoleOptions( "tests.dll", "-include:Database;Slow", "-exclude:Fast" ); Assert.IsFalse( options.Validate() ); }
public void FileNameWithoutXmlParameterIsInvalid() { ConsoleOptions options = new ConsoleOptions( "tests.dll", ":result.xml" ); Assert.IsFalse(options.Validate()); }
public void CanRecognizeLowerCaseOptionValues(string propertyName, string optionName, string[] canonicalValues) { PropertyInfo property = GetPropertyInfo(propertyName); Assert.AreEqual(typeof(string), property.PropertyType); foreach (string canonicalValue in canonicalValues) { string lowercaseValue = canonicalValue.ToLower(CultureInfo.InvariantCulture); string optionPlusValue = string.Format("--{0}:{1}", optionName, lowercaseValue); ConsoleOptions options = new ConsoleOptions(optionPlusValue); Assert.True(options.Validate(), "Should be valid: " + optionPlusValue); Assert.AreEqual(canonicalValue, (string)property.GetValue(options, null), "Didn't recognize " + optionPlusValue); } }
public void TimeoutIsMinusOneIfNoOptionIsProvided() { ConsoleOptions options = new ConsoleOptions("tests.dll"); Assert.True(options.Validate()); Assert.AreEqual(-1, options.DefaultTimeout); }
public void TimeoutParsesIntValueCorrectly() { ConsoleOptions options = new ConsoleOptions("tests.dll", "-timeout:5000"); Assert.True(options.Validate()); Assert.AreEqual(5000, options.DefaultTimeout); }
public void InvalidOption() { ConsoleOptions options = new ConsoleOptions("-asembly:nunit.tests.dll"); Assert.False(options.Validate()); Assert.AreEqual(1, options.ErrorMessages.Count); Assert.AreEqual("Invalid argument: -asembly:nunit.tests.dll", options.ErrorMessages[0]); }
public void InvalidCommandLineParms() { ConsoleOptions options = new ConsoleOptions("-garbage:TestFixture", "-assembly:Tests.dll"); Assert.False(options.Validate()); Assert.AreEqual(2, options.ErrorMessages.Count); Assert.AreEqual("Invalid argument: -garbage:TestFixture", options.ErrorMessages[0]); Assert.AreEqual("Invalid argument: -assembly:Tests.dll", options.ErrorMessages[1]); }
public void AssemblyAloneIsValid() { ConsoleOptions options = new ConsoleOptions("nunit.tests.dll"); Assert.True(options.Validate()); Assert.AreEqual(0, options.ErrorMessages.Count, "command line should be valid"); }
public void AssemblyName() { ConsoleOptions options = new ConsoleOptions("nunit.tests.dll"); Assert.True(options.Validate()); Assert.AreEqual(1, options.InputFiles.Count); Assert.AreEqual("nunit.tests.dll", options.InputFiles[0]); }
public void MissingValuesAreReported(string option) { ConsoleOptions options = new ConsoleOptions(option + "="); Assert.False(options.Validate(), "Missing value should not be valid"); Assert.AreEqual("Missing required value for option '" + option + "'.", options.ErrorMessages[0]); }
public void ExploreOptionWithFilePathAndTransform() { ConsoleOptions options = new ConsoleOptions("tests.dll", "-explore:results.xml;transform=myreport.xslt"); Assert.True(options.Validate()); Assert.AreEqual(1, options.InputFiles.Count, "assembly should be set"); Assert.AreEqual("tests.dll", options.InputFiles[0]); Assert.True(options.Explore); OutputSpecification spec = options.ExploreOutputSpecifications[0]; Assert.AreEqual("results.xml", spec.OutputPath); Assert.AreEqual("user", spec.Format); Assert.AreEqual("myreport.xslt", spec.Transform); }
public void AssemblyAloneIsValid() { ConsoleOptions options = new ConsoleOptions( "nunit.tests.dll" ); Assert.IsTrue(options.Validate(), "command line should be valid"); }
public void ExploreOptionWithFilePathUsingEqualSign() { ConsoleOptions options = new ConsoleOptions("tests.dll", "-explore=C:/nunit/tests/bin/Debug/console-test.xml"); Assert.True(options.Validate()); Assert.True(options.Explore); Assert.AreEqual(1, options.InputFiles.Count, "assembly should be set"); Assert.AreEqual("tests.dll", options.InputFiles[0]); Assert.AreEqual("C:/nunit/tests/bin/Debug/console-test.xml", options.ExploreOutputSpecifications[0].OutputPath); }
public void NoFixtureNameProvided() { ConsoleOptions options = new ConsoleOptions( "-fixture:", "nunit.tests.dll" ); Assert.IsFalse(options.Validate()); }
public void TimeoutCausesErrorIfValueIsNotInteger() { ConsoleOptions options = new ConsoleOptions("tests.dll", "-timeout:abc"); Assert.False(options.Validate()); Assert.AreEqual(-1, options.DefaultTimeout); }
public void CanRecognizeStringOptions(string propertyName, string pattern, string[] goodValues, string[] badValues) { string[] prototypes = pattern.Split('|'); PropertyInfo property = GetPropertyInfo(propertyName); Assert.AreEqual(typeof(string), property.PropertyType); foreach (string option in prototypes) { foreach (string value in goodValues) { string optionPlusValue = string.Format("--{0}:{1}", option, value); ConsoleOptions options = new ConsoleOptions(optionPlusValue); Assert.True(options.Validate(), "Should be valid: " + optionPlusValue); Assert.AreEqual(value, (string)property.GetValue(options, null), "Didn't recognize " + optionPlusValue); } foreach (string value in badValues) { string optionPlusValue = string.Format("--{0}:{1}", option, value); ConsoleOptions options = new ConsoleOptions(optionPlusValue); Assert.False(options.Validate(), "Should not be valid: " + optionPlusValue); } } }
public void InvalidOption() { ConsoleOptions options = new ConsoleOptions( "-asembly:nunit.tests.dll" ); Assert.IsFalse(options.Validate()); }
public void ResultOptionWithFilePathAndFormat() { ConsoleOptions options = new ConsoleOptions("tests.dll", "-result:results.xml;format=nunit2"); Assert.True(options.Validate()); Assert.AreEqual(1, options.InputFiles.Count, "assembly should be set"); Assert.AreEqual("tests.dll", options.InputFiles[0]); OutputSpecification spec = options.ResultOutputSpecifications[0]; Assert.AreEqual("results.xml", spec.OutputPath); Assert.AreEqual("nunit2", spec.Format); Assert.Null(spec.Transform); }
public void InvalidCommandLineParms() { ConsoleOptions options = new ConsoleOptions( "-garbage:TestFixture", "-assembly:Tests.dll" ); Assert.IsFalse(options.Validate()); }
public void FileNameWithoutResultOptionLooksLikeParameter() { ConsoleOptions options = new ConsoleOptions("tests.dll", "results.xml"); Assert.True(options.Validate()); Assert.AreEqual(0, options.ErrorMessages.Count); Assert.AreEqual(2, options.InputFiles.Count); }
public void XmlParameterWithoutFileNameIsInvalid() { ConsoleOptions options = new ConsoleOptions( "tests.dll", "-xml:" ); Assert.IsFalse(options.Validate()); }
public void ResultOptionWithoutFileNameIsInvalid() { ConsoleOptions options = new ConsoleOptions("tests.dll", "-result:"); Assert.False(options.Validate(), "Should not be valid"); Assert.AreEqual(1, options.ErrorMessages.Count, "An error was expected"); }