// // Erstellt: aweinert am 10.12.2007 // using System; using System.Xml; using MbUnit.Framework; using MbUnit.ReSharperRunner.Tasks; namespace MbUnit.ReSharper3.Tests { [TestFixture] public class MbUnitTestFixtureTaskTest { [Test] public void Initialize_from_Contructor() { MbUnitTestFixtureTask testTask = new MbUnitTestFixtureTask("Foo", "Bar", false); Assert.AreEqual("Foo", testTask.AssemblyLocation); Assert.AreEqual("Bar", testTask.TypeName); Assert.AreEqual(false, testTask.Explicitly); testTask = new MbUnitTestFixtureTask("Test", "for", true); Assert.AreEqual("Test", testTask.AssemblyLocation); Assert.AreEqual("for", testTask.TypeName); Assert.AreEqual(true, testTask.Explicitly); } [Test] [ExpectedException(typeof(ArgumentNullException))] public void Faill_if_Constructor_TypeName_is_null() { new MbUnitTestFixtureTask("Blah", null, false); } [Test] [ExpectedException(typeof(ArgumentNullException))] public void Faill_if_Constructor_AssemblyLocation_is_null() { new MbUnitTestFixtureTask(null, "Blah", false); } [Test] public void Is_a_Correct_RunName_created() { MbUnitTestFixtureTask testTask = new MbUnitTestFixtureTask("MbUnit.ReSharper3.Tests","MbUnit.ReSharper3.Tests.TestType", false); Assert.AreEqual("MbUnit.ReSharper3.Tests.TestType", testTask.RunName); } [Test] public void TestEqual() { Assert.AreEqual(new MbUnitTestFixtureTask("Are", "Equal", true), new MbUnitTestFixtureTask("Are", "Equal", true)); Assert.AreEqual(new MbUnitTestFixtureTask("Are", "Equal", true).GetHashCode(), new MbUnitTestFixtureTask("Are", "Equal", true).GetHashCode()); } [Test] public void IsNotEqual() { Assert.AreNotEqual(new MbUnitTestFixtureTask("Are", "Equal", true), new MbUnitTestFixtureTask("Area", "NotEqual", true)); Assert.AreNotEqual(new MbUnitTestFixtureTask("Are", "Equal", true), new MbUnitTestFixtureTask("Not", "Equal", true)); Assert.AreNotEqual(new MbUnitTestFixtureTask("Are", "Equal", true), new MbUnitTestFixtureTask("Area", "Equal", false)); Assert.AreNotEqual(new MbUnitTestFixtureTask("Are", "Equal", true).GetHashCode(), new MbUnitTestFixtureTask("Area", "Equal", false).GetHashCode()); } [Test] public void Initialize_from_Constructor_with_XmlElement() { XmlDocument xmlDoc = new XmlDocument(); XmlElement ele = xmlDoc.CreateElement("task"); ele.Attributes.Append(CreateAttribute(xmlDoc, "AssemblyLocation", "Foo")); ele.Attributes.Append(CreateAttribute(xmlDoc, "TypeName", "Bar")); ele.Attributes.Append(CreateAttribute(xmlDoc, "Explicitly", "false")); MbUnitTestFixtureTask testTask = new MbUnitTestFixtureTask(ele); Assert.AreEqual("Foo", testTask.AssemblyLocation); Assert.AreEqual("Bar", testTask.TypeName); Assert.AreEqual(false, testTask.Explicitly); ele = xmlDoc.CreateElement("task"); ele.Attributes.Append(CreateAttribute(xmlDoc, "AssemblyLocation", "Test")); ele.Attributes.Append(CreateAttribute(xmlDoc, "TypeName", "for")); ele.Attributes.Append(CreateAttribute(xmlDoc, "Explicitly", "true")); testTask = new MbUnitTestFixtureTask(ele); Assert.AreEqual("Test", testTask.AssemblyLocation); Assert.AreEqual("for", testTask.TypeName); Assert.AreEqual(true, testTask.Explicitly); } [Test] public void TestSaveXml() { MbUnitTestFixtureTask testTask = new MbUnitTestFixtureTask("Foo", "Bar", false); XmlDocument doc = new XmlDocument(); XmlElement ele = doc.CreateElement("task"); testTask.SaveXml(ele); Assert.AreEqual("Foo", ele.Attributes["AssemblyLocation"].Value); Assert.AreEqual("Bar", ele.Attributes["TypeName"].Value); Assert.AreEqual("false", ele.Attributes["Explicitly"].Value); testTask = new MbUnitTestFixtureTask("Test", "for", true); Assert.AreEqual("Test", testTask.AssemblyLocation); Assert.AreEqual("for", testTask.TypeName); Assert.AreEqual(true, testTask.Explicitly); ele = doc.CreateElement("task"); testTask.SaveXml(ele); Assert.AreEqual("Test", ele.Attributes["AssemblyLocation"].Value); Assert.AreEqual("for", ele.Attributes["TypeName"].Value); Assert.AreEqual("true", ele.Attributes["Explicitly"].Value); } [Test] public void TestMethodAction_Created() { MbUnitTestFixtureTask testTask = new MbUnitTestFixtureTask("MbUnit.ReSharper3.Tests", "MbUnit.ReSharper3.Tests.TestType", false); Assert.AreEqual("MbUnit.ReSharper3.Tests.TestType", testTask.MbUnitTestAction.TypeName); } private static XmlAttribute CreateAttribute(XmlDocument xmlDoc, string name, string value) { XmlAttribute attribute = xmlDoc.CreateAttribute(name); attribute.Value = value; return attribute; } } }