1
/*******************************************************************************
2
* Copyright (c) 2006 IBM Corporation.
3
* All rights reserved. This program and the accompanying materials
4
* are made available under the terms of the Eclipse Public License v1.0
5
* which accompanies this distribution, and is available at
6
* http://www.eclipse.org/legal/epl-v10.html
9
* IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
10
*******************************************************************************/
12
package org.eclipse.linuxtools.systemtap.graphing.core.tests.filters;
14
import static org.junit.Assert.assertEquals;
15
import static org.junit.Assert.assertNotNull;
16
import static org.junit.Assert.assertNull;
18
import java.util.ArrayList;
19
import java.util.List;
21
import org.eclipse.linuxtools.systemtap.graphing.core.aggregates.MaxAggregate;
22
import org.eclipse.linuxtools.systemtap.graphing.core.aggregates.SumAggregate;
23
import org.eclipse.linuxtools.systemtap.graphing.core.filters.UniqueFilter;
24
import org.eclipse.linuxtools.systemtap.graphing.core.tests.MockDataSet;
25
import org.junit.Before;
26
import org.junit.Test;
28
public class UniqueFilterTest {
31
filter = new UniqueFilter(0, new SumAggregate());
34
public void testUniqueFilter() {
35
filter = new UniqueFilter(-1, new MaxAggregate());
36
assertNotNull(filter);
39
public void testFilter() {
42
int wrap = height / 3;
43
ArrayList<Object>[] data = MockDataSet.buildArray(width, height, wrap);
45
assertEquals(width, data.length);
46
assertEquals(height, data[0].size());
48
List<Object>[] data2 = filter.filter(data);
50
assertEquals(width, data.length);
51
assertEquals(height, data[0].size());
52
assertEquals(width, data2.length);
53
assertEquals(wrap, data2[0].size());
54
assertEquals("1", data2[0].get(0));
55
assertEquals("2", data2[0].get(1));
56
assertEquals("0", data2[0].get(2));
58
assertEquals(0, ((Number)data2[2].get(0)).intValue());
59
assertEquals(3, ((Number)data2[2].get(1)).intValue());
60
assertEquals(8, ((Number)data2[2].get(2)).intValue());
62
filter = new UniqueFilter(-1, new SumAggregate());
63
assertNull(filter.filter(null));
65
data = MockDataSet.createArrayList(2, new Object());
66
data[0] = new ArrayList<>();
67
data[1] = new ArrayList<>();
73
filter = new UniqueFilter(0, new SumAggregate());
74
assertNotNull(filter.filter(data));
77
public void testGetID() {
78
assertEquals(UniqueFilter.ID, filter.getID());
81
private UniqueFilter filter;