IDEADEV-21222
[fedora-idea.git] / source / com / intellij / testFramework / fixtures / impl / BaseFixture.java
blob9cafe6c232d1987b53b847ad25d689639973263a
1 /*
2 * @author max
3 */
4 package com.intellij.testFramework.fixtures.impl;
6 import com.intellij.testFramework.fixtures.IdeaTestFixture;
8 import java.lang.reflect.Field;
9 import java.lang.reflect.Modifier;
11 public class BaseFixture implements IdeaTestFixture {
12 public void setUp() throws Exception {
15 public void tearDown() throws Exception {
16 resetAllFields();
19 private void resetAllFields() {
20 resetClassFields(getClass());
23 private void resetClassFields(final Class<?> aClass) {
24 if (aClass == null) return;
26 final Field[] fields = aClass.getDeclaredFields();
27 for (Field field : fields) {
28 final int modifiers = field.getModifiers();
29 if ((modifiers & Modifier.FINAL) == 0
30 && (modifiers & Modifier.STATIC) == 0
31 && !field.getType().isPrimitive()) {
32 field.setAccessible(true);
33 try {
34 field.set(this, null);
36 catch (IllegalAccessException e) {
37 e.printStackTrace();
42 if (aClass == BaseFixture.class) return;
43 resetClassFields(aClass.getSuperclass());