@Test
public void testSolutionSets() {

    Solution<String> s1, s2;
    long expTime = StreamProcessor.NEVER_EXPIRE;
    s1 = newSolution(new String[]{}, expTime);
    s2 = newSolution(new String[]{}, expTime);
    assertTrue(s1.equals(s1));
    assertTrue(s1.equals(s2));
    s2 = newSolution(new String[]{"v1"}, expTime);
    assertTrue(s2.equals(s2));
    assertFalse(s1.equals(s2));
    s1 = newSolution(new String[]{"v2"}, expTime);
    assertFalse(s1.equals(s2));
    s1 = newSolution(new String[]{"v1", "v2"}, expTime);
    assertFalse(s1.equals(s2));
    s2 = newSolution(new String[]{"v1", "v2"}, expTime);
    assertTrue(s1.equals(s2));
    s2 = newSolution(new String[]{"v1", "v3"}, expTime);
    assertFalse(s1.equals(s2));
}