diff --git a/components/dotnet-repository/src/test/java/npanday/repository/impl/RepositoryConverterImplTest.java b/components/dotnet-repository/src/test/java/npanday/repository/impl/RepositoryConverterImplTest.java
index c09d9d2..aaae5cb 100644
--- a/components/dotnet-repository/src/test/java/npanday/repository/impl/RepositoryConverterImplTest.java
+++ b/components/dotnet-repository/src/test/java/npanday/repository/impl/RepositoryConverterImplTest.java
@@ -31,63 +31,6 @@
     private static File basedir = new File( System.getProperty( "basedir" ) );
 
     
-    /*public void testConvertArtifact()
-    {
-        File testRepo = new File( System.getProperty( "basedir" ), "target/test-repo/repository-1" );
-        testRepo.mkdir();
-
-        Repository repository = this.createRepository();
-        ProjectDao dao = this.createProjectDao( repository );
-
-        Project project = new Project();
-        project.setGroupId( "npanday.model" );
-        project.setArtifactId( "NPanday.Model.Pom" );
-        project.setVersion( "1.0" );
-        project.setArtifactType( "library" );
-        project.setPublicKeyTokenId( "abc" );
-
-        ProjectDependency test2 = createProjectDependency( "npanday", "NPanday.Test", "1.0" );
-        test2.setArtifactType( "library" );
-        project.addProjectDependency( test2 );
-
-        try
-        {
-            dao.storeProjectAndResolveDependencies( project, testRepo, new ArrayList<ArtifactRepository>() );
-        }
-        catch ( java.io.IOException e )
-        {
-            e.printStackTrace();
-            fail( "Could not store the project: " + e.getMessage() );
-        }
-
-        RepositoryConverterImpl repositoryConverter = new RepositoryConverterImpl();
-        repositoryConverter.initTest( new DataAccessObjectRegistryStub(), new ArtifactFactoryTestStub(),
-                                      null, new ArtifactResolverTestStub() );
-
-        ArtifactFactory artifactFactory = new ArtifactFactoryTestStub();
-        Artifact artifact = artifactFactory.createArtifactWithClassifier( project.getGroupId(), project.getArtifactId(),
-                                                                          project.getVersion(),
-                                                                          project.getArtifactType(), "abc" );
-        File artifactFile = new File( testRepo.getParentFile(),
-                                      "/uac/gac_msil/NPanday.Model.Pom/1.0__npanday.model/NPanday.Model.Pom.dll" );
-
-        artifact.setFile( artifactFile );
-        try
-        {
-            repositoryConverter.convertRepositoryFormatFor( artifact, null, repository, testRepo );
-        }
-        catch ( IOException e )
-        {
-            fail( "Could not convert the repository: " + e.getMessage() );
-        }
-        this.exportRepositoryToRdf( "testConvertArtifact-rdf.xml", testRepo, repository );
-
-        assertTrue( new File( testRepo, "/npanday/model/NPanday.Model.Pom/1.0/NPanday.Model.Pom-1.0-abc.dll" ).exists() );
-        assertTrue( new File( testRepo, "/npanday/model/NPanday.Model.Pom/1.0/NPanday.Model.Pom-1.0.pom" ).exists() );
-        assertFalse( new File( testRepo, "/npanday/NPanday.Test/1.0/NPanday.Test-1.0.dll" ).exists() );
-        assertFalse( new File( testRepo, "/npanday/NPanday.Test/1.0/NPanday.Test-1.0.pom" ).exists() );
-    }*/
-
     public void testConvert()
     {
         File testRepo = new File( System.getProperty( "basedir" ), "target/test-repo/repository" );
@@ -102,7 +45,7 @@
         project.setVersion( "1.0" );
         project.setArtifactType( "library" );
 
-        ProjectDependency test2 = createProjectDependency( "npanday", "NPanday.Test", "1.0" );
+        ProjectDependency test2 = createProjectDependency( "npanday", "ClassLibrary1", "1.0" );
         test2.setArtifactType( "library" );
         project.addProjectDependency( test2 );
 
@@ -129,10 +72,10 @@
         }
         this.exportRepositoryToRdf( "testConvert-rdf.xml", testRepo, repository );
 
