Example usage for com.google.common.collect ImmutableSortedMultiset copyOf

List of usage examples for com.google.common.collect ImmutableSortedMultiset copyOf

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableSortedMultiset copyOf.

Prototype

public static <E> ImmutableSortedMultiset<E> copyOf(Comparator<? super E> comparator,
        Iterable<? extends E> elements) 

Source Link

Document

Returns an immutable sorted multiset containing the given elements sorted by the given Comparator .

Usage

From source file:org.bin01.db.verifier.Validator.java

private static boolean resultsMatch(QueryResult controlResult, QueryResult testResult) {
    SortedMultiset<List<Object>> control = ImmutableSortedMultiset.copyOf(rowComparator(),
            controlResult.getResults());
    SortedMultiset<List<Object>> test = ImmutableSortedMultiset.copyOf(rowComparator(),
            testResult.getResults());// w ww . j  a  v  a2s .  c om
    try {
        return control.equals(test);
    } catch (TypesDoNotMatchException e) {
        return false;
    }
}

From source file:org.bin01.db.verifier.Validator.java

public String getResultsComparison() {
    List<List<Object>> controlResults = controlResult.getResults();
    List<List<Object>> testResults = testResult.getResults();

    if (valid() || (controlResults == null) || (testResults == null)) {
        return "";
    }//  w w  w. j a va 2  s.  com

    Multiset<List<Object>> control = ImmutableSortedMultiset.copyOf(rowComparator(), controlResults);
    Multiset<List<Object>> test = ImmutableSortedMultiset.copyOf(rowComparator(), testResults);

    try {
        Iterable<ChangedRow> diff = ImmutableSortedMultiset.<ChangedRow>naturalOrder()
                .addAll(Iterables.transform(Multisets.difference(control, test),
                        ChangedRow.changedRows(Changed.REMOVED)))
                .addAll(Iterables.transform(Multisets.difference(test, control),
                        ChangedRow.changedRows(Changed.ADDED)))
                .build();
        diff = Iterables.limit(diff, 100);

        StringBuilder sb = new StringBuilder();

        sb.append(format("Control %s rows, Test %s rows%n", control.size(), test.size()));
        if (verboseResultsComparison) {
            Joiner.on("\n").appendTo(sb, diff);
        } else {
            sb.append("RESULTS DO NOT MATCH\n");
        }

        return sb.toString();
    } catch (TypesDoNotMatchException e) {
        return e.getMessage();
    }
}

From source file:io.prestosql.verifier.Validator.java

private static boolean resultsMatch(QueryResult controlResult, QueryResult testResult, int precision) {
    SortedMultiset<List<Object>> control = ImmutableSortedMultiset.copyOf(rowComparator(precision),
            controlResult.getResults());
    SortedMultiset<List<Object>> test = ImmutableSortedMultiset.copyOf(rowComparator(precision),
            testResult.getResults());/*  w  ww. ja  va2 s . c om*/
    try {
        return control.equals(test);
    } catch (TypesDoNotMatchException e) {
        return false;
    }
}

From source file:io.prestosql.verifier.Validator.java

public String getResultsComparison(int precision) {
    List<List<Object>> controlResults = controlResult.getResults();
    List<List<Object>> testResults = testResult.getResults();

    if (valid() || (controlResults == null) || (testResults == null)) {
        return "";
    }/*  w  w w.  ja v a2 s. c o m*/

    Multiset<List<Object>> control = ImmutableSortedMultiset.copyOf(rowComparator(precision), controlResults);
    Multiset<List<Object>> test = ImmutableSortedMultiset.copyOf(rowComparator(precision), testResults);

    try {
        Iterable<ChangedRow> diff = ImmutableSortedMultiset.<ChangedRow>naturalOrder()
                .addAll(Iterables.transform(Multisets.difference(control, test),
                        row -> new ChangedRow(Changed.REMOVED, row, precision)))
                .addAll(Iterables.transform(Multisets.difference(test, control),
                        row -> new ChangedRow(Changed.ADDED, row, precision)))
                .build();
        diff = Iterables.limit(diff, 100);

        StringBuilder sb = new StringBuilder();

        sb.append(format("Control %s rows, Test %s rows%n", control.size(), test.size()));
        if (verboseResultsComparison) {
            Joiner.on("\n").appendTo(sb, diff);
        } else {
            sb.append("RESULTS DO NOT MATCH\n");
        }

        return sb.toString();
    } catch (TypesDoNotMatchException e) {
        return e.getMessage();
    }
}