2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
authorMarek Sieradzki <msierad@mono-cvs.ximian.com>
Sat, 18 Mar 2006 12:01:44 +0000 (12:01 -0000)
committerMarek Sieradzki <msierad@mono-cvs.ximian.com>
Sat, 18 Mar 2006 12:01:44 +0000 (12:01 -0000)
* Project.cs: Added new tests.

svn path=/trunk/mcs/; revision=58134

mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ChangeLog
mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs

index 57f13cadf7952f0c5c320dd0853008bf1da5649a..73552ccf5429957a1bdee79a56a18f71c2003b0c 100644 (file)
@@ -1,3 +1,7 @@
+2006-03-18  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * Project.cs: Added new tests.
+
 2006-02-27  Marek Sieradzki  <marek.sieradzki@gmail.com>
 
        * Engine.cs, Project.cs: Removed references to IEngine and IProject.
index 328cf5c37f3233c08ff9df7892c2427fb60ffc0b..1fb43474e6eb3ad2353d2543f2ec43e3ecea3b55 100644 (file)
@@ -33,23 +33,69 @@ using NUnit.Framework;
 namespace MonoTests.Microsoft.Build.BuildEngine {
        [TestFixture]
        public class ProjectTest {
+               // Clones a project by reloading from original.Xml
+               private Project CloneProjectTest (Project original)
+               {
+                       Project clone;
+                       
+                       clone = original.ParentEngine.CreateNewProject ();
+                       clone.LoadXml (original.Xml);
+
+                       return clone;
+               }
+
                [Test]
                public void AssignmentTest ()
                {
                        Engine engine;
                        Project project;
                        string binPath = "binPath";
-                       XmlDocument xd;
                        string documentString =
-                       "<Project></Project>";
+                               "<Project></Project>";
                        
                        engine = new Engine (binPath);
                        project = engine.CreateNewProject ();
-                       xd = new XmlDocument ();
-                       xd.LoadXml (documentString);
-                       project.LoadFromXml (xd);
+                       project.LoadXml (documentString);
                        
-                       Assert.AreEqual (String.Empty, project.FullFileName, "FullFileName");
+                       Assert.AreEqual (String.Empty, project.FullFileName, "A1");
+               }
+
+               [Test]
+               public void DefaultTargetsTest ()
+               {
+                       Engine engine;
+                       Project proj;
+                       Project cproj;
+                       string documentString =
+                               "<Project DefaultTargets=\"Build;Compile\"></Project>";
+                       
+                       engine = new Engine ();
+                       proj = engine.CreateNewProject ();
+                       proj.LoadXml (documentString);
+                       
+                       Assert.AreEqual ("Build;Compile", proj.DefaultTargets, "A1");
+                       proj.DefaultTargets = "Build";
+                       Assert.AreEqual ("Build", proj.DefaultTargets, "A2");
+                       cproj = CloneProject (proj);
+                       Assert.AreEqual (proj.DefaultTargets, cproj.DefaultTargets, "A3");
+               }
+
+               [Test]
+               public void ListPropertiesTest ()
+               {
+                       Engine engine = new Engine ();
+                       Project proj = engine.CreateNewProject ();
+
+                       string documentString = @"
+                               <Project>
+                                       <PropertyGroup>
+                                               <Prop1>value1</Prop1>
+                                       </PropertyGroup>
+                               </Project>
+                       ";
+
+                       proj.LoadXml (documentString);
+                       Assert.AreEqual (proj.PropertyGroups.Count, 1, "A1");
                }
        }
 }