1/* This file is part of the KDE project
2 Copyright (C) 2009 Dag Andersen <danders@get2net.dk>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 Boston, MA 02110-1301, USA.
18*/
19
20#ifndef KPlato_ResourceModelTester_h
21#define KPlato_ResourceModelTester_h
22
23#include <QtTest>
24
25#include "kptresourceappointmentsmodel.h"
26
27#include "kptproject.h"
28#include "kptdatetime.h"
29
30namespace QTest
31{
32 template<>
33 char *toString(const KPlato::DateTime &dt)
34 {
35 return toString( dt.toString() );
36 }
37}
38
39namespace KPlato
40{
41
42class Task;
43
44class ResourceModelTester : public QObject
45{
46 Q_OBJECT
47private slots:
48 void initTestCase();
49 void cleanupTestCase();
50
51 void internalAppointments();
52 void externalAppointments();
53 void externalOverbook();
54
55private:
56 void printDebug( long id ) const;
57 void printSchedulingLog( const ScheduleManager &sm ) const;
58
59 Project *m_project;
60 Calendar *m_calendar;
61 Task *m_task;
62 Resource *m_resource;
63
64 ResourceAppointmentsGanttModel m_model;
65
66};
67
68} //namespace KPlato
69
70#endif
71