All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aventstack.extentreports.ExceptionTestContextImpl Maven / Gradle / Ivy

There is a newer version: 5.1.1
Show newest version
package com.aventstack.extentreports;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

import com.aventstack.extentreports.model.ExceptionInfo;
import com.aventstack.extentreports.model.ExceptionTestContext;
import com.aventstack.extentreports.model.Test;

/**
 * Provides and tracks the collection of tests segregated by the type of {@link Exception}
 * 
 */
public class ExceptionTestContextImpl {
    private List exTestContextList;
    
    public ExceptionTestContextImpl() { 
        exTestContextList = new ArrayList<>();
    }
    
    public void setExceptionContext(ExceptionInfo ei, Test test) {
        Optional exOptionalTestContext = exTestContextList
                .stream()
                .filter(x -> x.getExceptionInfo().getExceptionName().equals(ei.getExceptionName()))
                .findFirst();
        
        if (exOptionalTestContext.isPresent()) {
            List testList = exOptionalTestContext.get().getTestList();
            
            boolean b = testList.stream()
                    .anyMatch(t -> t.getID() == test.getID());
            
            if (!b) {
                exOptionalTestContext.get().setTest(test);
            }
        }
        else {
            ExceptionTestContext exTestContext = new ExceptionTestContext(ei);
            exTestContext.setTest(test);
            exTestContextList.add(exTestContext);
        }
    }

    public List getExceptionTestContextList() { 
        return exTestContextList; 
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy