MonoDevelop.Projects.SharedAssetsProjectTests.PropagateFileChanges C# (CSharp) Method

PropagateFileChanges() private method

private PropagateFileChanges ( ) : void
return void
		public void PropagateFileChanges ()
		{
			string solFile = Util.GetSampleProject ("SharedProjectTest", "SharedProjectTest.sln");
			Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile);
			var pc1 = sol.FindProjectByName ("Console1");
			var pc2 = sol.FindProjectByName ("Console2");
			var pc3 = sol.FindProjectByName ("Console3");
			var ps = sol.FindProjectByName ("Shared");

			var sharedFile = ps.ItemDirectory.Combine ("MyFutureClass.cs");
			ps.Files.Add (new ProjectFile (sharedFile));
			var pc1f = pc1.Files.GetFile (sharedFile);
			var pc2f = pc2.Files.GetFile (sharedFile);
			var pc3f = pc3.Files.GetFile (sharedFile);
			var psf = ps.Files.GetFile (sharedFile);

			Assert.AreEqual ("Compile", pc1f.BuildAction);
			Assert.AreEqual ("Compile", pc2f.BuildAction);
			Assert.AreEqual ("Compile", psf.BuildAction);

			Assert.IsTrue (pc1f != null);
			Assert.IsTrue (pc2f != null);
			Assert.IsTrue (pc3f == null);
			Assert.IsTrue (psf != null);

			psf.BuildAction = "TestAction";
			pc1f = pc1.Files.GetFile (sharedFile);
			pc2f = pc2.Files.GetFile (sharedFile);
			Assert.AreEqual ("TestAction", pc1f.BuildAction);
			Assert.AreEqual ("TestAction", pc2f.BuildAction);

			psf.CopyToOutputDirectory = FileCopyMode.PreserveNewest;
			pc1f = pc1.Files.GetFile (sharedFile);
			pc2f = pc2.Files.GetFile (sharedFile);
			Assert.AreEqual (FileCopyMode.PreserveNewest, pc1f.CopyToOutputDirectory);
			Assert.AreEqual (FileCopyMode.PreserveNewest, pc2f.CopyToOutputDirectory);

			ps.Files.Remove (psf);
			pc1f = pc1.Files.GetFile (sharedFile);
			pc2f = pc2.Files.GetFile (sharedFile);
			Assert.IsTrue (pc1f == null);
			Assert.IsTrue (pc2f == null);
		}