1 /*******************************************************************************
2 * Copyright (c) 2014 Ericsson
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Bernd Hufmann - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.core
.tests
.filter
;
15 import static org
.junit
.Assert
.assertEquals
;
16 import static org
.junit
.Assert
.assertFalse
;
17 import static org
.junit
.Assert
.assertNotEquals
;
18 import static org
.junit
.Assert
.assertNull
;
19 import static org
.junit
.Assert
.assertTrue
;
21 import org
.eclipse
.linuxtools
.internal
.tmf
.core
.filter
.TmfCollapseFilter
;
22 import org
.eclipse
.linuxtools
.tmf
.core
.event
.ITmfEvent
;
23 import org
.eclipse
.linuxtools
.tmf
.core
.event
.ITmfEventField
;
24 import org
.eclipse
.linuxtools
.tmf
.core
.event
.ITmfEventType
;
25 import org
.eclipse
.linuxtools
.tmf
.core
.event
.TmfEvent
;
26 import org
.eclipse
.linuxtools
.tmf
.core
.event
.TmfEventField
;
27 import org
.eclipse
.linuxtools
.tmf
.core
.event
.TmfEventType
;
28 import org
.eclipse
.linuxtools
.tmf
.core
.event
.collapse
.ITmfCollapsibleEvent
;
29 import org
.eclipse
.linuxtools
.tmf
.core
.timestamp
.ITmfTimestamp
;
30 import org
.eclipse
.linuxtools
.tmf
.core
.timestamp
.TmfNanoTimestamp
;
31 import org
.eclipse
.linuxtools
.tmf
.core
.trace
.ITmfTrace
;
32 import org
.junit
.Test
;
35 * Test suite for the {@link TmfCollpaseFilter} class.
37 * @author Bernd Hufmann
39 @SuppressWarnings("javadoc")
40 public class TmfCollapseFilterTest
{
42 // ------------------------------------------------------------------------
44 // ------------------------------------------------------------------------
46 private CollapsibleEvent fCollapsibleEvent1
= new CollapsibleEvent(true);
47 private CollapsibleEvent fCollapsibleEvent2
= new CollapsibleEvent(true);
48 private CollapsibleEvent fCollapsibleEvent3
= new CollapsibleEvent(false);
49 private NonCollapsibleEvent fNonCollapsibleEvent1
= new NonCollapsibleEvent();
50 private TmfCollapseFilter fFilter
= new TmfCollapseFilter();
52 // ------------------------------------------------------------------------
54 // ------------------------------------------------------------------------
57 public void testMatches() {
59 TmfCollapseFilter filter
= new TmfCollapseFilter();
61 assertTrue(filter
.matches(fCollapsibleEvent1
));
62 assertFalse(filter
.matches(fCollapsibleEvent2
));
63 assertFalse(filter
.matches(fCollapsibleEvent1
));
64 assertFalse(filter
.matches(fCollapsibleEvent2
));
65 assertTrue(filter
.matches(fNonCollapsibleEvent1
));
66 assertTrue(filter
.matches(fNonCollapsibleEvent1
));
67 assertTrue(filter
.matches(fCollapsibleEvent1
));
68 assertFalse(filter
.matches(fCollapsibleEvent2
));
69 assertTrue(filter
.matches(fCollapsibleEvent3
));
73 public void testInterfaces() {
74 assertNull("getParent()", fFilter
.getParent());
75 assertEquals("getName()", "Collapse", fFilter
.getNodeName());
76 assertEquals("hasChildren()", false, fFilter
.hasChildren());
77 assertEquals("getChildrenCount()", 0, fFilter
.getChildrenCount());
78 assertEquals("getChildren()", 0, fFilter
.getChildren().length
);
82 public void testClone() {
83 assertNotEquals("clone()", fFilter
, fFilter
.clone());
86 @Test(expected
=UnsupportedOperationException
.class)
87 public void testGetChild() {
91 @Test(expected
=UnsupportedOperationException
.class)
92 public void testRemove() {
96 @Test(expected
=UnsupportedOperationException
.class)
97 public void testRemoveChild() {
98 fFilter
.removeChild(null);
101 @Test(expected
=UnsupportedOperationException
.class)
102 public void testAddChild() {
103 fFilter
.addChild(null);
106 @Test(expected
=UnsupportedOperationException
.class)
107 public void testReplaceChild() {
108 fFilter
.replaceChild(0, null);
111 @Test(expected
=UnsupportedOperationException
.class)
112 public void testGetValidChildren() {
113 fFilter
.getValidChildren();
116 // ------------------------------------------------------------------------
118 // ------------------------------------------------------------------------
120 private class CollapsibleEvent
extends TmfEvent
implements ITmfCollapsibleEvent
{
122 private final boolean fIsCollapsible
;
123 CollapsibleEvent(boolean isCollapsible
) {
125 fIsCollapsible
= isCollapsible
;
128 public boolean isCollapsibleWith(ITmfEvent otherEvent
) {
129 return ((CollapsibleEvent
)otherEvent
).fIsCollapsible
;
133 private class NonCollapsibleEvent
implements ITmfEvent
{
136 public Object
getAdapter(Class adapter
) {
140 public ITmfTrace
getTrace() {
144 public long getRank() {
148 public ITmfTimestamp
getTimestamp() {
149 return new TmfNanoTimestamp(100);
152 public String
getSource() {
156 public ITmfEventType
getType() {
157 return new TmfEventType();
160 public ITmfEventField
getContent() {
161 return new TmfEventField("testField", "test", null);
164 public String
getReference() {