Is there a (preferred free) tool that can analyze how many different combinations are possible in a method? I am currently refactoring a method that has many many if / switch statments, and I'm curious how many possible different ways this method can execute.
Let's say I have a simple method:
public void DoSomething(bool flag1, int value) { if (flag1) { if (value > 0) { Console.WriteLine("Flag1 & value > 0"); return; } else { Console.WriteLine("Flag1 & value <= 0"); return; } } elseif (value > 0 and value < 10) { Console.WriteLine("Flag1 is false and value between 0 & 10"); return; } if (value < 0) { Console.WriteLine("Flag1 = false & value <= 0"); return; } elseif(value = 0) { Console.WriteLine("Flag1 = false & value >= 10"); return; } Console.WriteLine("nothing else matched"); }
There should be 6 possible ways to execute this method. I know that there are tools that can calculate this number for me (I believe that Visual Studio Ultimate can do this, but, unfortunately, I only have a Professional version).
Maybe someone knows a good tool that can do this.
JΓΌrgen steinblock
source share