blob: 52d20e32f3f61253a824f9a09c3b738fb6a7ef97 [file] [log] [blame]
/**********************************************************************
* Copyright (c) 2012, 2014 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Bernd Hufmann - Initial API and implementation
* Alexandre Montplaisir - Port to JUnit4
**********************************************************************/
package org.eclipse.tracecompass.lttng2.control.core.tests.model.impl;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.eclipse.tracecompass.internal.lttng2.control.core.model.ITraceInfo;
import org.eclipse.tracecompass.internal.lttng2.control.core.model.impl.TraceInfo;
import org.junit.Before;
import org.junit.Test;
/**
* The class <code>TraceInfoTest</code> contains test for the class
* <code>{@link TraceInfo}</code>.
*/
public class TraceInfoTest {
// ------------------------------------------------------------------------
// Test data
// ------------------------------------------------------------------------
private ITraceInfo fTraceInfo1 = null;
private ITraceInfo fTraceInfo2 = null;
// ------------------------------------------------------------------------
// Housekeeping
// ------------------------------------------------------------------------
/**
* Perform pre-test initialization.
*/
@Before
public void setUp() {
fTraceInfo1 = new TraceInfo("event1");
fTraceInfo2 = new TraceInfo("event2");
}
// ------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------
/**
* Run the BaseEventInfo() constructor test.
*/
@Test
public void testTraceInfo() {
TraceInfo fixture = new TraceInfo("event");
assertNotNull(fixture);
assertEquals("event", fixture.getName());
}
/**
* Test Copy Constructor
*/
@Test
public void testTraceInfo2() {
try {
String name = null;
new TraceInfo(name);
fail("null name in custructor");
}
catch (IllegalArgumentException e) {
// Success
}
}
/**
* Test Copy Constructor
*/
@Test
public void testTraceInfoCopy() {
TraceInfo info = new TraceInfo((TraceInfo)fTraceInfo1);
assertEquals(fTraceInfo1.getName(), info.getName());
}
/**
* Test Copy Constructor
*/
@Test
public void testTraceCopy2() {
try {
TraceInfo info = null;
new TraceInfo(info);
fail("null copy");
}
catch (IllegalArgumentException e) {
// Success
}
}
/**
* Run the void setEventType(String) method test.
*/
@Test
public void testSetName() {
TraceInfo fixture = new TraceInfo("event");
fixture.setName("newName");
assertEquals("newName", fixture.getName());
}
/**
* Run the String toString() method test.
*/
@Test
public void testToString_1() {
String result = fTraceInfo1.toString();
// add additional test code here
assertEquals("[TraceInfo(Name=event1)]", result);
}
// ------------------------------------------------------------------------
// equals
// ------------------------------------------------------------------------
/**
* Run the equals() method test.
*/
@Test
public void testEqualsReflexivity() {
assertTrue("equals", fTraceInfo1.equals(fTraceInfo1));
assertTrue("equals", fTraceInfo2.equals(fTraceInfo2));
assertTrue("equals", !fTraceInfo1.equals(fTraceInfo2));
assertTrue("equals", !fTraceInfo2.equals(fTraceInfo1));
}
/**
* Run the equals() method test.
*/
@Test
public void testEqualsSymmetry() {
TraceInfo info1 = new TraceInfo((TraceInfo)fTraceInfo1);
TraceInfo info2 = new TraceInfo((TraceInfo)fTraceInfo2);
assertTrue("equals", info1.equals(fTraceInfo1));
assertTrue("equals", fTraceInfo1.equals(info1));
assertTrue("equals", info2.equals(fTraceInfo2));
assertTrue("equals", fTraceInfo2.equals(info2));
}
/**
* Run the equals() method test.
*/
@Test
public void testEqualsTransivity() {
TraceInfo info1 = new TraceInfo((TraceInfo)fTraceInfo1);
TraceInfo info2 = new TraceInfo((TraceInfo)fTraceInfo1);
TraceInfo info3 = new TraceInfo((TraceInfo)fTraceInfo1);
assertTrue("equals", info1.equals(info2));
assertTrue("equals", info2.equals(info3));
assertTrue("equals", info1.equals(info3));
}
/**
* Run the equals() method test.
*/
@Test
public void testEqualsNull() {
assertTrue("equals", !fTraceInfo1.equals(null));
assertTrue("equals", !fTraceInfo2.equals(null));
}
// ------------------------------------------------------------------------
// hashCode
// ------------------------------------------------------------------------
/**
* Run the hashCode() method test.
*/
@Test
public void testHashCode() {
TraceInfo info1 = new TraceInfo((TraceInfo)fTraceInfo1);
TraceInfo info2 = new TraceInfo((TraceInfo)fTraceInfo2);
assertTrue("hashCode", fTraceInfo1.hashCode() == info1.hashCode());
assertTrue("hashCode", fTraceInfo2.hashCode() == info2.hashCode());
assertTrue("hashCode", fTraceInfo1.hashCode() != info2.hashCode());
assertTrue("hashCode", fTraceInfo2.hashCode() != info1.hashCode());
}
}