 		classLevelCopyableCloneable.writableField = "value 4";
 		classLevelCopyableCloneableType = Type.forInstance(classLevelCopyableCloneable);
 
+		classLevelCloneableSubclass = new ClassLevelCloneableSubclass();
+		classLevelCloneableSubclass.property1 = "value 1";
+		classLevelCloneableSubclass.property2 = "value 2";
+		classLevelCloneableSubclass.property3 = "value 3";
+		classLevelCloneableSubclass.property4 = "value 4";
+		classLevelCloneableSubclass.property5 = "value 5";
+		classLevelCloneableSubclass.writableField = "value 6";
+		classLevelCloneableSubclass.writableField2 = "value 7";
+		classLevelCloneableSubclassType = Type.forInstance(classLevelCloneableSubclass);
+
 		propertyLevelCloneable = new PropertyLevelCloneable();
 		propertyLevelCloneable.property1 = "value 1";
 		propertyLevelCloneable.property2 = "value 2";

	}

	[Test]
	public function testGetCloneableFieldsForTypeClassLevelCopyableCloneable():void {
		const cloneableFields:Vector.<Field> = Cloner.getCloneableFieldsForType(classLevelCopyableCloneableType);
		assertNotNull(cloneableFields);

package dolly {
import dolly.core.dolly_internal;
import dolly.data.ClassLevelCloneable;
import dolly.data.ClassLevelCloneableSubclass;
import dolly.data.ClassLevelCopyableCloneable;
import dolly.data.PropertyLevelCloneable;
import dolly.data.PropertyLevelCopyableCloneable;
