Package org.openiaml.model.tests.inference.model0_5

Source Code of org.openiaml.model.tests.inference.model0_5.IteratedSyncWires

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

import org.openiaml.model.model.ECARule;
import org.openiaml.model.model.Event;
import org.openiaml.model.model.Operation;
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.visual.Frame;
import org.openiaml.model.model.visual.InputForm;
import org.openiaml.model.model.visual.InputTextField;
import org.openiaml.model.model.wires.SyncWire;
import org.openiaml.model.tests.inference.InferenceTestCase;

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

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

  public void testInitial() throws Exception {
    Frame home = assertHasFrame(root, "Home");
    assertNotGenerated(home);

    DomainIterator instance = assertHasDomainIterator(home, "iterable");
    assertNotGenerated(instance);

    InputForm form = assertHasInputForm(home, "View News");
    assertNotGenerated(form);

    SyncWire wire = assertHasSyncWire(root, instance, form);
    assertNotGenerated(wire);

  }

  /**
   * The Form is populated with text fields.
   *
   * @throws Exception
   */
  public void testTextFieldsCreated() throws Exception {
    Frame home = assertHasFrame(root, "Home");
    InputForm form = assertHasInputForm(home, "View News");

    InputTextField t1 = assertHasInputTextField(form, "title");
    InputTextField t2 = assertHasInputTextField(form, "content");
    InputTextField t3 = assertHasInputTextField(form, "posted");

    assertGenerated(t1);
    assertGenerated(t2);
    assertGenerated(t3);

  }

  /**
   * The text fields are connected to attribute instances by SyncWires.
   *
   * @throws Exception
   */
  public void testAttributesCreated() throws Exception {
    Frame home = assertHasFrame(root, "Home");
    DomainIterator iterator = assertHasDomainIterator(home, "iterable");
    DomainInstance instance = iterator.getCurrentInstance();
    assertGenerated(instance);
    InputForm form = assertHasInputForm(home, "View News");

    InputTextField t1 = assertHasInputTextField(form, "title");
    InputTextField t2 = assertHasInputTextField(form, "content");
    InputTextField t3 = assertHasInputTextField(form, "posted");

    assertGenerated(t1);
    assertGenerated(t2);
    assertGenerated(t3);

    DomainAttributeInstance a1 = assertHasDomainAttributeInstance(instance, "title");
    DomainAttributeInstance a2 = assertHasDomainAttributeInstance(instance, "content");
    DomainAttributeInstance a3 = assertHasDomainAttributeInstance(instance, "posted");

    assertGenerated(a1);
    assertGenerated(a2);
    assertGenerated(a3);

    assertGenerated(assertHasSyncWire(root, t1, a1));
    assertGenerated(assertHasSyncWire(root, t2, a2));
    assertGenerated(assertHasSyncWire(root, t3, a3));

  }

  /**
   * TextField.onEdit calls Attribute.update
   * @throws Exception
   */
  public void testTextFieldEditCallsAttributeUpdate() throws Exception {
    Frame home = assertHasFrame(root, "Home");
    DomainIterator iterator = assertHasDomainIterator(home, "iterable");
    DomainInstance instance = iterator.getCurrentInstance();
    assertGenerated(instance);

    InputForm form = assertHasInputForm(home, "View News");
    InputTextField t1 = assertHasInputTextField(form, "title");
    DomainAttributeInstance a1 = assertHasDomainAttributeInstance(instance, "title");

    Event edit = t1.getOnChange();
    Operation update = assertHasOperation(a1, "update");

    ECARule run = assertHasRunAction(root, edit, update);
    System.out.println(run);

    assertGenerated(run);

  }

  /**
   * Attribute.onEdit calls TextField.update
   * @throws Exception
   */
  public void testAttributeEditCallsTextFieldUpdate() throws Exception {
    Frame home = assertHasFrame(root, "Home");
    DomainIterator iterator = assertHasDomainIterator(home, "iterable");
    DomainInstance instance = iterator.getCurrentInstance();
    assertGenerated(instance);

    InputForm form = assertHasInputForm(home, "View News");
    InputTextField t1 = assertHasInputTextField(form, "title");
    DomainAttributeInstance a1 = assertHasDomainAttributeInstance(instance, "title");

    Event edit = a1.getOnChange();
    Operation update = assertHasOperation(t1, "update");

    ECARule run = assertHasRunAction(root, edit, update);

    assertGenerated(run);

  }

  /**
   * Compared to {@link SelectWireManyPaginate}, the navigation
   * buttons should <strong>NOT</strong> be created (since we are
   * only selecting one).
   *
   * @throws Exception
   */
  public void testNavigationButtonsNotCreated() throws Exception {
    Frame home = assertHasFrame(root, "Home");
    InputForm form = assertHasInputForm(home, "View News");

    assertHasNoButton(form, "Next");
    assertHasNoButton(form, "Previous");
    assertHasNoButton(form, "First");
    assertHasNoButton(form, "Last");
    assertHasNoLabel(form, "Results");
  }

}
TOP

Related Classes of org.openiaml.model.tests.inference.model0_5.IteratedSyncWires

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.