Search in sources :

Example 1 with TestCases

use of org.kie.dmn.validation.dtanalysis.mcdc.dmntck.TestCases in project drools by kiegroup.

the class MCDC2TCKGenerator method mcdc2tck.

public static String mcdc2tck(DecisionTable dt, List<PosNegBlock> selectedBlocks) throws JAXBException {
    ObjectFactory factory = new ObjectFactory();
    TestCases testCases = factory.createTestCases();
    Set<Record> mcdcRecords = new LinkedHashSet<>();
    int testCaseId = 1;
    for (PosNegBlock b : selectedBlocks) {
        boolean add = mcdcRecords.add(b.posRecord);
        if (add) {
            appendRecordToTestCases(dt, testCases, String.valueOf(testCaseId), b.posRecord);
            testCaseId++;
        }
        for (Record negRecord : b.negRecords) {
            add = mcdcRecords.add(negRecord);
            if (add) {
                appendRecordToTestCases(dt, testCases, String.valueOf(testCaseId), negRecord);
                testCaseId++;
            }
        }
    }
    JAXBContext jaxbContext = JAXBContext.newInstance(TestCases.class);
    Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
    jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
    StringWriter sw = new StringWriter();
    jaxbMarshaller.marshal(testCases, sw);
    return sw.toString();
}
Also used : LinkedHashSet(java.util.LinkedHashSet) Marshaller(javax.xml.bind.Marshaller) ObjectFactory(org.kie.dmn.validation.dtanalysis.mcdc.dmntck.ObjectFactory) StringWriter(java.io.StringWriter) TestCases(org.kie.dmn.validation.dtanalysis.mcdc.dmntck.TestCases) PosNegBlock(org.kie.dmn.validation.dtanalysis.mcdc.MCDCAnalyser.PosNegBlock) Record(org.kie.dmn.validation.dtanalysis.mcdc.MCDCAnalyser.Record) JAXBContext(javax.xml.bind.JAXBContext)

Aggregations

StringWriter (java.io.StringWriter)1 LinkedHashSet (java.util.LinkedHashSet)1 JAXBContext (javax.xml.bind.JAXBContext)1 Marshaller (javax.xml.bind.Marshaller)1 PosNegBlock (org.kie.dmn.validation.dtanalysis.mcdc.MCDCAnalyser.PosNegBlock)1 Record (org.kie.dmn.validation.dtanalysis.mcdc.MCDCAnalyser.Record)1 ObjectFactory (org.kie.dmn.validation.dtanalysis.mcdc.dmntck.ObjectFactory)1 TestCases (org.kie.dmn.validation.dtanalysis.mcdc.dmntck.TestCases)1