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

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

/**
*
*/
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.Parameter;
import org.openiaml.model.model.Value;
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.visual.Map;
import org.openiaml.model.model.visual.MapPoint;
import org.openiaml.model.tests.inference.InferenceTestCase;

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

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

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

    InputForm form = assertHasInputForm(home, "type in some addresses");
    assertNotGenerated(form);

    InputTextField field1 = assertHasInputTextField(form, "address 1");
    InputTextField field2 = assertHasInputTextField(form, "address 2");
    InputTextField field3 = assertHasInputTextField(form, "address 3");

    assertNotGenerated(field1);
    assertNotGenerated(field2);
    assertNotGenerated(field3);

    Map map = assertHasMap(home, "target map");
    assertNotGenerated(map);

    assertNotGenerated(assertHasSetWire(root, form, map, "set"));
  }

  /**
   * MapPoints are generated in the Map.
   *
   * @throws Exception
   */
  public void testMapPoints() throws Exception {
    Frame home = assertHasFrame(root, "Home");
    InputForm form = assertHasInputForm(home, "type in some addresses");
    InputTextField field1 = assertHasInputTextField(form, "address 1");
    InputTextField field2 = assertHasInputTextField(form, "address 2");
    InputTextField field3 = assertHasInputTextField(form, "address 3");
    Map map = assertHasMap(home, "target map");

    // following generated
    MapPoint point1 = assertHasMapPoint(map, "address 1");
    MapPoint point2 = assertHasMapPoint(map, "address 2");
    MapPoint point3 = assertHasMapPoint(map, "address 3");

    // generated
    assertGenerated(point1);
    assertGenerated(point2);
    assertGenerated(point3);

    // and connected by set wires
    assertGenerated(assertHasSetWire(root, field1, point1));
    assertGenerated(assertHasSetWire(root, field2, point2));
    assertGenerated(assertHasSetWire(root, field3, point3));

    // not the other way around
    assertHasNoSetWire(root, point1, field1);
    assertHasNoSetWire(root, point2, field2);
    assertHasNoSetWire(root, point3, field3);

    // not sync wires
    assertHasNoSyncWire(root, field1, point1);
    assertHasNoSyncWire(root, field2, point2);
    assertHasNoSyncWire(root, field3, point3);
  }

  /**
   * Field1.edit runs Point1.update
   *
   * @throws Exception
   */
  public void testEventUpdate() throws Exception {
    Frame home = assertHasFrame(root, "Home");
    InputForm form = assertHasInputForm(home, "type in some addresses");
    InputTextField field1 = assertHasInputTextField(form, "address 1");
    Map map = assertHasMap(home, "target map");
    MapPoint point1 = assertHasMapPoint(map, "address 1");

    // following generated
    Value value1 = assertHasFieldValue(field1);
    assertGenerated(value1);

    Event change = field1.getOnChange();
    assertNotNull(change);

    Operation update = assertHasOperation(point1, "update");

    ECARule run = assertHasRunAction(root, change, update);
    assertGenerated(run);

    Parameter param = assertHasParameter(root, value1, run);
    assertGenerated(param);

  }

}
TOP

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

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.