public void ImportOutputProperties() { BuildPropertyGroup pg = new BuildPropertyGroup(); pg.SetProperty("foo", "fooval"); pg.SetProperty(new BuildProperty("bar", "barval", PropertyType.EnvironmentProperty)); pg.SetProperty(new BuildProperty("baz", "bazval", PropertyType.GlobalProperty)); pg.SetProperty(new BuildProperty("caz", "cazval", PropertyType.ImportedProperty)); pg.SetProperty(new BuildProperty("barb", "barbval", PropertyType.OutputProperty)); BuildPropertyGroup pgo = new BuildPropertyGroup(); pgo.SetProperty(new BuildProperty("foo", "fooout", PropertyType.OutputProperty)); pgo.SetProperty(new BuildProperty("bar", "barout", PropertyType.OutputProperty)); pgo.SetProperty(new BuildProperty("baz", "bazout", PropertyType.OutputProperty)); pgo.SetProperty(new BuildProperty("caz", "cazout", PropertyType.OutputProperty)); pgo.SetProperty(new BuildProperty("barb", "barbout", PropertyType.OutputProperty)); pgo.SetProperty(new BuildProperty("gaz", "gazout", PropertyType.OutputProperty)); pg.ImportProperties(pgo); Assertion.AssertEquals(6, pg.Count); Assertion.AssertEquals("fooout", pg["foo"].FinalValueEscaped); Assertion.AssertEquals("barout", pg["bar"].FinalValueEscaped); Assertion.AssertEquals("bazout", pg["baz"].FinalValueEscaped); Assertion.AssertEquals("cazout", pg["caz"].FinalValueEscaped); Assertion.AssertEquals("barbout", pg["barb"].FinalValueEscaped); Assertion.AssertEquals("gazout", pg["gaz"].FinalValueEscaped); pg.SetProperty(new BuildProperty("foo", "fooout2", PropertyType.OutputProperty)); pg.SetProperty(new BuildProperty("gaz", "gazout2", PropertyType.OutputProperty)); Assertion.AssertEquals("fooout2", pg["foo"].FinalValueEscaped); Assertion.AssertEquals("gazout2", pg["gaz"].FinalValueEscaped); pg.RemoveProperty("baz"); pg.RevertAllOutputProperties(); Assertion.AssertEquals(3, pg.Count); Assertion.AssertEquals("fooval", pg["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pg["bar"].FinalValueEscaped); Assertion.AssertNull(pg["baz"]); Assertion.AssertEquals("cazval", pg["caz"].FinalValueEscaped); Assertion.AssertNull(pg["barb"]); }
public void ClonePropertyGroup() { BuildPropertyGroup pg = new BuildPropertyGroup(); pg.SetProperty("foo", "fooval"); pg.SetProperty(new BuildProperty("bar", "barval", PropertyType.EnvironmentProperty)); pg.SetProperty(new BuildProperty("baz", "bazval", PropertyType.GlobalProperty)); pg.SetProperty(new BuildProperty("caz", "cazval", PropertyType.ImportedProperty)); pg.SetProperty(new BuildProperty("barb", "barbval", PropertyType.OutputProperty)); pg.SetProperty(new BuildProperty("foo", "fooout", PropertyType.OutputProperty)); pg.SetProperty(new BuildProperty("barb", "barbout", PropertyType.OutputProperty)); pg.SetProperty(new BuildProperty("gaz", "gazout", PropertyType.OutputProperty)); pg.SetProperty(new BuildProperty("foo", "fooout2", PropertyType.OutputProperty)); BuildPropertyGroup pgsc = pg.Clone(false /* shallow clone */); BuildPropertyGroup pgdc = pg.Clone(true /* deep clone */); Assertion.AssertEquals(6, pg.Count); Assertion.AssertEquals("fooout2", pg["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pg["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pg["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pg["caz"].FinalValueEscaped); Assertion.AssertEquals("barbout", pg["barb"].FinalValueEscaped); Assertion.AssertEquals("gazout", pg["gaz"].FinalValueEscaped); Assertion.AssertEquals(6, pgsc.Count); Assertion.AssertEquals("fooout2", pgsc["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pgsc["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pgsc["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pgsc["caz"].FinalValueEscaped); Assertion.AssertEquals("barbout", pgsc["barb"].FinalValueEscaped); Assertion.AssertEquals("gazout", pgsc["gaz"].FinalValueEscaped); Assertion.AssertEquals(6, pgdc.Count); Assertion.AssertEquals("fooout2", pgdc["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pgdc["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pgdc["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pgdc["caz"].FinalValueEscaped); Assertion.AssertEquals("barbout", pgdc["barb"].FinalValueEscaped); Assertion.AssertEquals("gazout", pgdc["gaz"].FinalValueEscaped); pg.RevertAllOutputProperties(); Assertion.AssertEquals(4, pg.Count); Assertion.AssertEquals("fooval", pg["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pg["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pg["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pg["caz"].FinalValueEscaped); Assertion.AssertNull(pg["barb"]); Assertion.AssertNull(pg["gaz"]); Assertion.AssertEquals(6, pgsc.Count); Assertion.AssertEquals("fooout2", pgsc["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pgsc["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pgsc["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pgsc["caz"].FinalValueEscaped); Assertion.AssertEquals("barbout", pgsc["barb"].FinalValueEscaped); Assertion.AssertEquals("gazout", pgsc["gaz"].FinalValueEscaped); Assertion.AssertEquals(6, pgdc.Count); Assertion.AssertEquals("fooout2", pgdc["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pgdc["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pgdc["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pgdc["caz"].FinalValueEscaped); Assertion.AssertEquals("barbout", pgdc["barb"].FinalValueEscaped); Assertion.AssertEquals("gazout", pgdc["gaz"].FinalValueEscaped); pgsc.RevertAllOutputProperties(); Assertion.AssertEquals(4, pg.Count); Assertion.AssertEquals("fooval", pg["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pg["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pg["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pg["caz"].FinalValueEscaped); Assertion.AssertNull(pg["barb"]); Assertion.AssertNull(pg["gaz"]); Assertion.AssertEquals(4, pgsc.Count); Assertion.AssertEquals("fooval", pgsc["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pgsc["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pgsc["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pgsc["caz"].FinalValueEscaped); Assertion.AssertNull(pgsc["barb"]); Assertion.AssertNull(pgsc["gaz"]); Assertion.AssertEquals(6, pgdc.Count); Assertion.AssertEquals("fooout2", pgdc["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pgdc["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pgdc["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pgdc["caz"].FinalValueEscaped); Assertion.AssertEquals("barbout", pgdc["barb"].FinalValueEscaped); Assertion.AssertEquals("gazout", pgdc["gaz"].FinalValueEscaped); pgdc.RevertAllOutputProperties(); Assertion.AssertEquals(4, pg.Count); Assertion.AssertEquals("fooval", pg["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pg["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pg["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pg["caz"].FinalValueEscaped); Assertion.AssertNull(pg["barb"]); Assertion.AssertNull(pg["gaz"]); Assertion.AssertEquals(4, pgsc.Count); Assertion.AssertEquals("fooval", pgsc["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pgsc["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pgsc["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pgsc["caz"].FinalValueEscaped); Assertion.AssertNull(pgsc["barb"]); Assertion.AssertNull(pgsc["gaz"]); Assertion.AssertEquals(4, pgdc.Count); Assertion.AssertEquals("fooval", pgdc["foo"].FinalValueEscaped); Assertion.AssertEquals("barval", pgdc["bar"].FinalValueEscaped); Assertion.AssertEquals("bazval", pgdc["baz"].FinalValueEscaped); Assertion.AssertEquals("cazval", pgdc["caz"].FinalValueEscaped); Assertion.AssertNull(pgdc["barb"]); Assertion.AssertNull(pgdc["gaz"]); }