Structures
86 строк · 1.4 Кб
1#include <QtTest>2#include <QCoreApplication>3
4#include "../../src/list.hpp"5
6using namespace stt;7
8class TestList : public QObject9{
10Q_OBJECT
11List<int> list;12
13QVector<int> icase;14
15public:16TestList();17~TestList();18
19private slots:20void initTestCase();21void pushTestCase();22void insertTestCase();23void flipTestCase();24void popTestCase();25void cleanupTestCase();26};27
28TestList::TestList()29{
30
31}
32
33TestList::~TestList() {}34
35void TestList::initTestCase()36{
37icase = {9, 10, 13, 14, 15, 17, 18};38}
39
40void TestList::pushTestCase()41{
42foreach(auto i, icase)43list.push_back(i);44
45foreach(auto i, icase)46list.push_front(i);47}
48
49
50void TestList::insertTestCase()51{
52List<int> list_2(1, 2, 3, 4);53list_2.insert(1, -10);54QCOMPARE(list_2[0], 1);55QCOMPARE(list_2[1], -10);56QCOMPARE(list_2[2], 2);57QCOMPARE(list_2[3], 3);58QCOMPARE(list_2[4], 4);59}
60
61void TestList::flipTestCase()62{
63List<int> list_2 = list;64list_2.flip();65for(int i = icase.size() - 1; i >= 0; i--)66QCOMPARE(list_2.pop_front(), icase[i]);67}
68
69void TestList::popTestCase()70{
71for(int i = 0; i < icase.size(); i++)72QCOMPARE(list.pop_front(), icase[icase.size() - i - 1]);73
74for(int i = icase.size() - 1; i >= 0; i--)75QCOMPARE(list.pop_back(), icase[i]);76}
77
78void TestList::cleanupTestCase()79{
80list.clear();81QCOMPARE(list.empty(), true);82}
83
84QTEST_APPLESS_MAIN(TestList)85
86#include "tst_testlist.moc"87