/*
    File                 : BinaryFilterTest.h
    Project              : LabPlot
    Description          : Tests for the binary filter
    --------------------------------------------------------------------
    SPDX-FileCopyrightText: 2022 Stefan Gerlach <stefan.gerlach@uni.kn>

    SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef BINARYFILTERTEST_H
#define BINARYFILTERTEST_H

#include "../../CommonTest.h"
#include <QtTest>

class BinaryFilterTest : public CommonTest {
	Q_OBJECT

private Q_SLOTS:
	void importInt8();
	void importInt16BE();
	void importInt32LE();
	void importInt32BE();
	void importInt64BE();

	void importFloatBE();
	void importDoubleBE();
	void importDoubleLE();
	
	void importDoubleMatrixBE();

	void benchIntImport_data();
	// this is called multiple times (warm-up of BENCHMARK)
	// see https://stackoverflow.com/questions/36916962/qtest-executes-test-case-twic
	void benchIntImport();
	void benchIntImport_cleanup();	// delete data

	void benchDoubleImport_data();
	// this is called multiple times (warm-up of BENCHMARK)
	// see https://stackoverflow.com/questions/36916962/qtest-executes-test-case-twic
	void benchDoubleImport();
	void benchDoubleImport_cleanup();	// delete data
private:
	QString benchDataFileName;
	const size_t lines = 1e6;
	static const int paths = 5;
};
#endif
