diff -r 000000000000 -r 4a5361db8937 logsui/logsengine/tsrc/ut_logsengine/src/ut_logsfilter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/logsengine/tsrc/ut_logsengine/src/ut_logsfilter.cpp Tue May 04 12:39:37 2010 +0300 @@ -0,0 +1,166 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ +#include "ut_logsfilter.h" +#include "logsfilter.h" +#include "logsmodel.h" +#include "logsevent.h" +#include "logscommondata.h" + +#include + +void UT_LogsFilter::initTestCase() +{ + mFilter = new LogsFilter(); +} + +void UT_LogsFilter::cleanupTestCase() +{ + delete mFilter; + mFilter = 0; +} + + +void UT_LogsFilter::init() +{ + +} + +void UT_LogsFilter::cleanup() +{ + +} + +void UT_LogsFilter::testConstructor() +{ + QVERIFY( mFilter ); + LogsFilter* filt = new LogsFilter( LogsFilter::Received ); + QVERIFY( filt->filterType() == LogsFilter::Received ); + delete filt; +} + +void UT_LogsFilter::testFilterAcceptsRow() +{ + // No source model + QVERIFY( mFilter->filterAcceptsRow(0, QModelIndex()) == false ); + + LogsModel* logsModel = new LogsModel(); + mFilter->setSourceModel(logsModel); + + // No any events + QVERIFY( mFilter->filterAcceptsRow(0, QModelIndex()) == false ); + + // Matching event ("accept all" filter) + LogsEvent* event = new LogsEvent; + logsModel->mEvents.append(event); + QVERIFY( mFilter->filterAcceptsRow(0, QModelIndex()) == true ); + + // Matching event ("accept received" filter) + mFilter->mFilterType = LogsFilter::Received; + LogsEvent* event2 = new LogsEvent(); + event2->setDirection(LogsEvent::DirIn); + logsModel->mEvents.append(event2); + QVERIFY( mFilter->filterAcceptsRow(1, QModelIndex()) == true ); + + // Not mathing event ("accept received" filter) + QVERIFY( mFilter->filterAcceptsRow(0, QModelIndex()) == false ); + + // Called filter + mFilter->mFilterType = LogsFilter::Called; + QVERIFY( mFilter->filterAcceptsRow(1, QModelIndex()) == false ); + event2->setDirection(LogsEvent::DirOut); + QVERIFY( mFilter->filterAcceptsRow(1, QModelIndex()) == true ); + + // Missed filter + mFilter->mFilterType = LogsFilter::Missed; + QVERIFY( mFilter->filterAcceptsRow(1, QModelIndex()) == false ); + event2->setDirection(LogsEvent::DirMissed); + QVERIFY( mFilter->filterAcceptsRow(1, QModelIndex()) == true ); + + // Unknown filter + mFilter->mFilterType = (LogsFilter::FilterType)999; + QVERIFY( mFilter->filterAcceptsRow(1, QModelIndex()) == false ); +} + +void UT_LogsFilter::testClearType() +{ + + LogsModel* logsModel = new LogsModel(); + mFilter->setSourceModel(logsModel); + + // No any events + QVERIFY( mFilter->clearType() == LogsModel::TypeLogsClearAll ); + + // Matching event ("accept all" filter) + LogsEvent* event = new LogsEvent; + logsModel->mEvents.append(event); + QVERIFY( mFilter->clearType() == LogsModel::TypeLogsClearAll ); + + // Matching event ("accept received" filter) + mFilter->mFilterType = LogsFilter::Received; + LogsEvent* event2 = new LogsEvent(); + event2->setDirection(LogsEvent::DirIn); + logsModel->mEvents.append(event2); + QVERIFY( mFilter->clearType() == LogsModel::TypeLogsClearReceived ); + + // Not mathing event ("accept received" filter) + QVERIFY( mFilter->filterAcceptsRow(0, QModelIndex()) == false ); + + // Called filter + mFilter->mFilterType = LogsFilter::Called; + QVERIFY( mFilter->filterAcceptsRow(1, QModelIndex()) == false ); + event2->setDirection(LogsEvent::DirOut); + QVERIFY( mFilter->clearType() == LogsModel::TypeLogsClearCalled ); + + // Missed filter + mFilter->mFilterType = LogsFilter::Missed; + QVERIFY( mFilter->filterAcceptsRow(1, QModelIndex()) == false ); + event2->setDirection(LogsEvent::DirMissed); + QVERIFY( mFilter->clearType() == LogsModel::TypeLogsClearMissed ); + + // Unknown filter + mFilter->mFilterType = (LogsFilter::FilterType)999; + QVERIFY( mFilter->clearType() == LogsModel::TypeLogsClearAll ); +} + +void UT_LogsFilter::testSetMaxSize() +{ + // Max size for all + mFilter->mFilterType = LogsFilter::All; + mFilter->setMaxSize(10); + QVERIFY( LogsCommonData::getInstance().maxReadSize() == 10 ); + QVERIFY( LogsCommonData::getInstance().maxReadSizeDirection() == LogsEvent::DirUndefined ); + + // Max size for missed + mFilter->mFilterType = LogsFilter::Missed; + mFilter->setMaxSize(5); + QVERIFY( LogsCommonData::getInstance().maxReadSize() == 5 ); + QVERIFY( LogsCommonData::getInstance().maxReadSizeDirection() == LogsEvent::DirMissed ); + + // Max size for called + mFilter->mFilterType = LogsFilter::Called; + mFilter->setMaxSize(100); + QVERIFY( LogsCommonData::getInstance().maxReadSize() == 100 ); + QVERIFY( LogsCommonData::getInstance().maxReadSizeDirection() == LogsEvent::DirOut ); + + // Max size for received + mFilter->mFilterType = LogsFilter::Received; + mFilter->setMaxSize(8); + QVERIFY( LogsCommonData::getInstance().maxReadSize() == 8 ); + QVERIFY( LogsCommonData::getInstance().maxReadSizeDirection() == LogsEvent::DirIn ); +} + +