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

net.thucydides.core.model.DataTableRow Maven / Gradle / Ivy

package net.thucydides.core.model;

import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;

import java.util.List;

public class DataTableRow {
    private List values;  // A list of strings or integers
    private TestResult result;

    public DataTableRow(List values) {
        this(values, TestResult.UNDEFINED);
    }

    public DataTableRow(List values, TestResult result) {
        this.values = ImmutableList.copyOf(values);
        this.result = result;
    }

    public List getValues() {
        return ImmutableList.copyOf(values);
    }

    public List getStringValues() {

        return Lists.transform(values, new Function() {
            @Override
            public String apply(Object o) {
                return o== null ? "" : o.toString();
            }
        });
    }

    public TestResult getResult() {
        return result;
    }

    public void setResult(TestResult result) {
        this.result = result;
    }

    public void updateResult(TestResult newResult) {
        if (newResult == TestResult.UNDEFINED) {
            setResult(newResult);
        } else {
            setResult(TestResultComparison.overallResultFor(this.result, newResult));
        }
    }

    @Override
    public String toString() {
        return "DataTableRow{" +
                "values=" + values +
                ", result=" + result +
                '}';
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy