1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#include <QCoreApplication>
#include <QxtFifo>
#include <QTest>
#include <QSignalSpy>
#include <QDebug>
#include <QByteArray>
#include <QDataStream>
class QxtFifoPipeTest: public QObject
{
Q_OBJECT
private slots:
void initTestCase()
{
io= new QxtFifo;
}
void readwrite()
{
QDataStream w(io);
w << QString("hello");
w << 34;
QString str;
int i;
QDataStream r(io);
r >> str;
r >> i;
QVERIFY2(i==34,"output not matching input");
QVERIFY2(str==QString("hello"),"output not mathing input");
}
void readyread()
{
QSignalSpy spyr(io, SIGNAL(readyRead()));
io->write("hello");
QCoreApplication::processEvents();
QVERIFY2 (spyr.count()> 0, "not emitting readyRead" );
io->readAll();
}
void size()
{
QByteArray data("askdoamsdoiasmdpoeiowaopimwaioemfowefnwaoief");
QVERIFY(io->write(data)==data.size());
QVERIFY(io->bytesAvailable()==data.size());
io->readAll();
QVERIFY(io->bytesAvailable()==0);
}
void cleanupTestCase()
{
delete(io);
}
private:
QxtFifo * io;
};
QTEST_MAIN(QxtFifoPipeTest)
#include "main.moc"
|