Add test for %TYPE change name to 'TypeResolutionTestSuite' from 'UnresolvedTypesTestSuite'
diff --git a/java/src/org/eclipse/persistence/tools/oracleddl/test/databasetypebuilder/DatabaseTypeBuilderTestSuite.java b/java/src/org/eclipse/persistence/tools/oracleddl/test/databasetypebuilder/DatabaseTypeBuilderTestSuite.java
index af6d7b8..8743d66 100644
--- a/java/src/org/eclipse/persistence/tools/oracleddl/test/databasetypebuilder/DatabaseTypeBuilderTestSuite.java
+++ b/java/src/org/eclipse/persistence/tools/oracleddl/test/databasetypebuilder/DatabaseTypeBuilderTestSuite.java
@@ -34,7 +34,7 @@
     ProcedureDDLTestSuite.class,
     TableDDLTestSuite.class,
     TransformsTestSuite.class,
-    UnresolvedTypesTestSuite.class
+    TypeResolutionTestSuite.class
   }
 )
 public class DatabaseTypeBuilderTestSuite {
diff --git a/java/src/org/eclipse/persistence/tools/oracleddl/test/databasetypebuilder/UnresolvedTypesTestSuite.java b/java/src/org/eclipse/persistence/tools/oracleddl/test/databasetypebuilder/TypeResolutionTestSuite.java
similarity index 80%
rename from java/src/org/eclipse/persistence/tools/oracleddl/test/databasetypebuilder/UnresolvedTypesTestSuite.java
rename to java/src/org/eclipse/persistence/tools/oracleddl/test/databasetypebuilder/TypeResolutionTestSuite.java
index e6a5f03..72cfce7 100644
--- a/java/src/org/eclipse/persistence/tools/oracleddl/test/databasetypebuilder/UnresolvedTypesTestSuite.java
+++ b/java/src/org/eclipse/persistence/tools/oracleddl/test/databasetypebuilder/TypeResolutionTestSuite.java
@@ -30,7 +30,9 @@
 import org.eclipse.persistence.tools.oracleddl.metadata.DatabaseType;
 import org.eclipse.persistence.tools.oracleddl.metadata.FunctionType;
 import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLPackageType;
+import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLRecordType;
 import org.eclipse.persistence.tools.oracleddl.metadata.ProcedureType;
+import org.eclipse.persistence.tools.oracleddl.metadata.visit.UnresolvedTypesVisitor;
 import org.eclipse.persistence.tools.oracleddl.parser.ParseException;
 import org.eclipse.persistence.tools.oracleddl.test.AllTests;
 import org.eclipse.persistence.tools.oracleddl.util.DatabaseTypeBuilder;
@@ -41,7 +43,7 @@
 import static org.eclipse.persistence.tools.oracleddl.test.TestHelper.buildConnection;
 import static org.eclipse.persistence.tools.oracleddl.test.TestHelper.createDbArtifact;
 
-public class UnresolvedTypesTestSuite {
+public class TypeResolutionTestSuite {
 
     static final String CREATE_TESTMAN_TYPE1 =
         "CREATE OR REPLACE TYPE TESMAN_TYPE1 AS OBJECT (" +
@@ -78,9 +80,21 @@
     static final String TESMANPACK_PACKAGE = "TESMANPACK";
     static final String CREATE_TESTMAN_PACKAGE =
         "CREATE OR REPLACE PACKAGE " + TESMANPACK_PACKAGE + " AS" +
+            "\n\tTYPE EMPREC IS RECORD ( " +
+                "\n\tEMPNO EMP.EMPNO%TYPE," +
+                "\n\tENAME EMP.ENAME%TYPE," +
+                "\n\tJOB EMP.JOB%TYPE," +
+                "\n\tMGR EMP.MGR%TYPE," +
+                "\n\tHIREDATE EMP.HIREDATE%TYPE," +
+                "\n\tSAL EMP.SAL%TYPE," +
+                "\n\tCOMM EMP.COMM%TYPE," +
+                "\n\tDEPTNO EMP.DEPTNO%TYPE" +
+            "\n\t);" +
             "\n\tFUNCTION TESMANFUNC17(PARAM1 IN INTEGER) RETURN TESMAN_TABLE2%ROWTYPE;" +
             "\n\tPROCEDURE TESMANPROC17(PARAM1 IN INTEGER, REC OUT TESMAN_TABLE2%ROWTYPE);" +
             "\n\tPROCEDURE TESMANPROC17b(OLDREC IN TESMAN_TABLE3%ROWTYPE, NEWREC OUT TESMAN_TABLE3%ROWTYPE);" +
+            "\n\tPROCEDURE EMP_TEST(E1 IN EMPREC, NAME IN VARCHAR2);" +
+            "\n\tPROCEDURE EMP_TEST2(NAME IN EMP.ENAME%TYPE);" +
         "END " + TESMANPACK_PACKAGE + ";";
     static final String CREATE_TESTMAN_PACKAGE_BODY =
         "CREATE OR REPLACE PACKAGE BODY " + TESMANPACK_PACKAGE + " AS" +
@@ -103,6 +117,14 @@
             "\n\tBEGIN" +
                 "\n\tNEWREC := OLDREC;" +
             "\n\tEND;" +
+            "\n\tPROCEDURE EMP_TEST(E1 IN EMPREC, NAME IN VARCHAR2) AS" +
+            "\n\tBEGIN" +
+                "\n\tnull;" +
+            "\n\tEND EMP_TEST;" +
+            "\n\tPROCEDURE EMP_TEST2(NAME IN EMP.ENAME%TYPE) AS" +
+            "\n\tBEGIN" +
+                "\n\tnull;" +
+            "\n\tEND EMP_TEST2;" +
         "END " + TESMANPACK_PACKAGE + ";";
 
     //JUnit fixture(s)
@@ -187,6 +209,10 @@
     @Test
     public void testUnresolvedTypeResolution() throws ParseException {
         assertEquals("incorrect procedure name", TESMANPACK_PACKAGE , tesmanPackage.getPackageName());
+        UnresolvedTypesVisitor visitor = new UnresolvedTypesVisitor();
+        visitor.visit(tesmanPackage);
+        assertEquals(TESMANPACK_PACKAGE + " should not have any unresolved types",
+            0, visitor.getUnresolvedTypes().size());
 
         FunctionType func1 = (FunctionType)tesmanPackage.getProcedures().get(0);
         DatabaseType tesmanfunc17ReturnType = func1.getReturnArgument().getDataType();
@@ -199,5 +225,15 @@
         DatabaseType oldrecDatabaseType = proc3Args.get(0).getDataType();
         DatabaseType newrecDatabaseType = proc3Args.get(1).getDataType();
         assertSame(oldrecDatabaseType, newrecDatabaseType);
+
+        PLSQLRecordType empRecType = (PLSQLRecordType)tesmanPackage.getTypes().get(0);
+        PLSQLRecordType empRecType2 = (PLSQLRecordType)tesmanPackage.getProcedures().get(3).
+            getArguments().get(0).getDataType();
+        assertSame(empRecType, empRecType2);
+
+        DatabaseType empDotEnamePcentTYPE1 = empRecType.getFields().get(1).getDataType();
+        ArgumentType nameArg = tesmanPackage.getProcedures().get(4).getArguments().get(0);
+        DatabaseType empDotEnamePcentTYPE2 = nameArg.getDataType();
+        assertSame(empDotEnamePcentTYPE1, empDotEnamePcentTYPE2);
     }
 }
\ No newline at end of file