[TestFixture]
public class UsingTaskCollectionTest {
- string binPath;
Engine engine;
Project project;
- [SetUp]
- public void SetUp ()
- {
- binPath = "../../tools/xbuild/xbuild";
- }
-
[Test]
public void TestAssemblyFile1 ()
{
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<UsingTask
AssemblyFile='Test/resources/TestTasks.dll'
- TaskName='SimpleTask'
+ TaskName='TrueTestTask'
/>
</Project>
";
- engine = new Engine (binPath);
+ engine = new Engine (Consts.BinPath);
project = engine.CreateNewProject ();
project.LoadXml (documentString);
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<UsingTask
AssemblyFile='Test/resources/TestTasks.dll'
- TaskName='SimpleTask'
+ TaskName='TrueTestTask'
+ />
+ <UsingTask
+ AssemblyFile='Test/resources/TestTasks.dll'
+ TaskName='FalseTestTask'
/>
</Project>
";
- engine = new Engine (binPath);
+ engine = new Engine (Consts.BinPath);
project = engine.CreateNewProject ();
project.LoadXml (documentString);
IEnumerator en = project.UsingTasks.GetEnumerator ();
en.MoveNext ();
+
+ Assert.AreEqual ("Test/resources/TestTasks.dll", ((UsingTask) en.Current).AssemblyFile, "A1");
+ Assert.AreEqual ("TrueTestTask", ((UsingTask) en.Current).TaskName, "A2");
+
+ en.MoveNext ();
+
+ Assert.AreEqual ("Test/resources/TestTasks.dll", ((UsingTask) en.Current).AssemblyFile, "A3");
+ Assert.AreEqual ("FalseTestTask", ((UsingTask) en.Current).TaskName, "A4");
+
+ Assert.IsFalse (en.MoveNext ());
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void TestCopyTo1 ()
+ {
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <UsingTask
+ AssemblyFile='Test/resources/TestTasks.dll'
+ TaskName='TrueTestTask'
+ />
+ </Project>
+ ";
+
+ engine = new Engine (Consts.BinPath);
+
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
+
+ project.UsingTasks.CopyTo (null, 0);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentOutOfRangeException))]
+ public void TestCopyTo2 ()
+ {
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <UsingTask
+ AssemblyFile='Test/resources/TestTasks.dll'
+ TaskName='TrueTestTask'
+ />
+ </Project>
+ ";
+
+ engine = new Engine (Consts.BinPath);
+
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
+
+ project.UsingTasks.CopyTo (new UsingTask [1], -1);
}
+ [Test]
+ [Category ("NotDotNet")]
+ [ExpectedException (typeof (InvalidCastException))]
+ public void TestCopyTo3 ()
+ {
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <UsingTask
+ AssemblyFile='Test/resources/TestTasks.dll'
+ TaskName='TrueTestTask'
+ />
+ </Project>
+ ";
+
+ engine = new Engine (Consts.BinPath);
+
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
+
+ project.UsingTasks.CopyTo (new UsingTask [][] { new UsingTask [] {
+ null}}, 0);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void TestCopyTo4 ()
+ {
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <UsingTask
+ AssemblyFile='Test/resources/TestTasks.dll'
+ TaskName='TrueTestTask'
+ />
+ </Project>
+ ";
+
+ engine = new Engine (Consts.BinPath);
+
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
+
+ project.UsingTasks.CopyTo (new UsingTask [1], 2);
+ }
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void TestCopyTo5 ()
+ {
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <UsingTask
+ AssemblyFile='Test/resources/TestTasks.dll'
+ TaskName='TrueTestTask'
+ />
+ </Project>
+ ";
+
+ engine = new Engine (Consts.BinPath);
+
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
+
+ project.UsingTasks.CopyTo (new UsingTask [1], 1);
+ }
+
+ [Test]
+ public void TestCopyTo6 ()
+ {
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <UsingTask
+ AssemblyFile='Test/resources/TestTasks.dll'
+ TaskName='TrueTestTask'
+ />
+ </Project>
+ ";
+
+ engine = new Engine (Consts.BinPath);
+
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
+
+ UsingTask[] array = new UsingTask [1];
+ project.UsingTasks.CopyTo (array, 0);
+
+ Assert.AreEqual ("TrueTestTask", array [0].TaskName, "A1");
+ }
+
+ [Test]
+ public void TestCopyTo7 ()
+ {
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <UsingTask
+ AssemblyFile='Test/resources/TestTasks.dll'
+ TaskName='TrueTestTask'
+ />
+ </Project>
+ ";
+
+ engine = new Engine (Consts.BinPath);
+
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
+
+ UsingTask [] array = new UsingTask [1];
+ project.UsingTasks.CopyTo ((Array) array, 0);
+ }
}
}
+