mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-24 10:52:52 +00:00
107 lines
3.4 KiB
C++
107 lines
3.4 KiB
C++
/*
|
|
This file is part of the kcal library.
|
|
Copyright (c) 2007-2008 Allen Winter <winter@kde.org>
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public License
|
|
along with this library; see the file COPYING.LIB. If not, write to
|
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA.
|
|
*/
|
|
#include "testfreebusy.h"
|
|
#include <qtest_kde.h>
|
|
|
|
QTEST_KDEMAIN( FreeBusyTest, NoGUI )
|
|
|
|
#include "kcal/freebusy.h"
|
|
using namespace KCal;
|
|
|
|
void FreeBusyTest::testValidity()
|
|
{
|
|
const KDateTime firstDateTime( QDate( 2007, 7, 23 ), QTime( 7, 0, 0 ), KDateTime::UTC );
|
|
|
|
FreeBusy fb1(
|
|
firstDateTime,
|
|
KDateTime( QDate( 2007, 7, 23 ), QTime( 8, 0, 0 ), KDateTime::UTC ) );
|
|
|
|
QVERIFY( fb1.dtEnd() ==
|
|
KDateTime( QDate( 2007, 7, 23 ), QTime( 8, 0, 0 ), KDateTime::UTC ) );
|
|
}
|
|
|
|
void FreeBusyTest::testAddSort()
|
|
{
|
|
Period::List periods;
|
|
|
|
const KDateTime firstq1DateTime( QDate( 2007, 7, 23 ), QTime( 7, 0, 0 ), KDateTime::UTC );
|
|
Period q1(
|
|
firstq1DateTime,
|
|
KDateTime( QDate( 2007, 7, 23 ), QTime( 8, 0, 0 ), KDateTime::UTC ) );
|
|
periods.append( q1 );
|
|
|
|
const KDateTime firstq2DateTime( QDate( 2007, 8, 23 ), QTime( 7, 0, 0 ), KDateTime::UTC );
|
|
Period q2(
|
|
firstq2DateTime,
|
|
KDateTime( QDate( 2007, 8, 23 ), QTime( 8, 0, 0 ), KDateTime::UTC ) );
|
|
periods.append( q2 );
|
|
|
|
const KDateTime firstq3DateTime( QDate( 2007, 9, 23 ), QTime( 7, 0, 0 ), KDateTime::UTC );
|
|
Period q3(
|
|
firstq3DateTime,
|
|
KDateTime( QDate( 2007, 9, 23 ), QTime( 8, 0, 0 ), KDateTime::UTC ) );
|
|
periods.append( q3 );
|
|
|
|
FreeBusy fb1;
|
|
fb1.addPeriods( periods );
|
|
|
|
const KDateTime firstfb1DateTime( QDate( 2007, 10, 27 ), QTime( 7, 0, 0 ), KDateTime::UTC );
|
|
fb1.addPeriod(
|
|
firstfb1DateTime,
|
|
KDateTime( QDate( 2007, 10, 27 ), QTime( 8, 0, 0 ), KDateTime::UTC ) );
|
|
|
|
const KDateTime secondfb1DateTime( QDate( 2007, 8, 27 ), QTime( 7, 0, 0 ), KDateTime::UTC );
|
|
fb1.addPeriod(
|
|
secondfb1DateTime,
|
|
KDateTime( QDate( 2007, 8, 27 ), QTime( 8, 0, 0 ), KDateTime::UTC ) );
|
|
|
|
const KDateTime thirdfb1DateTime( QDate( 2007, 6, 27 ), QTime( 7, 0, 0 ), KDateTime::UTC );
|
|
fb1.addPeriod(
|
|
thirdfb1DateTime,
|
|
KDateTime( QDate( 2007, 6, 27 ), QTime( 8, 0, 0 ), KDateTime::UTC ) );
|
|
|
|
QVERIFY( fb1.busyPeriods().last().end() ==
|
|
KDateTime( QDate( 2007, 10, 27 ), QTime( 8, 0, 0 ), KDateTime::UTC ) );
|
|
|
|
}
|
|
|
|
void FreeBusyTest::testAssign()
|
|
{
|
|
const KDateTime firstDateTime( QDate( 2007, 7, 23 ), QTime( 7, 0, 0 ), KDateTime::UTC );
|
|
|
|
FreeBusy fb1(
|
|
firstDateTime,
|
|
KDateTime( QDate( 2007, 7, 23 ), QTime( 8, 0, 0 ), KDateTime::UTC ) );
|
|
|
|
FreeBusy fb2 = fb1;
|
|
QVERIFY( fb1 == fb2 );
|
|
|
|
fb1.setDtStart( firstDateTime.addDays( 1 ) );
|
|
fb2.setDtStart( firstDateTime.addDays( 2 ) );
|
|
QVERIFY( !( fb1 == fb2 ) );
|
|
|
|
FreeBusy fb3 = fb2;
|
|
QVERIFY( fb3 == fb2 );
|
|
|
|
KDateTime dt = fb3.dtEnd();
|
|
fb3.setDtEnd( dt.addDays( 1 ) );
|
|
fb2.setDtEnd( dt.addDays( 1 ) );
|
|
QVERIFY( fb2 == fb3 );
|
|
}
|