/* * Copyright 2010 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. * 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.kie.workbench.common.services.datamodel.backend.server; import org.drools.workbench.models.datamodel.oracle.PackageDataModelOracle; import org.junit.Test; import org.kie.workbench.common.services.datamodel.backend.server.builder.packages.PackageDataModelOracleBuilder; import static junit.framework.Assert.*; public class PackageDataModelDSLTest { @Test public void testAddConditionDSLSentence() { final PackageDataModelOracle dmo = PackageDataModelOracleBuilder.newPackageOracleBuilder() .addDsl( "[when]There is a Smurf=Smurf()" ) .build(); assertEquals( 1, dmo.getPackageDslConditionSentences().size() ); assertEquals( 0, dmo.getPackageDslActionSentences().size() ); } @Test public void testAddActionDSLSentence() { final PackageDataModelOracle dmo = PackageDataModelOracleBuilder.newPackageOracleBuilder() .addDsl( "[then]Greet Smurf=System.out.println(\"Hello Smurf\");" ) .build(); assertEquals( 0, dmo.getPackageDslConditionSentences().size() ); assertEquals( 1, dmo.getPackageDslActionSentences().size() ); } @Test public void testAddMultipleConditionDSLSentence() { final PackageDataModelOracle dmo = PackageDataModelOracleBuilder.newPackageOracleBuilder() .addDsl( "[when]There is a Smurf=Smurf()" ) .addDsl( "[when]There is Happy Smurf=Smurf( nature = HAPPY )" ) .build(); assertEquals( 2, dmo.getPackageDslConditionSentences().size() ); assertEquals( 0, dmo.getPackageDslActionSentences().size() ); } @Test public void testAddMultipleActionDSLSentence() { final PackageDataModelOracle dmo = PackageDataModelOracleBuilder.newPackageOracleBuilder() .addDsl( "[then]Report Smurfs=System.out.println(\"There is a Smurf\");" ) .addDsl( "[then]Greet Happy Smurf=System.out.println(\"Hello Happy Smurf\");" ) .build(); assertEquals( 0, dmo.getPackageDslConditionSentences().size() ); assertEquals( 2, dmo.getPackageDslActionSentences().size() ); } @Test public void testAddMultipleConditionDSLSentenceCombined() { final PackageDataModelOracle dmo = PackageDataModelOracleBuilder.newPackageOracleBuilder() .addDsl( "[when]There is a Smurf=Smurf()\n[when]There is Happy Smurf=Smurf( nature = HAPPY )" ) .build(); assertEquals( 2, dmo.getPackageDslConditionSentences().size() ); assertEquals( 0, dmo.getPackageDslActionSentences().size() ); } @Test public void testAddMultipleActionDSLSentenceCombined() { final PackageDataModelOracle dmo = PackageDataModelOracleBuilder.newPackageOracleBuilder() .addDsl( "[then]Report Smurfs=System.out.println(\"There is a Smurf\");\n[then]Greet Happy Smurf=System.out.println(\"Hello Happy Smurf\");" ) .build(); assertEquals( 0, dmo.getPackageDslConditionSentences().size() ); assertEquals( 2, dmo.getPackageDslActionSentences().size() ); } }