Search in sources :

Example 81 with Detail

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

the class IaSectionValidatorTest method testTooManyReportingParameters.

@Test
void testTooManyReportingParameters() {
    Node invalidParamActNode = new Node(TemplateId.REPORTING_PARAMETERS_ACT);
    iaSectionNode.addChildNodes(iaMeasureNode, reportingParamActNode, invalidParamActNode);
    Set<Detail> errors = validatorIaSection();
    assertWithMessage("Must contain correct children").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.IA_SECTION_MISSING_REPORTING_PARAM);
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 82 with Detail

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

the class MeasureDataValidatorTest method missingAggregateCount.

@Test
void missingAggregateCount() throws Exception {
    Node testNode = new Node(TemplateId.MEASURE_DATA_CMS_V2);
    MeasureDataValidator validator = new MeasureDataValidator();
    validator.internalValidateSingleNode(testNode);
    Set<Detail> errors = validator.getDetails();
    assertWithMessage("missing error").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.MEASURE_PERFORMED_MISSING_AGGREGATE_COUNT);
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 83 with Detail

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

the class MeasureDataValidatorTest method negativeAggregateCountsFails.

@Test
void negativeAggregateCountsFails() throws Exception {
    Node aggregateCount = new Node(TemplateId.ACI_AGGREGATE_COUNT);
    aggregateCount.putValue("aggregateCount", "-1");
    Node testNode = new Node(TemplateId.MEASURE_DATA_CMS_V2);
    testNode.addChildNodes(aggregateCount);
    MeasureDataValidator validator = new MeasureDataValidator();
    validator.internalValidateSingleNode(testNode);
    Set<Detail> errors = validator.getDetails();
    assertWithMessage("missing error").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsExactly(ErrorCode.MEASURE_DATA_VALUE_NOT_INTEGER);
}
Also used : Node(gov.cms.qpp.conversion.model.Node) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 84 with Detail

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

the class MeasureDataValidatorTest method multipleNegativeMeasureDataTest.

@Test
void multipleNegativeMeasureDataTest() throws Exception {
    // setup
    Path path = Paths.get("src/test/resources/negative/angerMeasureDataValidations.xml");
    // execute
    Converter converter = new Converter(new PathSource(path));
    AllErrors allErrors = new AllErrors();
    try {
        converter.transform();
    } catch (TransformException exception) {
        allErrors = exception.getDetails();
    }
    List<Detail> errors = getErrors(allErrors);
    assertWithMessage("Must contain the error").that(errors).comparingElementsUsing(DetailsErrorEquals.INSTANCE).containsAllOf(ErrorCode.AGGREGATE_COUNT_VALUE_NOT_INTEGER, ErrorCode.AGGREGATE_COUNT_VALUE_NOT_SINGULAR, ErrorCode.MEASURE_DATA_VALUE_NOT_INTEGER);
}
Also used : Path(java.nio.file.Path) AllErrors(gov.cms.qpp.conversion.model.error.AllErrors) PathSource(gov.cms.qpp.conversion.PathSource) TransformException(gov.cms.qpp.conversion.model.error.TransformException) Converter(gov.cms.qpp.conversion.Converter) Detail(gov.cms.qpp.conversion.model.error.Detail) Test(org.junit.jupiter.api.Test)

Example 85 with Detail

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

the class MeasureDataValidatorTest method internalValidateSingleNode.

@Test
void internalValidateSingleNode() throws Exception {
    String happy = TestHelper.getFixture("measureDataHappy.xml");
    Node placeholder = new QrdaDecoderEngine(new Context()).decode(XmlUtils.stringToDom(happy));
    MeasureDataValidator validator = new MeasureDataValidator();
    Node underTest = placeholder.findFirstNode(TemplateId.MEASURE_DATA_CMS_V2);
    validator.internalValidateSingleNode(underTest);
    Set<Detail> errors = validator.getDetails();
    assertWithMessage("Expect no errors on the happy path").that(errors).isEmpty();
}
Also used : Context(gov.cms.qpp.conversion.Context) Node(gov.cms.qpp.conversion.model.Node) QrdaDecoderEngine(gov.cms.qpp.conversion.decode.QrdaDecoderEngine) 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