/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * 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.kie.workbench.common.widgets.client.datamodel; import java.util.List; import java.util.Set; import org.drools.workbench.models.datamodel.imports.HasImports; import org.drools.workbench.models.datamodel.oracle.MethodInfo; import org.drools.workbench.models.datamodel.oracle.ModelField; import org.kie.workbench.common.services.datamodel.model.PackageDataModelOracleBaselinePayload; import org.uberfire.backend.vfs.Path; import static org.junit.Assert.*; /** * Utility methods for AsyncPackageDataModelOracle tests */ public class PackageDataModelOracleTestUtils { public static void assertContains( final String string, final String[] strings ) { for ( int i = 0; i < strings.length; i++ ) { if ( string.equals( strings[ i ] ) ) { return; } } fail( "String[] did not contain: " + string ); } public static void assertContains( final String string, final Set<String> strings ) { if ( !strings.contains( string ) ) { fail( "Set<String> did not contain: " + string ); } } public static void assertContains( final String fieldName, final ModelField[] fieldDefinitions ) { for ( int i = 0; i < fieldDefinitions.length; i++ ) { if ( fieldName.equals( fieldDefinitions[ i ].getName() ) ) { return; } } fail( "ModelField[] did not contain field: " + fieldName ); } public static void assertContains( final String methodName, final List<MethodInfo> methodInfos ) { for ( int i = 0; i < methodInfos.size(); i++ ) { if ( methodName.equals( methodInfos.get( i ).getName() ) ) { return; } } fail( "List<MethodInfo> did not contain field: " + methodName ); } public static void populateDataModelOracle( final Path resourcePath, final HasImports hasImports, final AsyncPackageDataModelOracle oracle, final PackageDataModelOracleBaselinePayload payload ) { populate( oracle, payload ); oracle.init( resourcePath ); oracle.filter( hasImports.getImports() ); } private static void populate( final AsyncPackageDataModelOracle oracle, final PackageDataModelOracleBaselinePayload payload ) { oracle.setProjectName( payload.getProjectName() ); oracle.addModelFields( payload.getModelFields() ); oracle.addFieldParametersType( payload.getFieldParametersType() ); oracle.addEventTypes( payload.getEventTypes() ); oracle.addTypeSources( payload.getTypeSources() ); oracle.addSuperTypes( payload.getSuperTypes() ); oracle.addTypeAnnotations( payload.getTypeAnnotations() ); oracle.addTypeFieldsAnnotations( payload.getTypeFieldsAnnotations() ); oracle.addJavaEnumDefinitions( payload.getJavaEnumDefinitions() ); oracle.addMethodInformation( payload.getMethodInformation() ); oracle.addCollectionTypes( payload.getCollectionTypes() ); oracle.addPackageNames( payload.getPackageNames() ); oracle.setPackageName( payload.getPackageName() ); oracle.addWorkbenchEnumDefinitions( payload.getWorkbenchEnumDefinitions() ); oracle.addDslConditionSentences( payload.getDslConditionSentences() ); oracle.addDslActionSentences( payload.getDslActionSentences() ); oracle.addGlobals( payload.getGlobals() ); } }