Package org.openiaml.model.tests.inference.model0_5_1

Source Code of org.openiaml.model.tests.inference.model0_5_1.ViewDatabaseTypes

/**
*
*/
package org.openiaml.model.tests.inference.model0_5_1;

import org.openiaml.model.datatypes.BuiltinDataTypes;
import org.openiaml.model.model.Value;
import org.openiaml.model.model.domain.DomainAttribute;
import org.openiaml.model.model.domain.DomainAttributeInstance;
import org.openiaml.model.model.domain.DomainInstance;
import org.openiaml.model.model.domain.DomainIterator;
import org.openiaml.model.model.domain.DomainType;
import org.openiaml.model.model.visual.Frame;
import org.openiaml.model.model.visual.InputForm;
import org.openiaml.model.model.visual.Label;
import org.openiaml.model.tests.inference.InferenceTestCase;

/**
*
* @author jmwright
*/
public class ViewDatabaseTypes extends InferenceTestCase {

  @Override
  protected void setUp() throws Exception {
    super.setUp();
    root = loadAndInfer(ViewDatabaseTypes.class);
  }

  /**
   * Check the types of the initial attributes, i.e. not generated.
   *
   * @throws Exception
   */
  public void testDatabaseTypes() throws Exception {
    DomainType obj = assertHasDomainType(root, "Container");

    DomainAttribute aString = assertHasDomainAttribute(obj, "string");
    DomainAttribute aInteger = assertHasDomainAttribute(obj, "integer");
    DomainAttribute aDate = assertHasDomainAttribute(obj, "date");
    DomainAttribute aEmail = assertHasDomainAttribute(obj, "email");
    DomainAttribute aAddress = assertHasDomainAttribute(obj, "address");

    assertEqualType(aString.getEType(), BuiltinDataTypes.getTypeString());
    assertEqualType(aInteger.getEType(), BuiltinDataTypes.getTypeInteger());
    assertEqualType(aDate.getEType(), BuiltinDataTypes.getTypeDateTime());
    assertEqualType(aEmail.getEType(), BuiltinDataTypes.getTypeEmail());
    assertEqualType(aAddress.getEType(), BuiltinDataTypes.getTypeAddress());

    assertNotGenerated(obj);
    assertNotGenerated(aString);
    assertNotGenerated(aInteger);
    assertNotGenerated(aDate);
    assertNotGenerated(aEmail);
    assertNotGenerated(aAddress);
  }

  /**
   * The AttributeInstances should have the same data types as
   * the Attribute definition.
   *
   * @throws Exception
   */
  public void testAttributeInstancesHaveCorrectTypes() throws Exception {
    DomainType obj = assertHasDomainType(root, "Container");

    DomainAttribute aString = assertHasDomainAttribute(obj, "string");
    DomainAttribute aInteger = assertHasDomainAttribute(obj, "integer");
    DomainAttribute aDate = assertHasDomainAttribute(obj, "date");
    DomainAttribute aEmail = assertHasDomainAttribute(obj, "email");
    DomainAttribute aAddress = assertHasDomainAttribute(obj, "address");

    Frame view = assertHasFrame(root, "View");
    DomainIterator iterator = assertHasDomainIterator(view, "Viewed");
    DomainInstance instance = iterator.getCurrentInstance();
    assertGenerated(instance);

    DomainAttributeInstance iString = assertHasDomainAttributeInstance(instance, "string");
    DomainAttributeInstance iInteger = assertHasDomainAttributeInstance(instance, "integer");
    DomainAttributeInstance iDate = assertHasDomainAttributeInstance(instance, "date");
    DomainAttributeInstance iEmail = assertHasDomainAttributeInstance(instance, "email");
    DomainAttributeInstance iAddress = assertHasDomainAttributeInstance(instance, "address");

    // all generated
    assertGenerated(iString);
    assertGenerated(iInteger);
    assertGenerated(iDate);
    assertGenerated(iEmail);
    assertGenerated(iAddress);

    // equal types
    assertEqualType(aString, iString);
    assertEqualType(aInteger, iInteger);
    assertEqualType(aDate, iDate);
    assertEqualType(aEmail, iEmail);
    assertEqualType(aAddress, iAddress);

    // test the field values of the attribute instances, as well
    {
      Value value = assertHasFieldValue(iString);
      assertEqualType(value, iString);
      assertGenerated(value);
    }
    {
      Value value = assertHasFieldValue(iInteger);
      assertEqualType(value, iInteger);
      assertGenerated(value);
    }
    {
      Value value = assertHasFieldValue(iDate);
      assertEqualType(value, iDate);
      assertGenerated(value);
    }
    {
      Value value = assertHasFieldValue(iEmail);
      assertEqualType(value, iEmail);
      assertGenerated(value);
    }
    {
      Value value = assertHasFieldValue(iAddress);
      assertEqualType(value, iAddress);
      assertGenerated(value);
    }

  }

  /**
   * The fieldValues for each Label generated should have the
   * same data types as the AttributeInstance.
   *
   * @throws Exception
   */
  public void testFormHasCorrectTypes() throws Exception {
    Frame view = assertHasFrame(root, "View");
    DomainIterator iterator = assertHasDomainIterator(view, "Viewed");
    DomainInstance instance = iterator.getCurrentInstance();
    assertGenerated(instance);

    DomainAttributeInstance iString = assertHasDomainAttributeInstance(instance, "string");
    DomainAttributeInstance iInteger = assertHasDomainAttributeInstance(instance, "integer");
    DomainAttributeInstance iDate = assertHasDomainAttributeInstance(instance, "date");
    DomainAttributeInstance iEmail = assertHasDomainAttributeInstance(instance, "email");
    DomainAttributeInstance iAddress = assertHasDomainAttributeInstance(instance, "address");

    InputForm form = assertHasInputForm(view, "View");

    Label tString = assertHasLabel(form, "string");
    Label tInteger = assertHasLabel(form, "integer");
    Label tDate = assertHasLabel(form, "date");
    Label tEmail = assertHasLabel(form, "email");
    Label tAddress = assertHasLabel(form, "address");

    // all generated
    assertGenerated(iString);
    assertGenerated(iInteger);
    assertGenerated(iDate);
    assertGenerated(iEmail);
    assertGenerated(iAddress);

    // equal types
    assertEqualType(tString, iString);
    assertEqualType(tInteger, iInteger);
    assertEqualType(tDate, iDate);
    assertEqualType(tEmail, iEmail);
    assertEqualType(tAddress, iAddress);

    // test the field values of the attribute instances, as well
    {
      Value value = assertHasFieldValue(tString);
      assertEqualType(value, tString);
      assertGenerated(value);
    }
    {
      Value value = assertHasFieldValue(tInteger);
      assertEqualType(value, tInteger);
      assertGenerated(value);
    }
    {
      Value value = assertHasFieldValue(tDate);
      assertEqualType(value, tDate);
      assertGenerated(value);
    }
    {
      Value value = assertHasFieldValue(tEmail);
      assertEqualType(value, tEmail);
      assertGenerated(value);
    }
    {
      Value value = assertHasFieldValue(tAddress);
      assertEqualType(value, tAddress);
      assertGenerated(value);
    }


  }

}
TOP

Related Classes of org.openiaml.model.tests.inference.model0_5_1.ViewDatabaseTypes

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.