/* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.camunda.bpm.model.bpmn.instance; import static org.camunda.bpm.model.bpmn.impl.BpmnModelConstants.CAMUNDA_NS; import java.util.Arrays; import java.util.Collection; import org.camunda.bpm.model.bpmn.MultiInstanceFlowCondition; import org.camunda.bpm.model.bpmn.impl.instance.LoopDataInputRef; import org.camunda.bpm.model.bpmn.impl.instance.LoopDataOutputRef; /** * @author Filip Hrisafov */ public class MultiInstanceLoopCharacteristicsTest extends BpmnModelElementInstanceTest { @Override public TypeAssumption getTypeAssumption() { return new TypeAssumption(LoopCharacteristics.class, false); } @Override public Collection<ChildElementAssumption> getChildElementAssumptions() { return Arrays.asList( new ChildElementAssumption(LoopCardinality.class, 0, 1), new ChildElementAssumption(LoopDataInputRef.class, 0, 1), new ChildElementAssumption(LoopDataOutputRef.class, 0, 1), new ChildElementAssumption(OutputDataItem.class, 0, 1), new ChildElementAssumption(InputDataItem.class, 0, 1), new ChildElementAssumption(ComplexBehaviorDefinition.class), new ChildElementAssumption(CompletionCondition.class, 0, 1) ); } @Override public Collection<AttributeAssumption> getAttributesAssumptions() { return Arrays.asList( new AttributeAssumption("isSequential", false, false, false), new AttributeAssumption("behavior", false, false, MultiInstanceFlowCondition.All), new AttributeAssumption("oneBehaviorEventRef"), new AttributeAssumption("noneBehaviorEventRef"), new AttributeAssumption(CAMUNDA_NS, "asyncBefore", false, false, false), new AttributeAssumption(CAMUNDA_NS, "asyncAfter", false, false, false), new AttributeAssumption(CAMUNDA_NS, "exclusive", false, false, true), new AttributeAssumption(CAMUNDA_NS, "collection"), new AttributeAssumption(CAMUNDA_NS, "elementVariable") ); } }