package com.dragome.tests;
import org.junit.Test;
import org.junit.runner.RunWith;
import junit.framework.TestCase;
@RunWith(DragomeTestRunner.class)
public class StaticMembersTests extends TestCase
{
public static class ParentClass
{
protected static String parentClassStaticField1= "sf1a";
protected static String parentClassStaticField2= "sf2a";
protected static String parentClassStaticField3= "sf3a";
protected static String staticMethodA()
{
return "staticMethodA1";
}
}
public static class ChildClass extends ParentClass
{
protected static String parentClassStaticField1= "sf1b";
protected static String parentClassStaticField2= "sf2b";
}
public static class GrandChildClass extends ChildClass
{
protected static String parentClassStaticField1= "sf1c";
}
@Test
public void testStaticFieldInThirdLevel()
{
assertEquals("sf1c", GrandChildClass.parentClassStaticField1);
}
@Test public void testStaticFieldInSecondLevel()
{
assertEquals("sf2b", GrandChildClass.parentClassStaticField2);
}
@Test
public void testStaticFieldInFirstLevel()
{
assertEquals("sf3a", GrandChildClass.parentClassStaticField3);
}
@Test
public void testStaticMethodInFirstLevel()
{
assertEquals("staticMethodA1", GrandChildClass.staticMethodA());
}
}