1   package org.andromda.core.repository;
2   
3   import java.util.Collection;
4   
5   import junit.framework.TestCase;
6   
7   import org.andromda.core.common.ComponentContainer;
8   import org.andromda.core.namespace.NamespaceComponents;
9   
10  
11  /***
12   * Tests {@link Repository}
13   *
14   * @author Chad Brandon
15   */
16  public class RepositoryTest
17      extends TestCase
18  {
19      /***
20       * @see junit.framework.TestCase#setUp()
21       */
22      public void setUp()
23      {
24          NamespaceComponents.instance().discover();
25      }
26      
27      public void testFindRepositoryByNamespace()
28      {
29          Repository repository = (Repository)ComponentContainer.instance().findComponentByNamespace("test", Repository.class);
30          assertNotNull(repository);
31          repository = (Repository)ComponentContainer.instance().findComponentByNamespace("bogus", Repository.class);
32          assertNull(repository);
33      }
34      
35      public void testGetImplementation()
36      {
37          final Collection repositories = ComponentContainer.instance().findComponentsOfType(Repository.class);
38          assertFalse(repositories.isEmpty());
39          Repository repository = (Repository)repositories.iterator().next();
40          assertNotNull(repository.getImplementation());
41          assertEquals(
42              MockRepository.class,
43              repository.getImplementation().getClass());
44      }
45  }