package org.granchi.hollywood;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.junit.MockitoJUnitRunner;

import static com.google.common.truth.Truth.assertThat;

@RunWith(MockitoJUnitRunner.class)
public class ModelTest {
    @Test
    public void testGetSubmodelsOfSameType() throws Exception {
        ParentModel model = new ParentModel();

        assertThat(model.getSubmodelsOfType(ParentModel.class)).containsExactly(model);
    }

    @Test
    public void testGetSubmodelsOfParentType() throws Exception {
        ChildModel model = new ChildModel();

        assertThat(model.getSubmodelsOfType(ParentModel.class)).containsExactly(model);
    }

    @Test
    public void testGetSubmodelsOfChildType() throws Exception {
        ParentModel model = new ParentModel();

        assertThat(model.getSubmodelsOfType(ChildModel.class)).isEmpty();
    }

    @Test
    public void testGetSubmodelsOfUnrelatedType() throws Exception {
        ParentModel model = new ParentModel();

        assertThat(model.getSubmodelsOfType(OtherParentModel.class)).isEmpty();
    }

    private class ParentModel extends Model {
        @Override
        protected Model actUpon(Action action) {
            return null;
        }
    }

    private class ChildModel extends ParentModel {
        @Override
        protected Model actUpon(Action action) {
            return null;
        }
    }

    public class OtherParentModel extends Model {
        @Override
        protected Model actUpon(Action action) {
            return null;
        }
    }
}
@@ -1104,24 +1104,31 @@
     private 
+static 
 class Parent
@@ -1141,32 +1141,32 @@
 extends Model %7B%0A
-
         @Overrid
@@ -1270,16 +1270,23 @@
 private 
+static 
 class Ch
@@ -1421,24 +1421,24 @@
    %7D%0A    %7D%0A%0A
-
     public c
@@ -1432,24 +1432,31 @@
 %0A    public 
+static 
 class OtherP

Make test inner classes static