public void LoopDominators() { var info = new DominatorInfo(LoopGraph.Nodes["1"]); Assert.Equal(LoopGraph.Nodes["1"], info.GetImmediateDominator(LoopGraph.Nodes["1"])); Assert.Equal(LoopGraph.Nodes["1"], info.GetImmediateDominator(LoopGraph.Nodes["2"])); Assert.Equal(LoopGraph.Nodes["2"], info.GetImmediateDominator(LoopGraph.Nodes["3"])); Assert.Equal(LoopGraph.Nodes["2"], info.GetImmediateDominator(LoopGraph.Nodes["4"])); }
public void IfStatementDominators() { var cfg = IfStatementGraph; var info = new DominatorInfo(cfg.Nodes["1"]); Assert.Equal(cfg.Nodes["1"], info.GetImmediateDominator(cfg.Nodes["1"])); Assert.Equal(cfg.Nodes["1"], info.GetImmediateDominator(cfg.Nodes["2"])); Assert.Equal(cfg.Nodes["1"], info.GetImmediateDominator(cfg.Nodes["3"])); Assert.Equal(cfg.Nodes["1"], info.GetImmediateDominator(cfg.Nodes["4"])); }