public void Deregionize() { var code = @"public class MyClass { #region Constructors public MyClass() : base() { } public string Data { get; set; } } #endregion"; var tree = SyntaxFactory.ParseSyntaxTree(code).GetRoot(); var treeRegionCounts = new RegionWalker(); treeRegionCounts.Visit(tree); Assert.AreEqual(1, treeRegionCounts.RegionCount); Assert.AreEqual(1, treeRegionCounts.EndRegionCount); var newTree = tree.Deregionize(); Assert.AreNotSame(newTree, tree); var newTreeRegionCounts = new RegionWalker(); newTreeRegionCounts.Visit(newTree); Assert.AreEqual(0, newTreeRegionCounts.RegionCount); Assert.AreEqual(0, newTreeRegionCounts.EndRegionCount); }
public void DeregionizeRange() { var code = File.ReadAllText("Range.cs"); var tree = SyntaxFactory.ParseSyntaxTree(code).GetRoot(); var treeRegionCounts = new RegionWalker(); treeRegionCounts.Visit(tree); Assert.AreEqual(4, treeRegionCounts.RegionCount); Assert.AreEqual(4, treeRegionCounts.EndRegionCount); var newTree = tree.Deregionize(); Assert.AreNotSame(newTree, tree); var newTreeRegionCounts = new RegionWalker(); newTreeRegionCounts.Visit(newTree); File.WriteAllText("RangeNoRegions.cs", newTree.ToString()); Assert.AreEqual(0, newTreeRegionCounts.RegionCount); Assert.AreEqual(0, newTreeRegionCounts.EndRegionCount); }