Search in sources :

Example 46 with Detail

use of gov.cms.qpp.conversion.model.error.Detail in project qpp-conversion-tool by CMSgov.

the class TestDefaultValidator method internalValidateSingleNode.

@Override
protected void internalValidateSingleNode(Node node) {
    if (node.getValue("problem") != null) {
        Detail detail = Detail.forErrorCode(ErrorCode.UNEXPECTED_ERROR);
        detail.setMessage("Test validation error for Jenny");
        addValidationError(detail);
    }
}
Also used : Detail(gov.cms.qpp.conversion.model.error.Detail)

Example 47 with Detail

use of gov.cms.qpp.conversion.model.error.Detail in project qpp-conversion-tool by CMSgov.

the class AciDenominatorValidatorTest method tooManyChildrenTest.

@Test
void tooManyChildrenTest() {
    Node aciDenominatorNode = new Node(TemplateId.ACI_DENOMINATOR);
    Node aggregateCountNode1 = new Node(TemplateId.ACI_AGGREGATE_COUNT);
    Node aggregateCountNode2 = new Node(TemplateId.ACI_AGGREGATE_COUNT);
    aggregateCountNode1.putValue("aggregateCount", "100");
    aggregateCountNode2.putValue("aggregateCount", "200");
    aciDenominatorNode.addChildNode(aggregateCountNode1);
    aciDenominatorNode.addChildNode(aggregateCountNode2);
    AciDenominatorValidator validator = new AciDenominatorValidator();
    Set<Detail> errors = validator.validateSingleNode(aciDenominatorNode);
    assertWithMessage("Too many children Validation Error not issued").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.NUMERATOR_DENOMINATOR_CHILD_EXACT.format(AciDenominatorValidator.DENOMINATOR_NAME));
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 48 with Detail

use of gov.cms.qpp.conversion.model.error.Detail in project qpp-conversion-tool by CMSgov.

the class AciDenominatorValidatorTest method incorrectChildrenTest.

@Test
void incorrectChildrenTest() {
    Node aciDenominatorNode = new Node(TemplateId.ACI_DENOMINATOR);
    Node aggregateCountNode = new Node(TemplateId.ACI_SECTION);
    aggregateCountNode.putValue("aggregateCount", "100");
    aciDenominatorNode.addChildNode(aggregateCountNode);
    AciDenominatorValidator validator = new AciDenominatorValidator();
    Set<Detail> errors = validator.validateSingleNode(aciDenominatorNode);
    assertWithMessage("Incorrect child Validation Error not issued").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.NUMERATOR_DENOMINATOR_CHILD_EXACT.format(AciDenominatorValidator.DENOMINATOR_NAME));
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 49 with Detail

use of gov.cms.qpp.conversion.model.error.Detail in project qpp-conversion-tool by CMSgov.

the class AciDenominatorValidatorTest method invalidValueDenominatorNumberTest.

@Test
void invalidValueDenominatorNumberTest() {
    // Not a number check
    Node aciDenominatorNode = new Node(TemplateId.ACI_DENOMINATOR);
    Node aggregateCountNode = new Node(TemplateId.ACI_AGGREGATE_COUNT);
    String value = "-1";
    aggregateCountNode.putValue("aggregateCount", value);
    aciDenominatorNode.addChildNode(aggregateCountNode);
    AciDenominatorValidator validator = new AciDenominatorValidator();
    Set<Detail> errors = validator.validateSingleNode(aciDenominatorNode);
    assertWithMessage("Invalid Value Validation Error not issued").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.NUMERATOR_DENOMINATOR_INVALID_VALUE.format(AciDenominatorValidator.DENOMINATOR_NAME));
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 50 with Detail

use of gov.cms.qpp.conversion.model.error.Detail in project qpp-conversion-tool by CMSgov.

the class AciDenominatorValidatorTest method noChildrenTest.

@Test
void noChildrenTest() {
    Node aciDenominatorNode = new Node(TemplateId.ACI_DENOMINATOR);
    AciDenominatorValidator validator = new AciDenominatorValidator();
    Set<Detail> errors = validator.validateSingleNode(aciDenominatorNode);
    assertWithMessage("No Children Validation Error not issued").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.NUMERATOR_DENOMINATOR_MISSING_CHILDREN.format(AciDenominatorValidator.DENOMINATOR_NAME));
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Aggregations

Detail (gov.cms.qpp.conversion.model.error.Detail)123 Test (org.junit.jupiter.api.Test)108 Node (gov.cms.qpp.conversion.model.Node)105 LocalizedError (gov.cms.qpp.conversion.model.error.LocalizedError)16 Converter (gov.cms.qpp.conversion.Converter)9 AllErrors (gov.cms.qpp.conversion.model.error.AllErrors)9 TransformException (gov.cms.qpp.conversion.model.error.TransformException)9 PathSource (gov.cms.qpp.conversion.PathSource)8 ArrayList (java.util.ArrayList)6 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)6 Context (gov.cms.qpp.conversion.Context)4 Test (org.junit.Test)4 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)4 QrdaDecoderEngine (gov.cms.qpp.conversion.decode.QrdaDecoderEngine)3 FormattedErrorCode (gov.cms.qpp.conversion.model.error.FormattedErrorCode)3 Path (java.nio.file.Path)2 LinkedHashSet (java.util.LinkedHashSet)2 InputStreamSupplierSource (gov.cms.qpp.conversion.InputStreamSupplierSource)1 JsonWrapper (gov.cms.qpp.conversion.encode.JsonWrapper)1 TemplateId (gov.cms.qpp.conversion.model.TemplateId)1