-        //assertTrue( new File( testRepo, "/npanday/model/NPanday.Model.Pom/1.0/NPanday.Model.Pom-1.0.dll" ).exists() );
-        //assertTrue( new File( testRepo, "/npanday/model/NPanday.Model.Pom/1.0/NPanday.Model.Pom-1.0.pom" ).exists() );
-        //assertTrue( new File( testRepo, "/npanday/NPanday.Test/1.0/NPanday.Test-1.0.dll" ).exists() );
-        //assertTrue( new File( testRepo, "/npanday/NPanday.Test/1.0/NPanday.Test-1.0.pom" ).exists() );
+        assertTrue( new File( testRepo, "/npanday/model/NPanday.Model.Pom/1.0/NPanday.Model.Pom-1.0.dll" ).exists() );
+        assertTrue( new File( testRepo, "/npanday/model/NPanday.Model.Pom/1.0/NPanday.Model.Pom-1.0.pom" ).exists() );
+        assertTrue( new File( testRepo, "/npanday/ClassLibrary1/1.0/ClassLibrary1-1.0.dll" ).exists() );
+
     }
 
     private ProjectDependency createProjectDependency( String groupId, String artifactId, String version )
diff --git a/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/1.0-SNAPSHOT/ClassLibrary1-parent-1.0-SNAPSHOT.pom b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/1.0-SNAPSHOT/ClassLibrary1-parent-1.0-SNAPSHOT.pom
new file mode 100644
index 0000000..c11bf11
--- /dev/null
+++ b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/1.0-SNAPSHOT/ClassLibrary1-parent-1.0-SNAPSHOT.pom
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://maven.apache.org/POM/4.0.0">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>npanday.ClassLibrary1</groupId>
+  <artifactId>ClassLibrary1-parent</artifactId>
+  <packaging>pom</packaging>
+  <name>npanday.ClassLibrary1 : ClassLibrary1-parent</name>
+  <version>1.0-SNAPSHOT</version>
+  <modules>
+    <module>ClassLibrary1</module>
+  </modules>
+</project>
\ No newline at end of file
diff --git a/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/1.0-SNAPSHOT/maven-metadata-local.xml b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/1.0-SNAPSHOT/maven-metadata-local.xml
new file mode 100644
index 0000000..4c5d8f4
--- /dev/null
+++ b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/1.0-SNAPSHOT/maven-metadata-local.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+  <groupId>npanday.ClassLibrary1</groupId>
+  <artifactId>ClassLibrary1-parent</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <versioning>
+    <snapshot>
+      <localCopy>true</localCopy>
+    </snapshot>
+    <lastUpdated>20101019130606</lastUpdated>
+  </versioning>
+</metadata>
diff --git a/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/1.0/ClassLibrary1-parent-1.0.pom b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/1.0/ClassLibrary1-parent-1.0.pom
new file mode 100644
index 0000000..da78920
--- /dev/null
+++ b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/1.0/ClassLibrary1-parent-1.0.pom
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://maven.apache.org/POM/4.0.0">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>npanday.ClassLibrary1</groupId>
+  <artifactId>ClassLibrary1-parent</artifactId>
+  <packaging>pom</packaging>
+  <name>npanday.ClassLibrary1 : ClassLibrary1-parent</name>
+  <version>1.0</version>
+  <modules>
+    <module>ClassLibrary1</module>
+  </modules>
+</project>
\ No newline at end of file
diff --git a/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/maven-metadata-local.xml b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/maven-metadata-local.xml
new file mode 100644
index 0000000..215b314
--- /dev/null
+++ b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1-parent/maven-metadata-local.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+  <groupId>npanday.ClassLibrary1</groupId>
+  <artifactId>ClassLibrary1-parent</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <versioning>
+    <versions>
+      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
+    </versions>
+    <lastUpdated>20101019132844</lastUpdated>
+  </versioning>
+</metadata>
diff --git a/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0-SNAPSHOT/ClassLibrary1-1.0-SNAPSHOT.dll b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0-SNAPSHOT/ClassLibrary1-1.0-SNAPSHOT.dll
new file mode 100644
index 0000000..128e8a8
--- /dev/null
+++ b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0-SNAPSHOT/ClassLibrary1-1.0-SNAPSHOT.dll
Binary files differ
diff --git a/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0-SNAPSHOT/ClassLibrary1-1.0-SNAPSHOT.pom b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0-SNAPSHOT/ClassLibrary1-1.0-SNAPSHOT.pom
new file mode 100644
index 0000000..94c0700
--- /dev/null
+++ b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0-SNAPSHOT/ClassLibrary1-1.0-SNAPSHOT.pom
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://maven.apache.org/POM/4.0.0">
+  <parent>
+    <artifactId>ClassLibrary1-parent</artifactId>
+    <groupId>npanday.ClassLibrary1</groupId>
+    <version>1.0-SNAPSHOT</version>
+    <relativePath>..\pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>ClassLibrary1</artifactId>
+  <packaging>library</packaging>
+  <name>npanday.ClassLibrary1 : ClassLibrary1</name>
+  <build>
+    <sourceDirectory>./</sourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>npanday.plugin</groupId>
+        <artifactId>maven-compile-plugin</artifactId>
+        <extensions>true</extensions>
+        <configuration>
+          <frameworkVersion>3.5</frameworkVersion>
+          <includeSources>
+            <includeSource>Class1.cs</includeSource>
+            <includeSource>Properties\AssemblyInfo.cs</includeSource>
+          </includeSources>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file
diff --git a/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0-SNAPSHOT/maven-metadata-local.xml b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0-SNAPSHOT/maven-metadata-local.xml
new file mode 100644
index 0000000..1deb7d7
--- /dev/null
+++ b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0-SNAPSHOT/maven-metadata-local.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+  <groupId>npanday.ClassLibrary1</groupId>
+  <artifactId>ClassLibrary1</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <versioning>
+    <snapshot>
+      <localCopy>true</localCopy>
+    </snapshot>
+    <lastUpdated>20101019130635</lastUpdated>
+  </versioning>
+</metadata>
diff --git a/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0/ClassLibrary1-1.0.dll b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0/ClassLibrary1-1.0.dll
new file mode 100644
index 0000000..1652a6c
--- /dev/null
+++ b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0/ClassLibrary1-1.0.dll
Binary files differ
diff --git a/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0/ClassLibrary1-1.0.pom b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0/ClassLibrary1-1.0.pom
new file mode 100644
index 0000000..cb91591
--- /dev/null
+++ b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/1.0/ClassLibrary1-1.0.pom
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://maven.apache.org/POM/4.0.0">
+  <parent>
+    <artifactId>ClassLibrary1-parent</artifactId>
+    <groupId>npanday.ClassLibrary1</groupId>
+    <version>1.0</version>
+    <relativePath>..\pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>ClassLibrary1</artifactId>
+  <packaging>library</packaging>
+  <name>npanday.ClassLibrary1 : ClassLibrary1</name>
+  <build>
+    <sourceDirectory>./</sourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>npanday.plugin</groupId>
+        <artifactId>maven-compile-plugin</artifactId>
+        <extensions>true</extensions>
+        <configuration>
+          <frameworkVersion>3.5</frameworkVersion>
+          <includeSources>
+            <includeSource>Class1.cs</includeSource>
+            <includeSource>Properties\AssemblyInfo.cs</includeSource>
+          </includeSources>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file
diff --git a/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/maven-metadata-local.xml b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/maven-metadata-local.xml
new file mode 100644
index 0000000..b5f7d66
--- /dev/null
+++ b/components/dotnet-repository/src/test/resources/repository/npanday/ClassLibrary1/maven-metadata-local.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+  <groupId>npanday.ClassLibrary1</groupId>
+  <artifactId>ClassLibrary1</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <versioning>
+    <versions>
+      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
+    </versions>
+    <lastUpdated>20101019132913</lastUpdated>
+  </versioning>
+</metadata>
diff --git a/components/dotnet-repository/src/test/resources/uac/gac_msil/NPanday.Model.Pom/1.0__npanday.model/NPanday.Model.Pom.dll b/components/dotnet-repository/src/test/resources/repository/npanday/model/NPanday.Model.Pom/1.0/NPanday.Model.Pom-1.0.dll
similarity index 100%
rename from components/dotnet-repository/src/test/resources/uac/gac_msil/NPanday.Model.Pom/1.0__npanday.model/NPanday.Model.Pom.dll
rename to components/dotnet-repository/src/test/resources/repository/npanday/model/NPanday.Model.Pom/1.0/NPanday.Model.Pom-1.0.dll
Binary files differ
diff --git a/components/dotnet-repository/src/test/resources/uac/gac_msil/NPanday.Test/1.0__npanday/NPanday.Test.dll b/components/dotnet-repository/src/test/resources/repository/npanday/model/NPanday.Test/1.0/NPanday.Test-1.0.dll
similarity index 100%
rename from components/dotnet-repository/src/test/resources/uac/gac_msil/NPanday.Test/1.0__npanday/NPanday.Test.dll
rename to components/dotnet-repository/src/test/resources/repository/npanday/model/NPanday.Test/1.0/NPanday.Test-1.0.dll
Binary files differ
