package org.intracetest.agent;
public class BranchPatterns implements Runnable
{
public Throwable th = null;
@Override
public void run()
{
try
{
dowhile();
forloop();
whileloop();
switchblock(1);
switchblock(2);
ternary(true);
ternary(false);
trycatchfinally();
singlelineif(true);
ifthenelse(true);
ifthenelse(false);
ifthenelseifelse(true, false);
ifthenelseifelse(false, true);
ifthenelseifelse(false, false);
}
catch (Throwable thr)
{
th = thr;
}
}
private void dowhile()
{
int loopCount = 0;
do
{
setProperty();
loopCount++;
}
while (loopCount < 2);
}
private void whileloop()
{
int loopCount = 0;
while (loopCount < 2)
{
setProperty();
loopCount++;
}
}
private void forloop()
{
for (int ii = 0; ii < 2; ii++)
{
setProperty();
}
}
private void switchblock(int arg)
{
switch (arg)
{
case 1:
{
setProperty("1");
break;
}
case 2:
{
setProperty("2");
break;
}
}
}
private void ternary(boolean arg)
{
String value = (arg ? "a" : "b");
setProperty(value);
}
private void trycatchfinally()
{
try
{
setProperty();
throw new Exception("test");
}
catch (Exception ex)
{
setProperty();
}
finally
{
setProperty();
}
}
private void singlelineif(boolean arg)
{
if (arg)
setProperty();
}
private void ifthenelse(boolean arg)
{
if (arg)
{
setProperty();
}
else
{
setProperty();
}
}
private void ifthenelseifelse(boolean arg1, boolean arg2)
{
if (arg1)
{
setProperty();
}
else if (arg2)
{
setProperty();
}
else
{
setProperty();
}
}
private void setProperty()
{
setProperty(Long.toString(System.currentTimeMillis()));
}
private void setProperty(String value)
{
System.setProperty("test-key", value);
}
}