Package nexj.core.meta.xml

Source Code of nexj.core.meta.xml.XMLMetadataTest

// Copyright 2010 NexJ Systems Inc. This software is licensed under the terms of the Eclipse Public License 1.0
package nexj.core.meta.xml;

import java.util.Iterator;
import java.util.Locale;

import junit.framework.TestCase;

import nexj.core.meta.Metaclass;
import nexj.core.meta.MetadataLookupException;
import nexj.core.meta.Repository;
import nexj.core.scripting.PCodeFunction;
import nexj.core.scripting.Symbol;

public class XMLMetadataTest extends TestCase
{
   private XMLMetadata m_meta;

   /**
    * Constructor for XMLMetadataTest.
    * @param name
    */
   public XMLMetadataTest(String name)
   {
      super(name);
   }

   /*
    * @see TestCase#setUp()
    */
   protected void setUp() throws Exception
   {
      super.setUp();

      m_meta = (XMLMetadata)Repository.getMetadata();
   }

   /**
    * @see junit.framework.TestCase#tearDown()
    */
   protected void tearDown() throws Exception
   {
      super.tearDown();

      m_meta = null;
   }
  
   public void testGetHelper()
   {
      assertNotNull(m_meta.getHelper());
   }

   public void testGetName()
   {
      assertEquals("NexJ Core Test", m_meta.getName());
   }

   public void testGetRevision()
   {
      assertEquals("1.0", m_meta.getRevision());
   }

   public void testGetNamespace()
   {
      assertEquals("http://www.nexjsystems.com/ns/core-test", m_meta.getNamespace());
   }

   public void testGetVersion()
   {
      assertEquals("12345", m_meta.getVersion());
   }

   public void testGetBaseNamespace()
   {
      assertNull(m_meta.getBaseNamespace());
   }

   public void testGetBaseVersion()
   {
      assertEquals("", m_meta.getBaseVersion());
   }

   public void testGetDataSource()
   {
      assertEquals("DefaultRelationalDatabase", m_meta.getDataSource("DefaultRelationalDatabase").getName());

      try
      {
         m_meta.getDataSource("a");
         fail("Expected MetadataLookupException");
      }
      catch (MetadataLookupException e)
      {
      }
   }

   public void testGetDataSourceCount()
   {
      assertEquals(4, m_meta.getDataSourceCount());
   }

   public void testGetDataSourceIterator()
   {
      Iterator itr = m_meta.getDataSourceIterator();

      for (int i = 0, n = m_meta.getDataSourceCount(); i < n; ++i)
      {
         itr.next();
      }

      assertFalse(itr.hasNext());
   }

   public void testGetChannel()
   {
      assertEquals("SystemTopic", m_meta.getChannel("SystemTopic").getName());

      try
      {
         m_meta.getChannel("a");
         fail("Expected MetadataLookupException");
      }
      catch (MetadataLookupException e)
      {
      }
   }

   public void testGetChannelCount()
   {
      assertEquals(13, m_meta.getChannelCount());
   }

   public void testGetChannelIterator()
   {
      Iterator itr = m_meta.getChannelIterator();

      for (int i = 0, n = m_meta.getChannelCount(); i < n; ++i)
      {
         itr.next();
      }

      assertFalse(itr.hasNext());
   }

   public void testGetMetaclass()
   {
      assertEquals("Contact", m_meta.getMetaclass("Contact").getName());

      try
      {
         m_meta.getMetaclass("a");
         fail("Expected MetadataLookupException");
      }
      catch (MetadataLookupException e)
      {
      }

      Metaclass test = m_meta.getMetaclass("mod1:Test");

      assertEquals("mod1:Test", test.getName());
      assertSame(test, test.getAttribute("test").getType());
   }

   public void testGetMetaclassCount()
   {
      assertEquals(124, m_meta.getMetaclassCount()); // 1 for Object
   }

   public void testGetMetaclassIterator()
   {
      Iterator itr = m_meta.getMetaclassIterator();
      int nCount = m_meta.getMetaclassCount();

      for (int i = 0; i < nCount; ++i)
      {
         itr.next();
      }

      assertFalse(itr.hasNext());
   }

   public void testGetClassAspect()
   {
      assertEquals("VERSIONED", m_meta.getClassAspect("VERSIONED").getName());

      try
      {
         m_meta.getClassAspect("a");
         fail("Expected MetadataLookupException");
      }
      catch (MetadataLookupException e)
      {
      }
   }

   public void testGetClassAspectCount()
   {
      assertEquals(6, m_meta.getClassAspectCount()); // 1 for Object
   }

   public void testGetClassAspectIterator()
   {
      Iterator itr = m_meta.getClassAspectIterator();
      int nCount = m_meta.getClassAspectCount();

      for (int i = 0; i < nCount; ++i)
      {
         itr.next();
      }

      assertFalse(itr.hasNext());
   }

   public void testGetFlowMacroCount()
   {
      assertEquals(1, m_meta.getFlowMacroCount());
   }

   public void testGetComponent()
   {
      assertEquals("Server.Generic", m_meta.getComponent("Server.Generic").getName());

      try
      {
         m_meta.getComponent("a");
         fail("Expected MetadataLookupException");
      }
      catch (MetadataLookupException e)
      {
      }
   }

   public void testGetComponentCount()
   {
      assertEquals(29, m_meta.getComponentCount());
   }

   public void testGetComponentIterator()
   {
      Iterator itr = m_meta.getComponentIterator();
      int nCount = m_meta.getComponentCount();

      for (int i = 0; i < nCount; ++i)
      {
         itr.next();
      }

      assertFalse(itr.hasNext());
   }

   public void testLibraries()
   {
      assertTrue(m_meta.getGlobalEnvironment().getVariable(
         Symbol.define("testlib-fun")) instanceof PCodeFunction);
   }

   public void testIsLocaleSupported()
   {
      assertTrue(m_meta.isLocaleSupported("en_CA"));
      assertFalse(m_meta.isLocaleSupported("en_CA_ON"));
      assertFalse(m_meta.isLocaleSupported("tlh"));
   }

   public void testGetLocaleName()
   {
      assertEquals("en_CA", m_meta.getLocaleName("en_CA"));
      assertEquals("en_CA", m_meta.getLocaleName("en_CA_ON"));
      assertEquals("en", m_meta.getLocaleName("en"));
      assertEquals("en", m_meta.getLocaleName("tlh"));
   }

   public void testGetLocale()
   {
      assertEquals(new Locale("en", "CA"), m_meta.getLocale("en_CA"));
      assertEquals(new Locale("en", "CA"), m_meta.getLocale("en_CA_ON"));
      assertEquals(new Locale("en"), m_meta.getLocale("en"));
      assertEquals(new Locale("en"), m_meta.getLocale("tlh"));
   }

   public void testGetLocaleIterator()
   {
      int nCount = 0;

      for (Iterator itr = m_meta.getLocaleIterator(); itr.hasNext();)
      {
         assertNotNull(itr.next());
         ++nCount;
      }

      assertEquals(135, nCount);
   }

   public void testGetLocaleCount()
   {
      assertEquals(135, m_meta.getLocaleCount());
   }

   public void testToString()
   {
      assertEquals("XMLMetadata \"NexJ Core Test\" 1.0", m_meta.toString());
   }
}
TOP

Related Classes of nexj.core.meta.xml.XMLMetadataTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.