Package org.pentaho.openformula.ui.model2

Examples of org.pentaho.openformula.ui.model2.FunctionInformation


  private FormulaDocument document;
  private int caretPosition;

  public FormulaEditorModel()
  {
    document = new FormulaDocument();
    caretPosition = 0;
  }
View Full Code Here


  }

  public void testNestedParameterReplacement2()
  {
    final ParameterUpdateEvent event = new ParameterUpdateEvent(this, 0, "AND(1; (1 + 1))", true);
    final FormulaDocument doc = new FormulaDocument();
    doc.setText("=IF(;SUM();)");
    final FunctionInformation fn = doc.getFunctionForPosition(9);
    assertEquals("SUM", fn.getCanonicalName());

    final FunctionParameterEditHelper.EditResult editResult =
        FunctionParameterEditHelper.buildFormulaText(event, fn, doc.getText());

    assertEquals("=IF(;SUM(AND(1; (1 + 1)));)", editResult.text);
    assertEquals(24, editResult.caretPositionAfterEdit);
  }
View Full Code Here

    assertEquals(24, editResult.caretPositionAfterEdit);
  }

  public void testCatchAllParameterReplacementFixedPart()
  {
    final FormulaDocument doc = new FormulaDocument();
    doc.setText("=MESSAGE(\"Test\"; 1 ; 2)");
    final FunctionInformation fn = doc.getFunctionForPosition(1);

    final ParameterUpdateEvent event = new ParameterUpdateEvent(this, 0, "[Some parameter]", true);
    final FunctionParameterEditHelper.EditResult editResult =
        FunctionParameterEditHelper.buildFormulaText(event, fn, doc.getText());

    assertEquals("=MESSAGE([Some parameter]; 1 ; 2)", editResult.text);
    assertEquals(25, editResult.caretPositionAfterEdit);
  }
View Full Code Here

    assertEquals(25, editResult.caretPositionAfterEdit);
  }

  public void testCatchAllParameterReplacementSoftPart()
  {
    final FormulaDocument doc = new FormulaDocument();
    doc.setText("=MESSAGE(\"Test\"; 1 ; 2)");
    final FunctionInformation fn = doc.getFunctionForPosition(1);

    final ParameterUpdateEvent event = new ParameterUpdateEvent(this, 2, "[Some parameter]", true);
    final FunctionParameterEditHelper.EditResult editResult =
        FunctionParameterEditHelper.buildFormulaText(event, fn, doc.getText());

    assertEquals("=MESSAGE(\"Test\"; 1 ;[Some parameter])", editResult.text);
    assertEquals(36, editResult.caretPositionAfterEdit);
  }
View Full Code Here

    assertEquals(36, editResult.caretPositionAfterEdit);
  }

  public void testCatchAllParameterReplacementSoftPart2()
  {
    final FormulaDocument doc = new FormulaDocument();
    doc.setText("=MESSAGE(\"Test\"; 1 ; 2)");
    final FunctionInformation fn = doc.getFunctionForPosition(1);

    final ParameterUpdateEvent event = new ParameterUpdateEvent(this, 3, "[Some parameter]", true);
    final FunctionParameterEditHelper.EditResult editResult =
        FunctionParameterEditHelper.buildFormulaText(event, fn, doc.getText());

    assertEquals("=MESSAGE(\"Test\"; 1 ; 2;[Some parameter])", editResult.text);
    assertEquals(39, editResult.caretPositionAfterEdit);
  }
View Full Code Here

    assertEquals(39, editResult.caretPositionAfterEdit);
  }

  public void testOptimizeCatchAll()
  {
    final FormulaDocument doc = new FormulaDocument();
    doc.setText("=MESSAGE(\"Test\";;;;)");
    final FunctionInformation fn = doc.getFunctionForPosition(1);

    final ParameterUpdateEvent event = new ParameterUpdateEvent(this, 3, "[Some parameter]", true);
    String text = doc.getText();
    final FunctionParameterEditHelper.EditResult editResult =
        FunctionParameterEditHelper.buildFormulaText(event, fn, text);

    assertEquals("=MESSAGE(\"Test\";;;[Some parameter])", editResult.text);
    assertEquals(34, editResult.caretPositionAfterEdit);
View Full Code Here

    assertEquals(34, editResult.caretPositionAfterEdit);
  }

  public void testOptimizeCatchAll2()
  {
    final FormulaDocument doc = new FormulaDocument();
    doc.setText("=MESSAGE(\"Test\";;;;;;)");
    final FunctionInformation fn = doc.getFunctionForPosition(1);

    final ParameterUpdateEvent event = new ParameterUpdateEvent(this, 3, "[Some parameter]", true);
    String text = doc.getText();
    final FunctionParameterEditHelper.EditResult editResult =
        FunctionParameterEditHelper.buildFormulaText(event, fn, text);

    assertEquals("=MESSAGE(\"Test\";;;[Some parameter])", editResult.text);
    assertEquals(34, editResult.caretPositionAfterEdit);
View Full Code Here

    super(s);
  }

  public void testParseFunction() throws BadLocationException
  {
    FormulaDocument doc = new FormulaDocument();
    final String str = "=IF(IF([a];[b];\"C\");[c]; [d]) ";
    doc.insertString(0, str, null);
    final FormulaRootElement element = doc.getRootElement();
    assertEquals("Length", str.length(), doc.getLength());
    assertEquals("Number of elements: ", 17, element.getElementCount());
  }
View Full Code Here

    assertEquals("Number of elements: ", 17, element.getElementCount());
  }

  public void testParseFunctionBad() throws BadLocationException
  {
    FormulaDocument doc = new FormulaDocument();
    final String str = "=IF(IF([a];[b];\"C\"));[c]; [d]) ";
    doc.insertString(0, str, null);
    final FormulaRootElement element = doc.getRootElement();
    assertEquals("Length", str.length(), doc.getLength());
    assertEquals("Number of elements: ", 18, element.getElementCount());
  }
View Full Code Here

    assertEquals("Number of elements: ", 18, element.getElementCount());
  }
 
  public void testParseFunctionBad2() throws BadLocationException
  {
    FormulaDocument doc = new FormulaDocument();
    final String str = "=IF(([a];[b];\"C\"));[c]; [d]) ";
    doc.insertString(0, str, null);
    final FormulaRootElement element = doc.getRootElement();
    assertEquals("Length", str.length(), doc.getLength());
    assertEquals("Number of elements: ", 17, element.getElementCount());
  }
View Full Code Here

TOP

Related Classes of org.pentaho.openformula.ui.model2.FunctionInformation

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.