blob: 96df0e3b3275f20f8ce16c2ace5f3cdb96f3b5b4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013, 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:
* Matthew Khouzam - Initial API and implementation
*******************************************************************************/
package org.eclipse.tracecompass.ctf.core.tests.trace;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.io.FilenameFilter;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.tracecompass.ctf.core.CTFException;
import org.eclipse.tracecompass.ctf.core.event.types.IDefinition;
import org.eclipse.tracecompass.ctf.core.tests.shared.CtfTestTraceUtils;
import org.eclipse.tracecompass.ctf.core.trace.CTFStreamInput;
import org.eclipse.tracecompass.ctf.core.trace.ICTFStream;
import org.eclipse.tracecompass.internal.ctf.core.trace.CTFStream;
import org.eclipse.tracecompass.testtraces.ctf.CtfTestTrace;
import org.junit.Before;
import org.junit.Test;
/**
* The class <code>StreamInputTest</code> contains tests for the class
* <code>{@link CTFStreamInput}</code>.
*
* @author ematkho
* @version $Revision: 1.0 $
*/
@SuppressWarnings("javadoc")
public class CTFStreamInputTest {
private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
private CTFStreamInput fixture;
/**
* Perform pre-test initialization.
*
* @throws CTFException
*/
@Before
public void setUp() throws CTFException {
fixture = new CTFStreamInput(new CTFStream(CtfTestTraceUtils.getTrace(testTrace)), createFile());
fixture.setTimestampEnd(1L);
}
private static @NonNull File createFile() throws CTFException {
File path = new File(CtfTestTraceUtils.getTrace(testTrace).getPath());
final File[] listFiles = path.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
if (name.contains("hann")) {
return true;
}
return false;
}
});
assertNotNull(listFiles);
final File returnFile = listFiles[0];
assertNotNull(returnFile);
return returnFile;
}
/**
* Run the StreamInput(Stream,FileChannel,File) constructor test.
*/
@Test
public void testStreamInput() {
assertNotNull(fixture);
}
/**
* Run the String getFilename() method test.
*/
@Test
public void testGetFilename() {
String result = fixture.getFilename();
assertNotNull(result);
}
/**
* Run the String getPath() method test.
*/
@Test
public void testGetPath() {
String result = fixture.getScopePath().getPath();
assertNotNull(result);
}
/**
* Run the Stream getStream() method test.
*/
@Test
public void testGetStream() {
ICTFStream result = fixture.getStream();
assertNotNull(result);
}
/**
* Run the long getTimestampEnd() method test.
*/
@Test
public void testGetTimestampEnd() {
long result = fixture.getTimestampEnd();
assertTrue(0L < result);
}
/**
* Run the Definition lookupDefinition(String) method test.
*/
@Test
public void testLookupDefinition() {
IDefinition result = fixture.lookupDefinition("id");
assertNull(result);
}
/**
* Run the void setTimestampEnd(long) method test.
*/
@Test
public void testSetTimestampEnd() {
fixture.setTimestampEnd(1L);
assertEquals(fixture.getTimestampEnd(), 1L);
}
CTFStreamInput s1;
CTFStreamInput s2;
@Test
public void testEquals1() throws CTFException {
s1 = new CTFStreamInput(new CTFStream(CtfTestTraceUtils.getTrace(testTrace)),
createFile());
assertFalse(s1.equals(null));
}
@Test
public void testEquals2() throws CTFException {
s1 = new CTFStreamInput(new CTFStream(CtfTestTraceUtils.getTrace(testTrace)),
createFile());
assertFalse(s1.equals(Long.valueOf(23)));
}
@Test
public void testEquals3() throws CTFException {
s1 = new CTFStreamInput(new CTFStream(CtfTestTraceUtils.getTrace(testTrace)),
createFile());
assertEquals(s1, s1);
}
@Test
public void testEquals4() throws CTFException {
s1 = new CTFStreamInput(new CTFStream(CtfTestTraceUtils.getTrace(testTrace)),
createFile());
s2 = new CTFStreamInput(new CTFStream(CtfTestTraceUtils.getTrace(testTrace)),
createFile());
assertEquals(s1, s2);
}
}