package com.spotify.heroic.metadata; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import com.spotify.heroic.AbstractReducedResultTest; import com.spotify.heroic.common.OptionalLimit; import com.spotify.heroic.common.Series; import com.spotify.heroic.test.LombokDataTest; import org.junit.Before; import org.junit.Test; import java.util.Set; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class FindSeriesTest extends AbstractReducedResultTest { final Series a = Series.of("foo"); final Series b = Series.of("bar"); final Series c = Series.of("baz"); private FindSeries s1; private FindSeries s2; private FindSeries s3; @Before public void setup() { s1 = new FindSeries(errors, ImmutableSet.of(a), false); s2 = new FindSeries(ImmutableList.of(), ImmutableSet.of(a, b), false); s3 = new FindSeries(ImmutableList.of(), ImmutableSet.of(c), false); } @Test public void lombokDataTest() { LombokDataTest.verifyClass(FindSeries.class); } @Test public void reduceTest() throws Exception { final Set<Series> all = ImmutableSet.of(a, b, c); assertEquals(new FindSeries(errors, all, false), FindSeries.reduce(OptionalLimit.empty()).collect(ImmutableList.of(s1, s2, s3))); final FindSeries find = FindSeries.reduce(OptionalLimit.of(2)).collect(ImmutableList.of(s1, s2, s3)); assertEquals(2, find.getSeries().size()); assertTrue(find.isLimited()); assertEquals(1, Sets.difference(all, find.getSeries()).size()); } }