package org.openlca.core.database.references; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import org.openlca.core.Tests; import org.openlca.core.database.references.IReferenceSearch.Reference; import org.openlca.core.model.AbstractEntity; import org.openlca.core.model.Flow; import org.openlca.core.model.FlowProperty; import org.openlca.core.model.FlowPropertyFactor; import org.openlca.core.model.ModelType; public class FlowPropertyFactorReferenceSearchTest extends BaseReferenceSearchTest { private Map<Long, Class<? extends AbstractEntity>> ownerTypes = new HashMap<>(); private Map<Long, Long> ownerIds = new HashMap<>(); @Override protected ModelType getModelType() { return null; } @Override protected Class<? extends AbstractEntity> getModelClass() { return FlowPropertyFactor.class; } @Override protected boolean isNestedSearchTest() { return true; } @Override protected List<Reference> findReferences(Set<Long> ids) { return new FlowPropertyFactorReferenceSearch(Tests.getDb(), ownerTypes, ownerIds).findReferences(ids); } @Override protected FlowPropertyFactor createModel() { Flow flow = new Flow(); FlowPropertyFactor factor = new FlowPropertyFactor(); factor.setFlowProperty(Tests.insert(new FlowProperty())); flow.getFlowPropertyFactors().add(factor); flow = Tests.insert(flow); factor = flow.getFactor(factor.getFlowProperty()); ownerIds.put(factor.getId(), flow.getId()); ownerTypes.put(factor.getId(), Flow.class); addExpected(new Reference("flowProperty", FlowProperty.class, factor .getFlowProperty().getId(), Flow.class, flow.getId(), "flowPropertyFactors", FlowPropertyFactor.class, factor.getId(), false)); return factor; } }