blob: d844a39f96d774006c4be0900a0268790d4e4a32 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2017 École Polytechnique de Montréal
*
* 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
*******************************************************************************/
package org.eclipse.tracecompass.internal.provisional.datastore.core.historytree.classic;
import java.io.File;
import java.io.IOException;
import org.eclipse.tracecompass.datastore.core.interval.HTInterval;
import org.eclipse.tracecompass.internal.provisional.datastore.core.historytree.AbstractHistoryTree;
import org.eclipse.tracecompass.internal.provisional.datastore.core.historytree.AbstractHistoryTreeTestBase;
import org.eclipse.tracecompass.internal.provisional.datastore.core.historytree.classic.ClassicHistoryTreeStub;
import org.eclipse.tracecompass.internal.provisional.datastore.core.historytree.classic.ClassicNode;
/**
* Test the classic history tree
*
* @author Geneviève Bastien
*/
public class ClassicHistoryTreeTest
extends AbstractHistoryTreeTestBase<HTInterval, ClassicNode<HTInterval>> {
private static final HTInterval DEFAULT_OBJECT = new HTInterval(0, 0);
@Override
protected ClassicHistoryTreeStub createHistoryTree(
File stateHistoryFile,
int blockSize,
int maxChildren,
int providerVersion,
long treeStart) throws IOException {
return new ClassicHistoryTreeStub(stateHistoryFile,
blockSize,
maxChildren,
providerVersion,
treeStart);
}
@Override
protected ClassicHistoryTreeStub createHistoryTree(
File existingStateFile, int expectedProviderVersion) throws IOException {
return new ClassicHistoryTreeStub(existingStateFile, expectedProviderVersion);
}
@Override
protected HTInterval createInterval(long start, long end) {
return new HTInterval(start, end);
}
@Override
protected long fillValues(AbstractHistoryTree<HTInterval, ClassicNode<HTInterval>> ht,
int fillSize, long start) {
int nbValues = fillSize / DEFAULT_OBJECT.getSizeOnDisk();
for (int i = 0; i < nbValues; i++) {
ht.insert(new HTInterval(start + i, start + i + 1));
}
return start + nbValues;
}
}