diff -r 000000000000 -r 72b543305e3a email/imap4mtm/imapsession/test/inc/ctestimapsessioncreatesequenceset.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imap4mtm/imapsession/test/inc/ctestimapsessioncreatesequenceset.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,72 @@ +// Copyright (c) 2006-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: +// + +#ifndef CTESTIMAPSESSIONCREATESEQUENCESET_H +#define CTESTIMAPSESSIONCREATESEQUENCESET_H + +#include + +/** +This test fixture tests the ability of CImapSession::CreateSequenceSetL() to generate +the correct sequence set string for a given set of message uids. +CImapSession::CreateSequenceSetL() is static and synchronous, +so it does not need the full setup and teardown of the other CImapSession tests. +@internalTechnology +@prototype +*/ +class CTestImapSessionCreateSequenceSet : public CTestFixture +// Note that all test suites must begin with "CTest" +// WARNING: Despite being a C class, CActiveTestFixture is NOT derrived from CBase +// ... so don't expect your data members to be zero'ed + { +public: + // Constructor & Destructor (explicitly virtual because CTestFixture is NOT derrived from CBase) + CTestImapSessionCreateSequenceSet(); + virtual ~CTestImapSessionCreateSequenceSet(); + + // SetUp and TearDown code (optional) + virtual void SetupL(); + virtual void TearDownL(); + + // Tests + void TestSingleValueL(); + void TestSingleShortRangeL(); + void TestSingleMediumRangeL(); + void TestSingleLongRangeL(); + void TestIndividualValuesL(); + void TestSingleValueFollowedByRangeL(); + void TestRangeFollowedBySingleValueL(); + void TestShortRangeSurroundedBySingleValuesL(); + void TestMediumRangeSurroundedBySingleValuesL(); + void TestSingleValueSurroundedByRangesL(); + void TestTwoRangesL(); + void TestThreeRangesL(); + void TestLongResultStringL(); + void TestOutOfOrderSingleRangeL(); + void TestOutOfOrderMixedValuesL(); + void TestDuplicatesSingleRangeL(); + void TestDuplicatesMixedValuesL(); + void TestDuplicatesAndOutOfOrderMixedValuesL(); + + static CTestSuite* CreateSuiteL(const TDesC& aName); + +private: + void DoTestL(TUint* aUids, TInt aCountUids, const TDesC8& aExpectedResult); + +private: + RArray iUids; + }; + +#endif CTESTIMAPSESSIONCREATESEQUENCESET_H