public void ReplaceToolset() { ProjectCollection collection = new ProjectCollection(); collection.RemoveAllToolsets(); Toolset toolset1 = new Toolset("x", "c:\\y", collection, null); Toolset toolset2 = new Toolset("x", "c:\\z", collection, null); collection.AddToolset(toolset1); collection.AddToolset(toolset2); Assert.Equal(toolset2, collection.GetToolset("x")); List<Toolset> toolsets = Helpers.MakeList(collection.Toolsets); Assert.Equal(1, toolsets.Count); Assert.Equal(toolset2, toolsets[0]); }
public void AddToolset() { ProjectCollection collection = new ProjectCollection(); collection.RemoveAllToolsets(); Toolset toolset = new Toolset("x", "c:\\y", collection, null); collection.AddToolset(toolset); Assert.Equal(toolset, collection.GetToolset("x")); Assert.Equal(true, collection.ContainsToolset("x")); List<Toolset> toolsets = Helpers.MakeList(collection.Toolsets); Assert.Equal(1, toolsets.Count); Assert.Equal(toolset, toolsets[0]); }
public void AddTwoToolsets() { ProjectCollection collection = new ProjectCollection(); collection.RemoveAllToolsets(); Toolset toolset1 = new Toolset("x", "c:\\y", collection, null); Toolset toolset2 = new Toolset("y", "c:\\z", collection, null); collection.AddToolset(toolset1); collection.AddToolset(toolset2); Assert.Equal(toolset1, collection.GetToolset("x")); Assert.Equal(toolset2, collection.GetToolset("y")); List<Toolset> toolsets = Helpers.MakeList(collection.Toolsets); Assert.Equal(2, toolsets.Count); Assert.Equal(true, toolsets.Contains(toolset1)); Assert.Equal(true, toolsets.Contains(toolset2)); }
public void ProjectCollectionChangedEvent() { ProjectCollection collection = new ProjectCollection(); bool dirtyRaised = false; ProjectCollectionChangedState expectedChange = ProjectCollectionChangedState.Loggers; collection.ProjectCollectionChanged += (sender, e) => { Assert.Same(collection, sender); Assert.Equal(expectedChange, e.Changed); dirtyRaised = true; }; Assert.False(dirtyRaised); expectedChange = ProjectCollectionChangedState.DisableMarkDirty; dirtyRaised = false; collection.DisableMarkDirty = true; // LEAVE THIS TRUE for rest of the test, to verify it doesn't suppress these events Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.IsBuildEnabled; dirtyRaised = false; collection.IsBuildEnabled = !collection.IsBuildEnabled; Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.OnlyLogCriticalEvents; dirtyRaised = false; collection.OnlyLogCriticalEvents = !collection.OnlyLogCriticalEvents; Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.SkipEvaluation; dirtyRaised = false; collection.SkipEvaluation = !collection.SkipEvaluation; Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.GlobalProperties; dirtyRaised = false; collection.SetGlobalProperty("a", "b"); Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.GlobalProperties; dirtyRaised = false; collection.RemoveGlobalProperty("a"); Assert.True(dirtyRaised); // Verify HostServices changes raise the event. expectedChange = ProjectCollectionChangedState.HostServices; dirtyRaised = false; collection.HostServices = new Execution.HostServices(); Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.Loggers; dirtyRaised = false; collection.RegisterLogger(new MockLogger()); Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.Loggers; dirtyRaised = false; collection.RegisterLoggers(new Microsoft.Build.Framework.ILogger[] { new MockLogger(), new MockLogger() }); Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.Loggers; dirtyRaised = false; collection.UnregisterAllLoggers(); Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.Toolsets; dirtyRaised = false; collection.AddToolset(new Toolset("testTools", Path.GetTempPath(), collection, Path.GetTempPath())); Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.DefaultToolsVersion; dirtyRaised = false; collection.DefaultToolsVersion = "testTools"; Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.Toolsets; dirtyRaised = false; collection.RemoveToolset("testTools"); Assert.True(dirtyRaised); expectedChange = ProjectCollectionChangedState.Toolsets; dirtyRaised = false; collection.RemoveAllToolsets(); Assert.True(dirtyRaised); }