public String compile(final String xls,
                          final String template,
                          int startRow,
                          int startCol) {
        return compile( xls,
                        template,
                        InputType.XLS,
                        startRow,
                        startCol );

    }
@Test
    public void testLoadBasicWithMergedCells() {
        final String drl = converter.compile("/data/BasicWorkbook.drl.xls",
                                              "/templates/test_template3.drl",
                                              InputType.XLS,
                                              10,
                                              2);

        final String drl1 = converter.compile("/data/BasicWorkbook.drl.xls",
                                               "/templates/test_template3.drl",
                                               InputType.XLS,
                                               21,
                                               2);

        assertThat(drl).isNotNull();

        Pattern p = Pattern.compile(".*setIsValid\\(Y\\).*setIsValid\\(Y\\).*setIsValid\\(Y\\).*",
                                     Pattern.DOTALL | Pattern.MULTILINE);
        Matcher m = p.matcher(drl);
        assertThat(m.matches()).isTrue();

        assertThat(drl).contains("This is a function block");
        assertThat(drl).contains("global Class1 obj1;");
        assertThat(drl1).contains("myObject.setIsValid(10-Jul-1974)");
        assertThat(drl).contains("myObject.getColour().equals(blue)");
        assertThat(drl).contains("Foo(myObject.getColour().equals(red), myObject.size() > 12\")");

        assertThat(drl).contains("b: Bar()\n        eval(myObject.size() < 3)");
        assertThat(drl).contains("b: Bar()\n        eval(myObject.size() < 9)");

        assertThat(drl.indexOf("Foo(myObject.getColour().equals(red), myObject.size() > 1)") < drl.indexOf("b: Bar()\n        eval(myObject.size() < 3)")).isTrue();

    }