@Test
public void testLoadBasicWithMergedCells() {

    final ExternalSpreadsheetCompiler converter = new ExternalSpreadsheetCompiler();
    final String drl = converter.compile( "/data/BasicWorkbook.xls",
                                          "/templates/test_template3.drl",
                                          InputType.XLS,
                                          10,
                                          2 );
    final String drl1 = converter.compile( "/data/BasicWorkbook.xls",
                                           "/templates/test_template3.drl",
                                           InputType.XLS,
                                           21,
                                           2 );
    assertNotNull( drl );
    Pattern p = Pattern.compile( ".*setIsValid\\(Y\\).*setIsValid\\(Y\\).*setIsValid\\(Y\\).*",
                                 Pattern.DOTALL | Pattern.MULTILINE );
    Matcher m = p.matcher( drl );
    assertTrue( m.matches() );
    assertTrue( drl.indexOf( "This is a function block" ) > -1 );
    assertTrue( drl.indexOf( "global Class1 obj1;" ) > -1 );
    assertTrue( drl1.indexOf( "myObject.setIsValid(10-Jul-1974)" ) > -1 );
    assertTrue( drl.indexOf( "myObject.getColour().equals(blue)" ) > -1 );
    assertTrue( drl.indexOf( "Foo(myObject.getColour().equals(red), myObject.size() > 12\")" ) > -1 );
    assertTrue( drl.indexOf( "b: Bar()\n        eval(myObject.size() < 3)" ) > -1 );
    assertTrue( drl.indexOf( "b: Bar()\n        eval(myObject.size() < 9)" ) > -1 );
    assertTrue( drl.indexOf( "Foo(myObject.getColour().equals(red), myObject.size() > 1)" ) < drl.indexOf( "b: Bar()\n        eval(myObject.size() < 3)" ) );
}