Fix + initial test

This commit is contained in:
dotasek 2022-02-25 11:25:27 -05:00
parent 474fc014c4
commit baac4ac1a8
2 changed files with 50 additions and 1 deletions

View File

@ -2219,7 +2219,7 @@ public class FHIRPathEngine {
if (!Utilities.noString(f)) {
if (exp.getParameters().size() != 2) {
if (exp.getParameters().size() == 2) {
String t = convertToString(execute(context, focus, exp.getParameters().get(0), true));
String r = convertToString(execute(context, focus, exp.getParameters().get(1), true));

View File

@ -0,0 +1,49 @@
package org.hl7.fhir.dstu3.utils;
import org.hl7.fhir.dstu3.context.IWorkerContext;
import org.hl7.fhir.dstu3.model.Base;
import org.hl7.fhir.dstu3.model.ExpressionNode;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
@ExtendWith(MockitoExtension.class)
public class FhirPathTests {
@Mock
IWorkerContext iWorkerContext;
@Mock
Object appContext;
@Mock
Base resource;
@Mock
Base base;
@Test
public void testFuncReplaceParamSize() {
FHIRPathEngine engine = Mockito.spy(new FHIRPathEngine(iWorkerContext));
ExpressionNode expressionNode = new ExpressionNode(0);
expressionNode.setKind(ExpressionNode.Kind.Function);
expressionNode.setFunction(ExpressionNode.Function.Replace);
ExpressionNode expressionNodeB = new ExpressionNode(1);
expressionNodeB.setKind(ExpressionNode.Kind.Function);
expressionNodeB.setFunction(ExpressionNode.Function.Empty);
ExpressionNode expressionNodeC = new ExpressionNode(2);
expressionNodeC.setKind(ExpressionNode.Kind.Function);
expressionNodeC.setFunction(ExpressionNode.Function.Empty);
expressionNode.getParameters().add(expressionNodeB);
expressionNode.getParameters().add(expressionNodeC);
engine.evaluate(appContext, resource, base, expressionNode);
}
}