/* * 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.drools.compiler.compiler.xml.rules; import org.junit.Test; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** * Test the dump/convert format utilities. */ public class DumperTest { // Xml Dumper test @Test public void testRoundTripAccumulateXml() throws Exception { DumperTestHelper.XmlFile( "test_ParseAccumulate.xml" ); } @Test public void testRoundTripCollectXml() throws Exception { DumperTestHelper.XmlFile( "test_ParseCollect.xml" ); } @Test public void testRoundTripExistsXml() throws Exception { DumperTestHelper.XmlFile( "test_ParseExists.xml" ); } @Test public void testRoundTripForallXml() throws Exception { DumperTestHelper.XmlFile( "test_ParseForall.xml" ); } @Test public void testRoundTripFromXml() throws Exception { DumperTestHelper.XmlFile( "test_ParseFrom.xml" ); } @Test public void testRoundTripComplexRuleXml() throws Exception { DumperTestHelper.XmlFile( "test_RoundTrip.xml" ); } // Drl Dumper test @Test public void testRoundTripComplexRuleDrl() throws Exception { DumperTestHelper.DrlFile( "test_RoundTrip.drl" ); } @Test public void testRoundTripCollectDrl() throws Exception { DumperTestHelper.DrlFile( "../../../integrationtests/test_Collect.drl" ); } @Test public void testRoundTripAccumulateDrl() throws Exception { DumperTestHelper.DrlFile( "test_accumulateall.drl" ); } @Test public void testRoundTripExistsDrl() throws Exception { DumperTestHelper.DrlFile( "../../../integrationtests/test_exists.drl" ); } @Test public void testRoundTripForallDrl() throws Exception { DumperTestHelper.DrlFile( "../../../integrationtests/test_Forall.drl" ); } @Test public void testRoundTripFromDrl() throws Exception { DumperTestHelper.DrlFile( "test_from.drl" ); } @Test public void testRoundTripSimpleRuleDrl() throws Exception { DumperTestHelper.DrlFile( "test_simplerule.drl" ); } @Test public void testRoundTripPComplexDrl() throws Exception { DumperTestHelper.DrlFile( "test_complex.drl" ); } @Test public void testRoundTripDRLAnnotations() throws Exception { DumperTestHelper.DrlFile( "test_DumpAnnotations.drl" ); } @Test public void testRoundTripDRLNamedConsequences() throws Exception { DumperTestHelper.DrlFile( "test_NamedConsequences.drl" ); } @Test public void testRoundTripPComplexXml() throws Exception { DumperTestHelper.XmlFile( "test_ParseComplex.xml" ); } @Test public void testRoundTripTraitDeclarations() throws Exception { DumperTestHelper.DrlFile( "test_TraitDeclaration.drl" ); String out = DumperTestHelper.dump( "test_TraitDeclaration.drl" ); assertTrue( out.contains( "declare trait Foo" ) ); } @Test public void testRoundTripEnumDeclarations() throws Exception { DumperTestHelper.DrlFile( "test_EnumDeclaration.drl" ); String out = DumperTestHelper.dump( "test_EnumDeclaration.drl" ); assertTrue( out.contains( "declare enum Planets" ) ); assertTrue( out.contains( "MERCURY" ) ); assertTrue( out.contains( "7.1492e7" ) ); } @Test public void testRoundTripAccumulate() throws Exception { String out = DumperTestHelper.dump( "test_Accumulate.drl" ); assertTrue( out.contains( "$sum : count( $s1 )" ) ); assertFalse( out.contains("null : count( $s2 )") ); assertTrue( out.contains("count( $s2 )") ); } }