/*
# Licensed Materials - Property of IBM
# Copyright IBM Corp. 2015
*/
package com.ibm.streamsx.topology.test.api;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import com.ibm.streamsx.topology.tester.Condition;
public class MultiLongCondition implements Condition<Long> {
private final List<Condition<Long>> conditions;
public MultiLongCondition(List<Condition<Long>> conditions) {
this.conditions = Collections.unmodifiableList(new ArrayList<>(conditions));
}
public List<Condition<Long>> conditions() {
return conditions;
}
@Override
public boolean valid() {
for (Condition<?> c : conditions) {
if (!c.valid())
return false;
}
return true;
}
@Override
public Long getResult() {
long l = 0;
for (Condition<Long> c : conditions) {
l += c.getResult();
}
return l;
}
@Override
public String toString() {
return conditions.toString();
}
}