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
{
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);
34 field
.set(this, null);
36 catch (IllegalAccessException e
) {
42 if (aClass
== BaseFixture
.class) return;
43 resetClassFields(aClass
.getSuperclass());