@@ -0,0 +1,1537 @@
+package org.reflection_no_reflection.generator.sample;%0A%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0Aimport org.reflection_no_reflection.Class;%0A%0Aimport static org.hamcrest.CoreMatchers.is;%0Aimport static org.hamcrest.core.IsSame.sameInstance;%0Aimport static org.junit.Assert.assertThat;%0A%0Apublic class ClassTest %7B%0A%0A    @Before%0A    public void setUp() throws Exception %7B%0A        Class.clearAllClasses();%0A    %7D%0A%0A    @Test%0A    public void classesShouldBeUniq() throws Exception %7B%0A        //GIVEN%0A        final Class stringClass = Class.forNameSafe(%22java.lang.String%22);%0A%0A        //WHEN%0A        final Class stringClass2 = Class.forNameSafe(%22java.lang.String%22);%0A%0A        //THEN%0A        assertThat(stringClass2, sameInstance(stringClass));%0A    %7D%0A%0A    @Test%0A    public void classPoolContainsClasses() throws Exception %7B%0A        //GIVEN%0A        final Class stringClass = Class.forNameSafe(%22java.lang.String%22);%0A%0A        //WHEN%0A%0A        //THEN%0A        assertThat(Class.getClassPool().size(), is(1));%0A    %7D%0A%0A    @Test%0A    public void classPoolCanBeCleared() throws Exception %7B%0A        //GIVEN%0A        final Class stringClass = Class.forNameSafe(%22java.lang.String%22);%0A%0A        //WHEN%0A        Class.clearAllClasses();%0A%0A        //THEN%0A        assertThat(Class.getClassPool().size(), is(0));%0A    %7D%0A%0A    @Test(expected = ClassNotFoundException.class)%0A    public void classForNameShouldFailIfClassDoesNotExist() throws Exception %7B%0A        //GIVEN%0A        //WHEN%0A        final Class stringClass = Class.forName(%22java.lang.String%22);%0A        //THEN%0A    %7D%0A%0A%0A%7D%0A

Add a few test cases for generated classes