persistentstorage/store/TCONT/t_storset.cpp
author hgs
Tue, 19 Oct 2010 16:26:13 +0100
changeset 55 44f437012c90
parent 51 7d4490026038
permissions -rw-r--r--
201041_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
     1
// Copyright (c) 1998-2010 Nokia Corporation and/or its subsidiary(-ies).
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
// All rights reserved.
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
// This component and the accompanying materials are made available
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
// which accompanies this distribution, and is available
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
//
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
// Initial Contributors:
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
//
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
// Contributors:
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
//
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
// Description:
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
//
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
#include <s32cont.h>
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
#include <s32page.h>
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
#include <s32mem.h>
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include <e32test.h>
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include "U32STD.H"
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    22
LOCAL_D RTest TheTest(_L("t_storset"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    24
///////////////////////////////////////////////////////////////////////////////////////
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    25
///////////////////////////////////////////////////////////////////////////////////////
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    26
//Test macros and functions
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    27
void Check1(TInt aValue, TInt aLine)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    28
	{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    29
	if(!aValue)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    30
		{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    31
		TheTest.Printf(_L("*** Expression  evaluated to false. Line %d\r\n"), aLine);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    32
		TheTest(EFalse, aLine);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    33
		}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    34
	}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    35
void Check2(TInt aValue, TInt aExpected, TInt aLine)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    36
	{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    37
	if(aValue != aExpected)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    38
		{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    39
		TheTest.Printf(_L("*** Line %d, Expected error: %d, got: %d\r\n"), aLine, aExpected, aValue);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    40
		TheTest(EFalse, aLine);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    41
		}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    42
	}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    43
void Check3(TUint aValue, TUint aExpected, TInt aLine)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    44
	{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    45
	if(aValue != aExpected)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    46
		{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    47
		TheTest.Printf(_L("*** Line %d, Expected value: %u, got: %u\r\n"), aLine, aExpected, aValue);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    48
		TheTest(EFalse, aLine);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    49
		}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    50
	}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    51
#define TEST(arg) ::Check1((arg), __LINE__)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    52
#define TEST2(aValue, aExpected) ::Check2(aValue, aExpected, __LINE__)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    53
#define TEST3(aValue, aExpected) ::Check2(aValue, aExpected, __LINE__)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    54
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    55
///////////////////////////////////////////////////////////////////////////////////////
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
/**
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
@SYMTestCaseID          SYSLIB-STORE-CT-1121
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
@SYMTestCaseDesc	    TPagedSet class functionality test
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
@SYMTestPriority 	    High
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
@SYMTestActions  	    Tests insert/delete/contains without duplicates.
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
                        Tests for emptying the set
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
@SYMTestExpectedResults Test must not fail
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
@SYMREQ                 REQ0000
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
*/
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
LOCAL_C void test1L()
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
	{
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    68
	TheTest.Printf(_L("Basic operations\r\n"));
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    69
	
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
	const TInt KEntryCount=200;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
	TPagedSet<TInt32> set;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
	set.Connect(CMemPagePool::NewLC());
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    73
	//IsIntact() and IsDirty() test
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    74
	TheTest.Printf(_L("IsIntact() and IsDirty() test\r\n"));
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    75
	TBool rc = set.IsIntact();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    76
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    77
	rc = set.IsDirty();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    78
	TEST(!rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    79
	set.MarkDirty();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    80
	rc = set.IsDirty();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    81
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    82
	//IsBroken() test
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    83
	TheTest.Printf(_L("IsBroken() test\r\n"));
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    84
	rc = set.IsBroken();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    85
	TEST(!rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    86
	set.MarkBroken();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    87
	rc = set.IsBroken();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    88
	TEST(!rc);//Empty tree - cannot be marked as broken
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    89
	TInt yy = 10;
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    90
	set.InsertL(yy);
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    91
	set.MarkBroken();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    92
	rc = set.IsBroken();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    93
	TEST(rc);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    94
	TheTest.Printf(_L("RepairL()test\r\n"));
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    95
	set.RepairL();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    96
	rc = set.IsBroken();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    97
	TEST(!rc);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
    98
	TheTest.Printf(_L("ClearL() test\r\n"));
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
    99
	set.ClearL();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   100
	rc = set.IsBroken();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   101
	TEST(!rc);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   103
	TheTest.Printf(_L("InsertL() and DeleteL() test\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
	TInt32 it=0;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   105
//*	TEST(set.InsertL(it));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
	set.InsertL(it);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   107
	TEST2(set.Count(), 1);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   108
//*	TEST(!set.InsertL(it));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   109
	TEST2(set.Count(), 1);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   110
	TEST(set.ContainsL(it));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   111
//*	TEST(set.DeleteL(it));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
	set.DeleteL(it);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   113
	TEST2(set.Count(), 0);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   114
//*	TEST(!set.DeleteL(it));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   115
//*	TEST(set.Count()==0);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   116
	TEST(!set.ContainsL(it));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   118
//*	TheTest.Printf(_L("Duplicates"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
	TInt ii;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
//*	for (ii=0;ii<KEntryCount;++ii)
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   121
//*		TEST(set.InsertL(it,EAllowDuplicates));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   122
//*	TEST2(set.Count(), KEntryCount);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   123
//*	TEST(set.ContainsL(it));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   124
//*	TEST(!set.InsertL(it));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
//*	for (ii=0;ii<KEntryCount;++ii)
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   126
//*		TEST(set.DeleteL(it));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   127
//*	TEST(!set.ContainsL(it));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   128
//*	TEST(!set.DeleteL(it));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   129
//*	TEST2(set.Count(), 0);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   131
	TheTest.Printf(_L("No duplicates\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
	for (ii=0;ii<KEntryCount;++ii)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
		it=ii;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   135
//*		TEST(set.InsertL(it));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
		set.InsertL(it);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
		}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
	for (ii=0;ii<KEntryCount;++ii)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
		it=ii;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   141
//*		TEST(!set.InsertL(it));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   142
		TEST(set.ContainsL(it));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
		}
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   144
	TEST2(set.Count(), KEntryCount);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   146
	TheTest.Printf(_L("Empty the set\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
	set.ClearL();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   148
	TEST2(set.Count(), 0);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
	for (ii=0;ii<KEntryCount;++ii)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
		it=ii;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   152
		TEST(!set.ContainsL(it));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
		}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
	CleanupStack::PopAndDestroy();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
	}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
/**
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
@SYMTestCaseID          SYSLIB-STORE-CT-1122
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
@SYMTestCaseDesc	    TPagedSet class functionality test with large (10000) set of TUint32.
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
@SYMTestPriority 	    High
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
@SYMTestActions  	    Insert,delete,contains,iteration operations test
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
@SYMTestExpectedResults Test must not fail
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
@SYMREQ                 REQ0000
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
*/
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
LOCAL_C void test2L()
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
	{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
	const TInt KEntryCount=10000;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
	TPagedSet<TUint32> set;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
//*	set.Connect(CMemPagePool::NewLC(),TBtree::EQosFastest);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
	set.Connect(CMemPagePool::NewLC());
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   173
	TheTest.Printf(_L("Add items\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
	TUint32 jj=0;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
	TInt32 ii;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
	for (ii=KEntryCount;ii>0;--ii)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
		jj=(jj+17)%KEntryCount;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   179
//*		TEST(set.InsertL(jj));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
		set.InsertL(jj);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
		}
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   182
	TEST2(set.Count(), KEntryCount);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   184
	TheTest.Printf(_L("Check contents\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
	for (ii=0;ii<KEntryCount;++ii)
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   186
		TEST(set.ContainsL(ii));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   188
	TheTest.Printf(_L("Iterate over items\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
	TUint8 *checkMap=(TUint8*)User::AllocLC(KEntryCount);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
	Mem::FillZ(checkMap,KEntryCount);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
	TPagedSetIter<TUint32> iter(set);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
	if (iter.ResetL())
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   193
		{
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   194
		do	
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   195
			{
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   196
			TUint32 data1 = iter.AtL();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   197
			++checkMap[data1];
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   198
			TUint32 data2;
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   199
			iter.ExtractAtL(data2);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   200
			TEST3(data1, data2);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   201
			}while(iter.NextL());
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   202
		}
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
	for (ii=0;ii<KEntryCount;++ii)
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   204
		TEST2(checkMap[ii], 1);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
	CleanupStack::PopAndDestroy();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   207
	TheTest.Printf(_L("Delete items\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
	jj=0;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
	for (ii=KEntryCount;ii>KEntryCount/2;--ii)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
		jj=(jj+17)%KEntryCount;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   212
//*		TEST(set.DeleteL(jj));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
		set.DeleteL(jj);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
		}
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   215
	TEST2(set.Count(), KEntryCount/2);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   217
	TheTest.Printf(_L("Check contents\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
	for (;ii>0;--ii)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
		jj=(jj+17)%KEntryCount;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   221
		TEST(set.ContainsL(jj));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
		}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
	jj=0;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
	for (ii=KEntryCount;ii>KEntryCount/2;--ii)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
		jj=(jj+17)%KEntryCount;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   227
		TEST(!set.ContainsL(jj));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
		}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   230
	TheTest.Printf(_L("Delete items\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
	for (;ii>1;--ii)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
		jj=(jj+17)%KEntryCount;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   234
//*		TEST(set.DeleteL(jj));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
		set.DeleteL(jj);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
		}
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   237
	TEST2(set.Count(), 1);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   239
	TheTest.Printf(_L("Check contents\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
	jj=(jj+17)%KEntryCount;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
	TPagedSetBiIter<TUint32> biter(set);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   242
	TEST(biter.FirstL());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   243
	TEST3(biter.AtL(), jj);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   244
	TUint32 data; 
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   245
	biter.ExtractAtL(data);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   246
	TEST3(data, jj);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   247
	TEST(!biter.NextL());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   248
	TEST(biter.LastL());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   249
	TEST3(biter.AtL(), jj);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   250
	TEST(!biter.PreviousL());
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
	TPagedSetRIter<TUint32> riter(set);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   252
	TEST(riter.ResetL());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   253
	TEST3(riter.AtL(), jj);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   254
	riter.ExtractAtL(data);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   255
	TEST3(data, jj);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   256
	TEST(!riter.NextL());
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   258
//*	TEST(set.DeleteL(jj));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
	set.DeleteL(jj);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   260
	TEST(!iter.ResetL());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   261
	TEST2(set.Count(), 0);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
	CleanupStack::PopAndDestroy();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
	}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
/**
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
@SYMTestCaseID          SYSLIB-STORE-CT-1123
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
@SYMTestCaseDesc	    Stream set out test
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
@SYMTestPriority 	    High
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
@SYMTestActions  	    Build set and stream out
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
@SYMTestExpectedResults Test must not fail
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
@SYMREQ                 REQ0000
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
*/
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
LOCAL_C void test3aL(RWriteStream& aStream,MPagePool *aPool,TInt aCount)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
	{
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   275
	TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-STORE-CT-1123"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
	TPagedSet<TInt32> set;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
//*	set.Connect(aPool,TBtree::EQosFastest);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
	set.Connect(aPool);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
	for (TInt ii=0;ii<aCount;ii++)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
		TInt32 it=ii;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
//*		test(set.InsertL(it));
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
		set.InsertL(it);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
		}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
	aStream<<set.Token();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   287
	}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   288
/**
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
@SYMTestCaseID          SYSLIB-STORE-CT-1124
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
@SYMTestCaseDesc	    Stream in and set test
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
@SYMTestPriority 	    High
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   292
@SYMTestActions  	    Read a token from a stream,create and a pagedset.Tests for emptying the set.
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
@SYMTestExpectedResults Test must not fail
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
@SYMREQ                 REQ0000
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
*/
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
LOCAL_C void test3bL(RReadStream& aStream,MPagePool *aPool,TInt aCount)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
	{
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   298
	TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-STORE-CT-1124"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
	TPagedSetToken token;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
	aStream>>token;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
	TPagedSet<TInt32> set(token);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
//*	set.Connect(aPool,TBtree::EQosFastest);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
	set.Connect(aPool);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   305
	TEST2(set.Count(), aCount);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
	for (TInt ii=0;ii<aCount;ii++)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
		TInt32 it=ii;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   309
//*		TEST(set.DeleteL(it));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
		set.DeleteL(it);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
		}
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   312
	TEST2(set.Count(), 0);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
	}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   314
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
/**
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   316
@SYMTestCaseID          SYSLIB-STORE-CT-1125
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   317
@SYMTestCaseDesc	    Streaming sets test
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
@SYMTestPriority 	    High
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
@SYMTestActions  	    Tests for token streaming operations on pagedsets.
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
@SYMTestExpectedResults Test must not fail
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
@SYMREQ                 REQ0000
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
*/
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   323
LOCAL_C void test3L()
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   324
	{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   325
	const TInt KEntryCount=1000;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   326
	MPagePool *pool=CMemPagePool::NewLC();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
	TUint8 stream[0x40];
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   328
	TheTest.Printf(_L("Build set and stream out\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
	RMemWriteStream out(stream,sizeof(stream));
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
	test3aL(out,pool,KEntryCount);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   331
	TheTest.Printf(_L("Stream in and test set\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
	RMemReadStream in(stream,sizeof(stream));
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
	test3bL(in,pool,KEntryCount);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
	CleanupStack::PopAndDestroy();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
	}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
class CPersistentStoreHelper: public CPersistentStore
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
	{
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   339
private:
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   340
	virtual MStreamBuf* DoReadL(TStreamId) const
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   341
		{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   342
		return NULL;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   343
		}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   344
	virtual MStreamBuf* DoCreateL(TStreamId&)
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
		return NULL;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
		}
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   348
	};
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   349
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   350
void DoBiITerMultiSetTestL(TPagedSetBiIter<TInt32>& aIter, TInt aCount)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   351
	{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   352
	TInt count = 0;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   353
	TBool rc = aIter.FirstL();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   354
	TEST(rc);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   355
	++count;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   356
	while(aIter.NextL())
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
		{
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   358
		++count;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   359
		}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   360
	TEST2(count, aCount);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   361
	
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   362
	count = 0;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   363
	rc = aIter.LastL();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   364
	TEST(rc);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   365
	++count;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   366
	while(aIter.PreviousL())
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   367
		{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   368
		++count;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   369
		}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   370
	TEST2(count, aCount);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   371
	}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   372
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   373
void DoRIterMultiSetTestL(TPagedSetRIter<TInt32> aIter, TInt aCount)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   374
	{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   375
	TInt count = 0;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   376
	TBool rc = aIter.ResetL();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   377
	TEST(rc);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   378
	++count;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   379
	while(aIter.NextL())
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   380
		{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   381
		++count;
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
		}
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   383
	TEST2(count, aCount);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   384
	}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   385
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   386
void DoRIterAnyMultiSetTestL(TPagedSetRIter<TAny> aIter, TInt aCount)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   387
	{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   388
	TInt count = 0;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   389
	TBool rc = aIter.ResetL();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   390
	TEST(rc);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   391
	++count;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   392
	while(aIter.NextL())
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
		{
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   394
		++count;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   395
		}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   396
	TEST2(count, aCount);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   397
	}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   398
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   399
void DoIterMultiSetTestL(TPagedSetIter<TInt32> aIter, TInt aCount)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   400
	{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   401
	TInt count = 0;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   402
	TBool rc = aIter.ResetL();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   403
	TEST(rc);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   404
	++count;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   405
	while(aIter.NextL())
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   406
		{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   407
		++count;
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
		}
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   409
	TEST2(count, aCount);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   410
	}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   411
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   412
void DoIterAnyMultiSetTestL(TPagedSetIter<TAny> aIter, TInt aCount)
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   413
	{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   414
	TInt count = 0;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   415
	TBool rc = aIter.ResetL();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   416
	TEST(rc);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   417
	++count;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   418
	while(aIter.NextL())
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   419
		{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   420
		++count;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   421
		}
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   422
	TEST2(count, aCount);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   423
	}
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   425
/**
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   426
@SYMTestCaseID          PDS-STORE-CT-4015
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   427
@SYMTestCaseDesc	    Test untested APIs of TPagedMultiset and TPagedSetToken
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   428
@SYMTestPriority 	    High
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   429
@SYMTestActions  	    Test possibility of adding duplicates into TPagedMultiset. Calling empy constructor TPagedSetToken.
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   430
						Test RepairL();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   431
@SYMTestExpectedResults Insterting duplicates should be possible and should not fail. After adding KEntryCount
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   432
						identical elements Count() should equal KEntryCount. Constructor should create valid object.
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   433
						RepairL function can't be runned now, because it has a problem inside that cause KERN-EXEC: 3.
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   434
@SYMDEF                 DEF135804
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
*/
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   436
LOCAL_C void test4L()
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   437
	{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   438
	const TInt KEntryCount=200;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   439
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   440
	TheTest.Printf(_L("Test untested APIs\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   441
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   442
	TInt32 it=0;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   443
	TPagedMultiset<TInt32> set;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   444
	set.Connect(CMemPagePool::NewLC());
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   445
	TheTest.Printf(_L("Duplicates\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   446
	TInt ii, err;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   447
	for (ii=0;ii<KEntryCount;++ii)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   448
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   449
		TRAP(err, set.InsertL(it));
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   450
		TEST2(err, KErrNone);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   451
		}
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   452
	TEST2(set.Count(), KEntryCount);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   453
	TBool rc = set.IsEmpty();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   454
	TEST(!rc);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   455
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   456
	TPagedSetBiIter<TInt32> biIter(set);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   457
	DoBiITerMultiSetTestL(biIter, set.Count());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   458
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   459
	TPagedSetRIter<TInt32> rIter(set);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   460
	DoRIterMultiSetTestL(rIter, set.Count());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   461
	TPagedSetRIter<TAny> rIter2(set);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   462
	DoRIterAnyMultiSetTestL(rIter2, set.Count());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   463
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   464
	TPagedSetIter<TInt32> iter(set);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   465
	DoIterMultiSetTestL(iter, set.Count());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   466
	TPagedSetIter<TAny> iter2(set);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   467
	DoIterAnyMultiSetTestL(iter2, set.Count());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   468
	
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   469
	TPagedSetToken token = set.Token();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   470
	TPagedMultiset<TInt32> multiSet2(token);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   471
	TEST2(multiSet2.Count(), set.Count());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   472
	TPagedMultiset<TAny> multiSet3(token, sizeof(TInt32));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   473
	TEST2(multiSet3.Count(), set.Count());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   474
	TPagedMultiset<TAny> multiSet4(sizeof(TInt32));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   475
	TEST2(multiSet4.Count(), 0);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   476
	TPagedSet<TAny> set5(token, sizeof(TInt32));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   477
	TEST2(set5.Count(), set.Count());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   478
	TPagedSet<TAny> set6(sizeof(TInt32));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   479
	TEST2(set6.Count(), 0);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   480
	
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   481
	set.MarkDirty();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   482
	set.MarkCurrent();
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
	TRAP(err, set.ContainsL(it));
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   484
	TEST2(err, KErrNone);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   485
	TRAP(err, set.InsertL(it));
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   486
	TEST2(err, KErrNone);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
		
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
	for (ii=0;ii<KEntryCount;++ii)
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
		{
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
		TRAP(err, set.DeleteL(it));
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   491
		TEST2(err, KErrNone);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
		}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
		
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
	TRAP(err, set.ContainsL(it));
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   495
	TEST2(err, KErrNone);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
	TRAP(err, set.DeleteL(it));
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   497
	TEST2(err, KErrNone);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   498
	TEST2(set.Count(), 0);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
	
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   500
	TheTest.Printf(_L("Calling MPagePool::Delete\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
	CMemPagePool* mpp = CMemPagePool::NewLC();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
	const TPageAbandonFunction& nopFunc = mpp->AcquireL();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   503
	TEST(&nopFunc != NULL);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
	TAny* any = mpp->AllocL();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   505
	TPageRef pref;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
	pref = mpp->AssignL(any, EPageReclaimable);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   507
	mpp->MPagePool::Delete(pref);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
	CleanupStack::PopAndDestroy();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
	
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   510
	TheTest.Printf(_L("CPersistentStore::DoSetRootL\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   511
	CPersistentStoreHelper* ps = new (ELeave) CPersistentStoreHelper();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   512
	CleanupStack::PushL(ps);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   513
	ps->SetRootL(KNullStreamId);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   514
	TRAP(err, ps->ExtendL());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   515
	TEST2(err, KErrNotSupported);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   516
	TRAP(err, ps->DeleteL(TStreamId(1u)));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   517
	TEST2(err, KErrNotSupported);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   518
	CleanupStack::PopAndDestroy(ps);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
	
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   520
	TheTest.Printf(_L("HDirectStoreBuf::DoSeekL calls\r\n"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
	HBufC8* buf = HBufC8::NewLC(1024);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   522
	RDesWriteStream wts;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   523
	
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
	TPtr8 ptr(buf->Des());
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   525
	wts.Open(ptr);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
	TStreamId id(5);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
	wts << id;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
	wts.CommitL();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
	wts.Close();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
	buf->Des().Append(_L8("Ala ma kota a kot ma futro. Futro jest dobre by chronic przed zimnem."));
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
	RDesReadStream rts;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
	ptr.Set(buf->Des());
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
	rts.Open(ptr);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   534
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   535
	CEmbeddedStore* estor = CEmbeddedStore::FromLC(rts);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   536
	RStoreReadStream rstream;
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   537
	rstream.OpenL(*estor, id);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   538
	TStreamPos pos = rstream.Source()->SeekL(MStreamBuf::ERead, 5);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   539
	TEST2(pos.Offset(), 5);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
	rts.Close();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
	rstream.Close();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   542
	CleanupStack::PopAndDestroy(2);
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   543
	
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   544
	TheTest.Printf(_L("Calling TEmpty Constructor\r\n"));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   545
	TPagedSetToken set3(TBtreeToken::EEmpty);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   546
	TEST2( set3.Count(), 0);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
	
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   548
	TheTest.Printf(_L("Set function\r\n"));
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   549
	set.Set(set3);
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
	const TPagedSetToken& pst = set.Token();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   551
	TEST2(pst.Count(), set3.Count());
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   552
	
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   553
	CleanupStack::PopAndDestroy();
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   554
	}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   556
/**
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   557
@SYMTestCaseID          PDS-STORE-CT-4065
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   558
@SYMTestCaseDesc        TStreamPos tests.
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   559
@SYMTestActions         Tests operations provided by TStreamPos class. 
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   560
@SYMTestPriority        High
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   561
@SYMTestExpectedResults Test must not fail
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   562
*/
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   563
void StreamPosTest()
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   564
	{
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   565
	TStreamPos pos1;
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   566
	TStreamPos pos2(5);
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   567
	pos1 = pos2;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   568
	TEST(pos1 == pos2);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   569
	
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   570
	pos1 = 5 + pos2;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   571
	TEST(pos1 > pos2);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   572
	TEST(pos2 < pos1);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   573
	TEST(pos2 <= pos1);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   574
	TEST(pos1 != pos2);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   575
	pos1 = pos1 - 5;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   576
	TEST(pos1 == pos2);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   577
	
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   578
	pos2 += 0;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   579
	TEST(pos1 == pos2);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   580
	pos2 -= 0;
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   581
	TEST(pos1 == pos2);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   582
	}
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   583
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   584
struct TTestEntry
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   585
	{
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   586
	inline TTestEntry() :
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   587
		iKey(-1),
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   588
		iData(-1)
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   589
		{
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   590
		}
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   591
	inline TTestEntry(TInt aKey, TInt aData) :
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   592
		iKey(aKey),
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   593
		iData(aData)
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   594
		{
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   595
		}
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   596
	TInt	iKey;
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   597
	TInt	iData;
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   598
	};
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   599
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   600
/**
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   601
@SYMTestCaseID          PDS-STORE-CT-4066
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   602
@SYMTestCaseDesc        TBtreeFix tests.
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   603
@SYMTestActions         Tests operations provided by TBtreeFix class. 
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   604
@SYMTestPriority        High
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   605
@SYMTestExpectedResults Test must not fail
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   606
*/
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   607
void BTreeFixTestL()
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   608
	{
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   609
	CMemPagePool* pool = CMemPagePool::NewLC();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   610
		
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   611
	TBtreeToken token(TBtreeToken::EEmpty);
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   612
	TBool rc = token.IsEmpty();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   613
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   614
	rc = token.IsIntact();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   615
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   616
	
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   617
	TBtreeFix<TTestEntry, TInt> bentry(token, EBtreeSecure);
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   618
	TBtreeKey bkey(sizeof(TInt));
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   619
	bentry.Connect(pool, &bkey);
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   620
	
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   621
	TBtreePos bpos;
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   622
	rc = bentry.FindL(bpos, 1);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   623
	TEST(!rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   624
	rc = bentry.InsertL(bpos, TTestEntry(1, 101));
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   625
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   626
	rc = bentry.FindL(bpos, 1);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   627
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   628
	TTestEntry entry1 = bentry.AtL(bpos);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   629
	TEST(entry1.iKey == 1 && entry1.iData == 101);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   630
	const void* key = bkey.Key(&entry1);
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   631
	TInt keyVal = *((const TInt*)key);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   632
	TheTest.Printf(_L("keyVal=%d\r\n"), keyVal);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   633
	
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   634
	rc = bentry.InsertL(bpos, TTestEntry(3, 103));
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   635
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   636
	rc = bentry.InsertL(bpos, TTestEntry(2, 102));
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   637
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   638
	
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   639
	rc = bentry.FindL(bpos, 2);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   640
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   641
	TTestEntry entry2;
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   642
	bentry.ExtractAtL(bpos, entry2);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   643
	TEST(entry2.iKey == 2 && entry2.iData == 102);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   644
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   645
	rc = bentry.FindL(bpos, 3);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   646
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   647
	TTestEntry entry3;
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   648
	bentry.ExtractAtL(bpos, entry3);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   649
	TEST(entry3.iKey == 3 && entry3.iData == 103);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   650
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   651
	//==============================================
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   652
	
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   653
	TBtreeMark bmark;
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   654
	if(bentry.ResetL(bmark))
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   655
		{
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   656
		do
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   657
			{
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   658
			TTestEntry entry = bentry.AtL(bmark);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   659
			TheTest.Printf(_L("AtL(): entry.iKey=%d, entry.iData=%d\r\n"), entry.iKey, entry.iData);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   660
			bentry.ExtractAtL(bmark, entry);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   661
			TheTest.Printf(_L("ExtractAtL(): entry.iKey=%d, entry.iData=%d\r\n"), entry.iKey, entry.iData);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   662
			}while(bentry.NextL(bmark));
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   663
		}
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   664
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   665
	rc = bentry.NextL(bmark);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   666
	TEST(!rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   667
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   668
	//==============================================
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   669
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   670
	rc = bentry.DeleteL(2);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   671
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   672
	rc = bentry.FindL(bpos, 2);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   673
	TEST(!rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   674
	rc = bentry.FindL(bpos, 3);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   675
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   676
	TRAPD(err, bentry.DeleteAtL(bpos));
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   677
	TEST(err == KErrNone);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   678
	rc = bentry.FindL(bpos, 3);
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   679
	TEST(!rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   680
	
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   681
	bentry.MarkDirty();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   682
	rc = bentry.IsDirty();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   683
	TEST(rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   684
	bentry.MarkCurrent();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   685
	rc = bentry.IsDirty();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   686
	TEST(!rc);
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   687
	
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   688
	bentry.ClearL();
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   689
	CleanupStack::PopAndDestroy(pool);
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   690
	}
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   691
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   692
LOCAL_C void DoTestsL()
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   693
	{
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   694
	TheTest.Start(_L("@SYMTestCaseID:SYSLIB-STORE-CT-1121 Basic operations"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   695
	test1L();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   696
	TheTest.Next(_L("@SYMTestCaseID:SYSLIB-STORE-CT-1122 Large set TUint32"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   697
	test2L();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   698
	TheTest.Next(_L("@SYMTestCaseID:SYSLIB-STORE-CT-1125 Tokens and streaming"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   699
	test3L();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   700
	TheTest.Next(_L("@SYMTestCaseID:PDS-STORE-CT-4015 Forgotten API"));
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   701
	test4L();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   702
	TheTest.Next(_L("@SYMTestCaseID:PDS-STORE-CT-4065: TStreamPos test"));
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   703
	StreamPosTest();
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   704
	TheTest.Next(_L("@SYMTestCaseID:PDS-STORE-CT-4066: TBtreeFix test"));
51
7d4490026038 201037_06
hgs
parents: 0
diff changeset
   705
	BTreeFixTestL();
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   706
	}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   707
55
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   708
TInt E32Main()
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   709
	{
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   710
    TheTest.Title();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   711
    
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   712
    CTrapCleanup* tc = CTrapCleanup::New();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   713
    TheTest(tc != NULL);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   714
    
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   715
    __UHEAP_MARK;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   716
    
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   717
    TRAPD(err, DoTestsL());
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   718
    TEST2(err, KErrNone);
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   719
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   720
    __UHEAP_MARKEND;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   721
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   722
    User::Heap().Check();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   723
    
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   724
    TheTest.End();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   725
    TheTest.Close();
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   726
    
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   727
    delete tc;
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   728
44f437012c90 201041_01
hgs
parents: 51
diff changeset
   729
    return KErrNone;
0
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   730
	}
08ec8eefde2f Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   731