os/ossrv/lowlevellibsandfws/apputils/tsrc/t_strings/StringPoolUnitTest.cpp
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
// The unit test class implementations for the RStringPool class.
sl@0
    15
// 
sl@0
    16
//
sl@0
    17
sl@0
    18
#ifdef __WINS__
sl@0
    19
#pragma warning(disable : 4097)			// disable typedef warning
sl@0
    20
#endif
sl@0
    21
sl@0
    22
#include "StringPoolUnitTest.h"
sl@0
    23
sl@0
    24
sl@0
    25
sl@0
    26
// ______________________________________________________________________________
sl@0
    27
//
sl@0
    28
_LIT(KStringPoolCaseInsensitiveUnitTest,"CStringPool_CaseInsensitive_UnitTest");
sl@0
    29
sl@0
    30
CStringPool_CaseInsensitive_UnitTest* CStringPool_CaseInsensitive_UnitTest::NewL(CDataLogger& aDataLogger,
sl@0
    31
											MUnitTestObserver& aObserver)
sl@0
    32
	{
sl@0
    33
	CStringPool_CaseInsensitive_UnitTest* self = 
sl@0
    34
					new(ELeave) CStringPool_CaseInsensitive_UnitTest(aDataLogger,
sl@0
    35
																aObserver);
sl@0
    36
	CleanupStack::PushL(self);
sl@0
    37
	self->ConstructL();
sl@0
    38
	CleanupStack::Pop();
sl@0
    39
	return self; 
sl@0
    40
	}
sl@0
    41
sl@0
    42
inline TInt CStringPool_CaseInsensitive_UnitTest::RunError(TInt aError)
sl@0
    43
	{
sl@0
    44
	// The RunL left so chain to the base first and then cleanup
sl@0
    45
	TInt error = CUnitTest::RunError(aError);	// Chain to base
sl@0
    46
	delete iUTContext;
sl@0
    47
	delete iStateAccessor;
sl@0
    48
	delete iTrueValidator;
sl@0
    49
	delete iFalseValidator;
sl@0
    50
	return error;
sl@0
    51
	}
sl@0
    52
sl@0
    53
inline CStringPool_CaseInsensitive_UnitTest::~CStringPool_CaseInsensitive_UnitTest()
sl@0
    54
	{
sl@0
    55
	// Simply delete our test class instance
sl@0
    56
	delete iUTContext;
sl@0
    57
	delete iStateAccessor;
sl@0
    58
	delete iTrueValidator;
sl@0
    59
	delete iFalseValidator;
sl@0
    60
	}
sl@0
    61
sl@0
    62
inline CStringPool_CaseInsensitive_UnitTest::CStringPool_CaseInsensitive_UnitTest(CDataLogger& aDataLogger,
sl@0
    63
																	MUnitTestObserver& aObserver)
sl@0
    64
: CUnitTest(KStringPoolCaseInsensitiveUnitTest, aDataLogger, aObserver)
sl@0
    65
	{
sl@0
    66
	//Do nothing
sl@0
    67
	}
sl@0
    68
sl@0
    69
// Now the Individual transitions need to be added.
sl@0
    70
inline void CStringPool_CaseInsensitive_UnitTest::ConstructL()
sl@0
    71
	{
sl@0
    72
	// Perform the base class initialization
sl@0
    73
	UnitTestConstructL();
sl@0
    74
sl@0
    75
	// Create the Unit test state accessor
sl@0
    76
	iStateAccessor = new(ELeave) TStringPool_StateAccessor;
sl@0
    77
	// Construct the Unit test context.
sl@0
    78
	iUTContext = new(ELeave) CStringPool_UnitTestContext(iDataLogger, *iStateAccessor, *this);
sl@0
    79
	iTrueValidator = new(ELeave) TStringPool_True_TransitionValidator(*iUTContext);
sl@0
    80
	iFalseValidator = new(ELeave) TStringPool_False_TransitionValidator(*iUTContext);
sl@0
    81
	AddTransitionL(new(ELeave)CStringPool_NewL_Transition(*iUTContext,*iFalseValidator));
sl@0
    82
	AddTransitionL(new(ELeave)CStringPool_FAeqA_Transition(*iUTContext,*iTrueValidator));
sl@0
    83
	AddTransitionL(new(ELeave)CStringPool_FAneA_Transition(*iUTContext,*iFalseValidator));
sl@0
    84
	AddTransitionL(new(ELeave)CStringPool_FAneB_Transition(*iUTContext,*iTrueValidator));
sl@0
    85
	AddTransitionL(new(ELeave)CStringPool_FAeqB_Transition(*iUTContext,*iFalseValidator));
sl@0
    86
	AddTransitionL(new(ELeave)CStringPool_FAeqD_Transition(*iUTContext,*iTrueValidator));
sl@0
    87
	AddTransitionL(new(ELeave)CStringPool_FAneD_Transition(*iUTContext,*iFalseValidator));
sl@0
    88
	AddTransitionL(new(ELeave)CStringPool_FDesc_Transition(*iUTContext,*iFalseValidator));
sl@0
    89
	AddTransitionL(new(ELeave)CStringPool_FCopy_Transition(*iUTContext,*iTrueValidator));
sl@0
    90
	AddTransitionL(new(ELeave)CStringPool_FCDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
    91
	AddTransitionL(new(ELeave)CStringPool_FClose_Transition(*iUTContext,*iFalseValidator));
sl@0
    92
	AddTransitionL(new(ELeave)CStringPool_FStringToken_Transition(*iUTContext,*iTrueValidator));
sl@0
    93
	AddTransitionL(new(ELeave)CStringPool_FCDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
    94
	AddTransitionL(new(ELeave)CStringPool_Dtor_Transition(*iUTContext,*iFalseValidator));
sl@0
    95
	}
sl@0
    96
sl@0
    97
sl@0
    98
// ______________________________________________________________________________
sl@0
    99
//
sl@0
   100
_LIT(KStringPoolSmallTableUnitTest,"CStringPool_ShortTable_UnitTest");
sl@0
   101
sl@0
   102
CStringPool_ShortTable_UnitTest* CStringPool_ShortTable_UnitTest::NewL(CDataLogger& aDataLogger,
sl@0
   103
											MUnitTestObserver& aObserver)
sl@0
   104
	{
sl@0
   105
	CStringPool_ShortTable_UnitTest* self = 
sl@0
   106
					new(ELeave) CStringPool_ShortTable_UnitTest(aDataLogger,
sl@0
   107
																aObserver);
sl@0
   108
	CleanupStack::PushL(self);
sl@0
   109
	self->ConstructL();
sl@0
   110
	CleanupStack::Pop();
sl@0
   111
	return self; 
sl@0
   112
	}
sl@0
   113
sl@0
   114
inline TInt CStringPool_ShortTable_UnitTest::RunError(TInt aError)
sl@0
   115
	{
sl@0
   116
	// The RunL left so chain to the base first and then cleanup
sl@0
   117
	TInt error = CUnitTest::RunError(aError);	// Chain to base
sl@0
   118
	delete iUTContext;
sl@0
   119
	delete iStateAccessor;
sl@0
   120
	delete iTrueValidator;
sl@0
   121
	delete iFalseValidator;
sl@0
   122
	return error;
sl@0
   123
	}
sl@0
   124
sl@0
   125
inline CStringPool_ShortTable_UnitTest::~CStringPool_ShortTable_UnitTest()
sl@0
   126
	{
sl@0
   127
	// Simply delete our test class instance
sl@0
   128
	delete iUTContext;
sl@0
   129
	delete iStateAccessor;
sl@0
   130
	delete iTrueValidator;
sl@0
   131
	delete iFalseValidator;
sl@0
   132
	}
sl@0
   133
sl@0
   134
inline CStringPool_ShortTable_UnitTest::CStringPool_ShortTable_UnitTest(CDataLogger& aDataLogger,
sl@0
   135
																	MUnitTestObserver& aObserver)
sl@0
   136
: CUnitTest(KStringPoolSmallTableUnitTest, aDataLogger, aObserver)
sl@0
   137
	{
sl@0
   138
	//Do nothing
sl@0
   139
	}
sl@0
   140
sl@0
   141
// Now the Individual transitions need to be added.
sl@0
   142
inline void CStringPool_ShortTable_UnitTest::ConstructL()
sl@0
   143
	{
sl@0
   144
	// Perform the base class initialization
sl@0
   145
	UnitTestConstructL();
sl@0
   146
sl@0
   147
	// Create the Unit test state accessor
sl@0
   148
	iStateAccessor = new(ELeave) TStringPool_StateAccessor;
sl@0
   149
	// Construct the Unit test context.
sl@0
   150
	iUTContext = new(ELeave) CStringPool_UnitTestContext(iDataLogger, *iStateAccessor, *this);
sl@0
   151
	iTrueValidator = new(ELeave) TStringPool_True_TransitionValidator(*iUTContext);
sl@0
   152
	iFalseValidator = new(ELeave) TStringPool_False_TransitionValidator(*iUTContext);
sl@0
   153
	AddTransitionL(new(ELeave)CStringPool_ShortCtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   154
	// testing  defect fixes :  BEU-55DJG3, KRN-56NDEZ,APY-57TEH3,  HAD-57SK27
sl@0
   155
	AddTransitionL(new(ELeave)CStringPool_BEU55DJG3_Transition(*iUTContext,*iTrueValidator));	
sl@0
   156
	AddTransitionL(new(ELeave)CStringPool_KRN56NDEZ_Transition(*iUTContext,*iTrueValidator));
sl@0
   157
	AddTransitionL(new(ELeave)CStringPool_APY57TEH3_Transition(*iUTContext,*iTrueValidator));
sl@0
   158
	AddTransitionL(new(ELeave)CStringPool_HAD57SK27_Transition(*iUTContext,*iTrueValidator));
sl@0
   159
sl@0
   160
	// end defect fix tests
sl@0
   161
	AddTransitionL(new(ELeave)CStringPool_FAeqA_Transition(*iUTContext,*iTrueValidator));
sl@0
   162
	AddTransitionL(new(ELeave)CStringPool_FAneA_Transition(*iUTContext,*iFalseValidator));
sl@0
   163
	AddTransitionL(new(ELeave)CStringPool_FAneB_Transition(*iUTContext,*iTrueValidator));
sl@0
   164
	AddTransitionL(new(ELeave)CStringPool_FAeqB_Transition(*iUTContext,*iFalseValidator));
sl@0
   165
	AddTransitionL(new(ELeave)CStringPool_FAeqD_Transition(*iUTContext,*iTrueValidator));
sl@0
   166
	AddTransitionL(new(ELeave)CStringPool_FAneD_Transition(*iUTContext,*iFalseValidator));
sl@0
   167
	AddTransitionL(new(ELeave)CStringPool_FDesc_Transition(*iUTContext,*iFalseValidator));
sl@0
   168
	AddTransitionL(new(ELeave)CStringPool_FCopy_Transition(*iUTContext,*iTrueValidator));
sl@0
   169
	AddTransitionL(new(ELeave)CStringPool_FCDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   170
	AddTransitionL(new(ELeave)CStringPool_FClose_Transition(*iUTContext,*iFalseValidator));
sl@0
   171
	AddTransitionL(new(ELeave)CStringPool_FInt_Transition(*iUTContext,*iTrueValidator));
sl@0
   172
	
sl@0
   173
	AddTransitionL(new(ELeave)CStringPool_StringF_Index_Table_Transition(*iUTContext,*iTrueValidator));
sl@0
   174
	AddTransitionL(new(ELeave)CStringPool_FStringToken_Transition(*iUTContext,*iTrueValidator));
sl@0
   175
	AddTransitionL(new(ELeave)CStringPool_FCDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   176
	AddTransitionL(new(ELeave)CStringPool_Dtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   177
	AddTransitionL(new(ELeave)CStringPool_Short_CB_Transition(*iUTContext,*iTrueValidator));
sl@0
   178
	
sl@0
   179
	}
sl@0
   180
sl@0
   181
sl@0
   182
// ______________________________________________________________________________
sl@0
   183
//
sl@0
   184
_LIT(KStringPoolIrrelevantTableUnitTest,"CStringPool_IrrelevantTable_UnitTest");
sl@0
   185
sl@0
   186
CStringPool_IrrelevantTable_UnitTest* CStringPool_IrrelevantTable_UnitTest::NewL(CDataLogger& aDataLogger,
sl@0
   187
											MUnitTestObserver& aObserver)
sl@0
   188
	{
sl@0
   189
	CStringPool_IrrelevantTable_UnitTest* self = 
sl@0
   190
					new(ELeave) CStringPool_IrrelevantTable_UnitTest(aDataLogger,
sl@0
   191
																aObserver);
sl@0
   192
	CleanupStack::PushL(self);
sl@0
   193
	self->ConstructL();
sl@0
   194
	CleanupStack::Pop();
sl@0
   195
	return self; 
sl@0
   196
	}
sl@0
   197
sl@0
   198
inline TInt CStringPool_IrrelevantTable_UnitTest::RunError(TInt aError)
sl@0
   199
	{
sl@0
   200
	// The RunL left so chain to the base first and then cleanup
sl@0
   201
	TInt error = CUnitTest::RunError(aError);	// Chain to base
sl@0
   202
	delete iUTContext;
sl@0
   203
	delete iStateAccessor;
sl@0
   204
	delete iTrueValidator;
sl@0
   205
	delete iFalseValidator;
sl@0
   206
	return error;
sl@0
   207
	}
sl@0
   208
sl@0
   209
inline CStringPool_IrrelevantTable_UnitTest::~CStringPool_IrrelevantTable_UnitTest()
sl@0
   210
	{
sl@0
   211
	// Simply delete our test class instance
sl@0
   212
	delete iUTContext;
sl@0
   213
	delete iStateAccessor;
sl@0
   214
	delete iTrueValidator;
sl@0
   215
	delete iFalseValidator;
sl@0
   216
	}
sl@0
   217
sl@0
   218
inline CStringPool_IrrelevantTable_UnitTest::CStringPool_IrrelevantTable_UnitTest(CDataLogger& aDataLogger,
sl@0
   219
																	MUnitTestObserver& aObserver)
sl@0
   220
: CUnitTest(KStringPoolIrrelevantTableUnitTest, aDataLogger, aObserver)
sl@0
   221
	{
sl@0
   222
	//Do nothing
sl@0
   223
	}
sl@0
   224
sl@0
   225
// Now the Individual transitions need to be added.
sl@0
   226
inline void CStringPool_IrrelevantTable_UnitTest::ConstructL()
sl@0
   227
	{
sl@0
   228
	// Perform the base class initialization
sl@0
   229
	UnitTestConstructL();
sl@0
   230
sl@0
   231
	// Create the Unit test state accessor
sl@0
   232
	iStateAccessor = new(ELeave) TStringPool_StateAccessor;
sl@0
   233
	// Construct the Unit test context.
sl@0
   234
	iUTContext = new(ELeave) CStringPool_UnitTestContext(iDataLogger, *iStateAccessor, *this);
sl@0
   235
	iTrueValidator = new(ELeave) TStringPool_True_TransitionValidator(*iUTContext);
sl@0
   236
	iFalseValidator = new(ELeave) TStringPool_False_TransitionValidator(*iUTContext);
sl@0
   237
	AddTransitionL(new(ELeave)CStringPool_IrrelevantCtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   238
	AddTransitionL(new(ELeave)CStringPool_FAeqA_Transition(*iUTContext,*iTrueValidator));
sl@0
   239
	AddTransitionL(new(ELeave)CStringPool_FAneA_Transition(*iUTContext,*iFalseValidator));
sl@0
   240
	AddTransitionL(new(ELeave)CStringPool_FAneB_Transition(*iUTContext,*iTrueValidator));
sl@0
   241
	AddTransitionL(new(ELeave)CStringPool_FAeqB_Transition(*iUTContext,*iFalseValidator));
sl@0
   242
	AddTransitionL(new(ELeave)CStringPool_FAeqD_Transition(*iUTContext,*iTrueValidator));
sl@0
   243
	AddTransitionL(new(ELeave)CStringPool_FAneD_Transition(*iUTContext,*iFalseValidator));
sl@0
   244
	AddTransitionL(new(ELeave)CStringPool_FDesc_Transition(*iUTContext,*iFalseValidator));
sl@0
   245
	AddTransitionL(new(ELeave)CStringPool_FCopy_Transition(*iUTContext,*iTrueValidator));
sl@0
   246
	AddTransitionL(new(ELeave)CStringPool_FCDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   247
	AddTransitionL(new(ELeave)CStringPool_FClose_Transition(*iUTContext,*iFalseValidator));
sl@0
   248
	AddTransitionL(new(ELeave)CStringPool_FInt_Transition(*iUTContext,*iTrueValidator));
sl@0
   249
	AddTransitionL(new(ELeave)CStringPool_FStringToken_Transition(*iUTContext,*iTrueValidator));
sl@0
   250
	AddTransitionL(new(ELeave)CStringPool_FCDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   251
	AddTransitionL(new(ELeave)CStringPool_Dtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   252
	}
sl@0
   253
sl@0
   254
sl@0
   255
// ______________________________________________________________________________
sl@0
   256
//
sl@0
   257
_LIT(KStringPoolLargeTableUnitTest,"CStringPool_LongTable_UnitTest");
sl@0
   258
sl@0
   259
CStringPool_LongTable_UnitTest* CStringPool_LongTable_UnitTest::NewL(CDataLogger& aDataLogger,
sl@0
   260
											MUnitTestObserver& aObserver)
sl@0
   261
	{
sl@0
   262
	CStringPool_LongTable_UnitTest* self = 
sl@0
   263
					new(ELeave) CStringPool_LongTable_UnitTest(aDataLogger,
sl@0
   264
																aObserver);
sl@0
   265
	CleanupStack::PushL(self);
sl@0
   266
	self->ConstructL();
sl@0
   267
	CleanupStack::Pop();
sl@0
   268
	return self; 
sl@0
   269
	}
sl@0
   270
sl@0
   271
inline TInt CStringPool_LongTable_UnitTest::RunError(TInt aError)
sl@0
   272
	{
sl@0
   273
	// The RunL left so chain to the base first and then cleanup
sl@0
   274
	TInt error = CUnitTest::RunError(aError);	// Chain to base
sl@0
   275
	delete iUTContext;
sl@0
   276
	delete iStateAccessor;
sl@0
   277
	delete iTrueValidator;
sl@0
   278
	delete iFalseValidator;
sl@0
   279
	return error;
sl@0
   280
	}
sl@0
   281
sl@0
   282
inline CStringPool_LongTable_UnitTest::~CStringPool_LongTable_UnitTest()
sl@0
   283
	{
sl@0
   284
	// Simply delete our test class instance
sl@0
   285
	delete iUTContext;
sl@0
   286
	delete iStateAccessor;
sl@0
   287
	delete iTrueValidator;
sl@0
   288
	delete iFalseValidator;
sl@0
   289
	}
sl@0
   290
sl@0
   291
inline CStringPool_LongTable_UnitTest::CStringPool_LongTable_UnitTest(CDataLogger& aDataLogger,
sl@0
   292
																	MUnitTestObserver& aObserver)
sl@0
   293
: CUnitTest(KStringPoolLargeTableUnitTest, aDataLogger, aObserver)
sl@0
   294
	{
sl@0
   295
	//Do nothing
sl@0
   296
	}
sl@0
   297
sl@0
   298
// Now the Individual transitions need to be added.
sl@0
   299
inline void CStringPool_LongTable_UnitTest::ConstructL()
sl@0
   300
	{
sl@0
   301
	// Perform the base class initialization
sl@0
   302
	UnitTestConstructL();
sl@0
   303
sl@0
   304
	// Create the Unit test state accessor
sl@0
   305
	iStateAccessor = new(ELeave) TStringPool_StateAccessor;
sl@0
   306
	// Construct the Unit test context.
sl@0
   307
	iUTContext = new(ELeave) CStringPool_UnitTestContext(iDataLogger, *iStateAccessor, *this);
sl@0
   308
	iTrueValidator = new(ELeave) TStringPool_True_TransitionValidator(*iUTContext);
sl@0
   309
	iFalseValidator = new(ELeave) TStringPool_False_TransitionValidator(*iUTContext);
sl@0
   310
	AddTransitionL(new(ELeave)CStringPool_LongCtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   311
	AddTransitionL(new(ELeave)CStringPool_FAeqA_Transition(*iUTContext,*iTrueValidator));
sl@0
   312
	AddTransitionL(new(ELeave)CStringPool_FAneA_Transition(*iUTContext,*iFalseValidator));
sl@0
   313
	AddTransitionL(new(ELeave)CStringPool_FAneB_Transition(*iUTContext,*iTrueValidator));
sl@0
   314
	AddTransitionL(new(ELeave)CStringPool_FAeqB_Transition(*iUTContext,*iFalseValidator));
sl@0
   315
	AddTransitionL(new(ELeave)CStringPool_FAeqD_Transition(*iUTContext,*iTrueValidator));
sl@0
   316
	AddTransitionL(new(ELeave)CStringPool_FAneD_Transition(*iUTContext,*iFalseValidator));
sl@0
   317
	AddTransitionL(new(ELeave)CStringPool_FDesc_Transition(*iUTContext,*iFalseValidator));
sl@0
   318
	AddTransitionL(new(ELeave)CStringPool_FCopy_Transition(*iUTContext,*iTrueValidator));
sl@0
   319
	AddTransitionL(new(ELeave)CStringPool_FCDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   320
	AddTransitionL(new(ELeave)CStringPool_FClose_Transition(*iUTContext,*iFalseValidator));
sl@0
   321
	AddTransitionL(new(ELeave)CStringPool_FInt_Transition(*iUTContext,*iTrueValidator));
sl@0
   322
sl@0
   323
	AddTransitionL(new(ELeave)CStringPool_StringF_Index_Table_Transition(*iUTContext,*iTrueValidator));
sl@0
   324
	AddTransitionL(new(ELeave)CStringPool_FStringToken_Transition(*iUTContext,*iTrueValidator));
sl@0
   325
	AddTransitionL(new(ELeave)CStringPool_FCDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   326
	AddTransitionL(new(ELeave)CStringPool_Dtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   327
	}
sl@0
   328
sl@0
   329
// ______________________________________________________________________________
sl@0
   330
//
sl@0
   331
_LIT(KStringPoolCaseSensitiveUnitTest,"CStringPool_CaseSensitive_UnitTest");
sl@0
   332
sl@0
   333
CStringPool_CaseSensitive_UnitTest* CStringPool_CaseSensitive_UnitTest::NewL(CDataLogger& aDataLogger,
sl@0
   334
											MUnitTestObserver& aObserver)
sl@0
   335
	{
sl@0
   336
	CStringPool_CaseSensitive_UnitTest* self = 
sl@0
   337
					new(ELeave) CStringPool_CaseSensitive_UnitTest(aDataLogger,
sl@0
   338
																aObserver);
sl@0
   339
	CleanupStack::PushL(self);
sl@0
   340
	self->ConstructL();
sl@0
   341
	CleanupStack::Pop(self);
sl@0
   342
	return self; 
sl@0
   343
	}
sl@0
   344
sl@0
   345
inline TInt CStringPool_CaseSensitive_UnitTest::RunError(TInt aError)
sl@0
   346
	{
sl@0
   347
	// The RunL left so chain to the base first and then cleanup
sl@0
   348
	TInt error = CUnitTest::RunError(aError);	// Chain to base
sl@0
   349
	delete iUTContext;
sl@0
   350
	delete iStateAccessor;
sl@0
   351
	delete iTrueValidator;
sl@0
   352
	delete iFalseValidator;
sl@0
   353
	return error;
sl@0
   354
	}
sl@0
   355
sl@0
   356
inline CStringPool_CaseSensitive_UnitTest::~CStringPool_CaseSensitive_UnitTest()
sl@0
   357
	{
sl@0
   358
	// Simply delete our test class instance
sl@0
   359
	delete iUTContext;
sl@0
   360
	delete iStateAccessor;
sl@0
   361
	delete iTrueValidator;
sl@0
   362
	delete iFalseValidator;
sl@0
   363
	}
sl@0
   364
sl@0
   365
inline CStringPool_CaseSensitive_UnitTest::CStringPool_CaseSensitive_UnitTest(CDataLogger& aDataLogger,
sl@0
   366
																	MUnitTestObserver& aObserver)
sl@0
   367
: CUnitTest(KStringPoolCaseSensitiveUnitTest, aDataLogger, aObserver)
sl@0
   368
	{
sl@0
   369
	//Do nothing
sl@0
   370
	}
sl@0
   371
sl@0
   372
// Now the Individual transitions need to be added.
sl@0
   373
inline void CStringPool_CaseSensitive_UnitTest::ConstructL()
sl@0
   374
	{
sl@0
   375
	// Perform the base class initialization
sl@0
   376
	UnitTestConstructL();
sl@0
   377
sl@0
   378
	// Create the Unit test state accessor
sl@0
   379
	iStateAccessor = new(ELeave) TStringPool_StateAccessor;
sl@0
   380
	// Construct the Unit test context.
sl@0
   381
	iUTContext = new(ELeave) CStringPool_UnitTestContext(iDataLogger, *iStateAccessor, *this);
sl@0
   382
	iTrueValidator = new(ELeave) TStringPool_True_TransitionValidator(*iUTContext);
sl@0
   383
	iFalseValidator = new(ELeave) TStringPool_False_TransitionValidator(*iUTContext);
sl@0
   384
sl@0
   385
	AddTransitionL(new(ELeave)CStringPool_ShortCSCtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   386
	AddTransitionL(new(ELeave)CStringPool_AeqA_Transition(*iUTContext,*iTrueValidator));
sl@0
   387
	AddTransitionL(new(ELeave)CStringPool_AneA_Transition(*iUTContext,*iFalseValidator));
sl@0
   388
	AddTransitionL(new(ELeave)CStringPool_AneB_Transition(*iUTContext,*iTrueValidator));
sl@0
   389
	AddTransitionL(new(ELeave)CStringPool_AeqB_Transition(*iUTContext,*iFalseValidator));
sl@0
   390
	AddTransitionL(new(ELeave)CStringPool_AeqD_Transition(*iUTContext,*iTrueValidator));
sl@0
   391
	AddTransitionL(new(ELeave)CStringPool_AneD_Transition(*iUTContext,*iFalseValidator));
sl@0
   392
	AddTransitionL(new(ELeave)CStringPool_Desc_Transition(*iUTContext,*iFalseValidator));
sl@0
   393
	AddTransitionL(new(ELeave)CStringPool_Copy_Transition(*iUTContext,*iTrueValidator));
sl@0
   394
	AddTransitionL(new(ELeave)CStringPool_CDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   395
	AddTransitionL(new(ELeave)CStringPool_Close_Transition(*iUTContext,*iFalseValidator));
sl@0
   396
	AddTransitionL(new(ELeave)CStringPool_Int_Transition(*iUTContext,*iTrueValidator));
sl@0
   397
sl@0
   398
	AddTransitionL(new(ELeave)CStringPool_String_Index_Table_Transition(*iUTContext,*iTrueValidator));
sl@0
   399
	AddTransitionL(new(ELeave)CStringPool_StringToken_Transition(*iUTContext,*iTrueValidator));
sl@0
   400
	AddTransitionL(new(ELeave)CStringPool_CDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   401
	AddTransitionL(new(ELeave)CStringPool_Dtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   402
	}
sl@0
   403
sl@0
   404
// ______________________________________________________________________________
sl@0
   405
//
sl@0
   406
_LIT(KStringPoolSmallTableCSUnitTest,"CStringPool_ShortTableCS_UnitTest");
sl@0
   407
sl@0
   408
CStringPool_ShortTableCS_UnitTest* CStringPool_ShortTableCS_UnitTest::NewL(CDataLogger& aDataLogger,
sl@0
   409
											MUnitTestObserver& aObserver)
sl@0
   410
	{
sl@0
   411
	CStringPool_ShortTableCS_UnitTest* self = 
sl@0
   412
					new(ELeave) CStringPool_ShortTableCS_UnitTest(aDataLogger,
sl@0
   413
																aObserver);
sl@0
   414
	CleanupStack::PushL(self);
sl@0
   415
	self->ConstructL();
sl@0
   416
	CleanupStack::Pop(self);
sl@0
   417
	return self; 
sl@0
   418
	}
sl@0
   419
sl@0
   420
inline TInt CStringPool_ShortTableCS_UnitTest::RunError(TInt aError)
sl@0
   421
	{
sl@0
   422
	// The RunL left so chain to the base first and then cleanup
sl@0
   423
	TInt error = CUnitTest::RunError(aError);	// Chain to base
sl@0
   424
	delete iUTContext;
sl@0
   425
	delete iStateAccessor;
sl@0
   426
	delete iTrueValidator;
sl@0
   427
	delete iFalseValidator;
sl@0
   428
	return error;
sl@0
   429
	}
sl@0
   430
sl@0
   431
inline CStringPool_ShortTableCS_UnitTest::~CStringPool_ShortTableCS_UnitTest()
sl@0
   432
	{
sl@0
   433
	// Simply delete our test class instance
sl@0
   434
	delete iUTContext;
sl@0
   435
	delete iStateAccessor;
sl@0
   436
	delete iTrueValidator;
sl@0
   437
	delete iFalseValidator;
sl@0
   438
	}
sl@0
   439
sl@0
   440
inline CStringPool_ShortTableCS_UnitTest::CStringPool_ShortTableCS_UnitTest(CDataLogger& aDataLogger,
sl@0
   441
																	MUnitTestObserver& aObserver)
sl@0
   442
: CUnitTest(KStringPoolSmallTableCSUnitTest, aDataLogger, aObserver)
sl@0
   443
	{
sl@0
   444
	//Do nothing
sl@0
   445
	}
sl@0
   446
sl@0
   447
// Now the Individual transitions need to be added.
sl@0
   448
inline void CStringPool_ShortTableCS_UnitTest::ConstructL()
sl@0
   449
	{
sl@0
   450
	// Perform the base class initialization
sl@0
   451
	UnitTestConstructL();
sl@0
   452
sl@0
   453
	// Create the Unit test state accessor
sl@0
   454
	iStateAccessor = new(ELeave) TStringPool_StateAccessor;
sl@0
   455
	// Construct the Unit test context.
sl@0
   456
	iUTContext = new(ELeave) CStringPool_UnitTestContext(iDataLogger, *iStateAccessor, *this);
sl@0
   457
	iTrueValidator = new(ELeave) TStringPool_True_TransitionValidator(*iUTContext);
sl@0
   458
	iFalseValidator = new(ELeave) TStringPool_False_TransitionValidator(*iUTContext);
sl@0
   459
	AddTransitionL(new(ELeave)CStringPool_ShortCSCtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   460
	AddTransitionL(new(ELeave)CStringPool_AeqA_Transition(*iUTContext,*iTrueValidator));
sl@0
   461
	AddTransitionL(new(ELeave)CStringPool_AneA_Transition(*iUTContext,*iFalseValidator));
sl@0
   462
	AddTransitionL(new(ELeave)CStringPool_AneB_Transition(*iUTContext,*iTrueValidator));
sl@0
   463
	AddTransitionL(new(ELeave)CStringPool_AeqB_Transition(*iUTContext,*iFalseValidator));
sl@0
   464
	AddTransitionL(new(ELeave)CStringPool_AeqD_Transition(*iUTContext,*iTrueValidator));
sl@0
   465
	AddTransitionL(new(ELeave)CStringPool_AneD_Transition(*iUTContext,*iFalseValidator));
sl@0
   466
	AddTransitionL(new(ELeave)CStringPool_Desc_Transition(*iUTContext,*iFalseValidator));
sl@0
   467
	AddTransitionL(new(ELeave)CStringPool_Copy_Transition(*iUTContext,*iTrueValidator));
sl@0
   468
	AddTransitionL(new(ELeave)CStringPool_CDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   469
	AddTransitionL(new(ELeave)CStringPool_Close_Transition(*iUTContext,*iFalseValidator));
sl@0
   470
	AddTransitionL(new(ELeave)CStringPool_Int_Transition(*iUTContext,*iTrueValidator));
sl@0
   471
	
sl@0
   472
	AddTransitionL(new(ELeave)CStringPool_String_Index_Table_Transition(*iUTContext,*iTrueValidator));
sl@0
   473
	AddTransitionL(new(ELeave)CStringPool_StringToken_Transition(*iUTContext,*iTrueValidator));
sl@0
   474
	AddTransitionL(new(ELeave)CStringPool_CDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   475
	AddTransitionL(new(ELeave)CStringPool_Dtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   476
	
sl@0
   477
	
sl@0
   478
	}
sl@0
   479
sl@0
   480
// ______________________________________________________________________________
sl@0
   481
//
sl@0
   482
_LIT(KStringPoolIrrelevantTableCSUnitTest,"CStringPool_IrrelevantTableCS_UnitTest");
sl@0
   483
sl@0
   484
CStringPool_IrrelevantTableCS_UnitTest* CStringPool_IrrelevantTableCS_UnitTest::NewL(CDataLogger& aDataLogger,
sl@0
   485
											MUnitTestObserver& aObserver)
sl@0
   486
	{
sl@0
   487
	CStringPool_IrrelevantTableCS_UnitTest* self = 
sl@0
   488
					new(ELeave) CStringPool_IrrelevantTableCS_UnitTest(aDataLogger,
sl@0
   489
																aObserver);
sl@0
   490
	CleanupStack::PushL(self);
sl@0
   491
	self->ConstructL();
sl@0
   492
	CleanupStack::Pop(self);
sl@0
   493
	return self; 
sl@0
   494
	}
sl@0
   495
sl@0
   496
inline TInt CStringPool_IrrelevantTableCS_UnitTest::RunError(TInt aError)
sl@0
   497
	{
sl@0
   498
	// The RunL left so chain to the base first and then cleanup
sl@0
   499
	TInt error = CUnitTest::RunError(aError);	// Chain to base
sl@0
   500
	delete iUTContext;
sl@0
   501
	delete iStateAccessor;
sl@0
   502
	delete iTrueValidator;
sl@0
   503
	delete iFalseValidator;
sl@0
   504
	return error;
sl@0
   505
	}
sl@0
   506
sl@0
   507
inline CStringPool_IrrelevantTableCS_UnitTest::~CStringPool_IrrelevantTableCS_UnitTest()
sl@0
   508
	{
sl@0
   509
	// Simply delete our test class instance
sl@0
   510
	delete iUTContext;
sl@0
   511
	delete iStateAccessor;
sl@0
   512
	delete iTrueValidator;
sl@0
   513
	delete iFalseValidator;
sl@0
   514
	}
sl@0
   515
sl@0
   516
inline CStringPool_IrrelevantTableCS_UnitTest::CStringPool_IrrelevantTableCS_UnitTest(CDataLogger& aDataLogger,
sl@0
   517
																	MUnitTestObserver& aObserver)
sl@0
   518
: CUnitTest(KStringPoolIrrelevantTableCSUnitTest, aDataLogger, aObserver)
sl@0
   519
	{
sl@0
   520
	//Do nothing
sl@0
   521
	}
sl@0
   522
sl@0
   523
// Now the Individual transitions need to be added.
sl@0
   524
inline void CStringPool_IrrelevantTableCS_UnitTest::ConstructL()
sl@0
   525
	{
sl@0
   526
	// Perform the base class initialization
sl@0
   527
	UnitTestConstructL();
sl@0
   528
sl@0
   529
	// Create the Unit test state accessor
sl@0
   530
	iStateAccessor = new(ELeave) TStringPool_StateAccessor;
sl@0
   531
	// Construct the Unit test context.
sl@0
   532
	iUTContext = new(ELeave) CStringPool_UnitTestContext(iDataLogger, *iStateAccessor, *this);
sl@0
   533
	iTrueValidator = new(ELeave) TStringPool_True_TransitionValidator(*iUTContext);
sl@0
   534
	iFalseValidator = new(ELeave) TStringPool_False_TransitionValidator(*iUTContext);
sl@0
   535
	AddTransitionL(new(ELeave)CStringPool_IrrelevantCSCtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   536
	AddTransitionL(new(ELeave)CStringPool_AeqA_Transition(*iUTContext,*iTrueValidator));
sl@0
   537
	AddTransitionL(new(ELeave)CStringPool_AneA_Transition(*iUTContext,*iFalseValidator));
sl@0
   538
	AddTransitionL(new(ELeave)CStringPool_AneB_Transition(*iUTContext,*iTrueValidator));
sl@0
   539
	AddTransitionL(new(ELeave)CStringPool_AeqB_Transition(*iUTContext,*iFalseValidator));
sl@0
   540
	AddTransitionL(new(ELeave)CStringPool_AeqD_Transition(*iUTContext,*iTrueValidator));
sl@0
   541
	AddTransitionL(new(ELeave)CStringPool_AneD_Transition(*iUTContext,*iFalseValidator));
sl@0
   542
	AddTransitionL(new(ELeave)CStringPool_Desc_Transition(*iUTContext,*iFalseValidator));
sl@0
   543
	AddTransitionL(new(ELeave)CStringPool_Copy_Transition(*iUTContext,*iTrueValidator));
sl@0
   544
	AddTransitionL(new(ELeave)CStringPool_CDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   545
	AddTransitionL(new(ELeave)CStringPool_Close_Transition(*iUTContext,*iFalseValidator));
sl@0
   546
	AddTransitionL(new(ELeave)CStringPool_Int_Transition(*iUTContext,*iTrueValidator));
sl@0
   547
	AddTransitionL(new(ELeave)CStringPool_StringToken_Transition(*iUTContext,*iTrueValidator));
sl@0
   548
	AddTransitionL(new(ELeave)CStringPool_CDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   549
	AddTransitionL(new(ELeave)CStringPool_Dtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   550
	}
sl@0
   551
sl@0
   552
// ______________________________________________________________________________
sl@0
   553
//
sl@0
   554
_LIT(KStringPoolLargeCSUnitTest,"CStringPool_LongTableCS_UnitTest");
sl@0
   555
sl@0
   556
CStringPool_LongTableCS_UnitTest* CStringPool_LongTableCS_UnitTest::NewL(CDataLogger& aDataLogger,
sl@0
   557
											MUnitTestObserver& aObserver)
sl@0
   558
	{
sl@0
   559
	CStringPool_LongTableCS_UnitTest* self = 
sl@0
   560
					new(ELeave) CStringPool_LongTableCS_UnitTest(aDataLogger,
sl@0
   561
																aObserver);
sl@0
   562
	CleanupStack::PushL(self);
sl@0
   563
	self->ConstructL();
sl@0
   564
	CleanupStack::Pop(self);
sl@0
   565
	return self; 
sl@0
   566
	}
sl@0
   567
sl@0
   568
inline TInt CStringPool_LongTableCS_UnitTest::RunError(TInt aError)
sl@0
   569
	{
sl@0
   570
	// The RunL left so chain to the base first and then cleanup
sl@0
   571
	TInt error = CUnitTest::RunError(aError);	// Chain to base
sl@0
   572
	delete iUTContext;
sl@0
   573
	delete iStateAccessor;
sl@0
   574
	delete iTrueValidator;
sl@0
   575
	delete iFalseValidator;
sl@0
   576
	return error;
sl@0
   577
	}
sl@0
   578
sl@0
   579
inline CStringPool_LongTableCS_UnitTest::~CStringPool_LongTableCS_UnitTest()
sl@0
   580
	{
sl@0
   581
	// Simply delete our test class instance
sl@0
   582
	delete iUTContext;
sl@0
   583
	delete iStateAccessor;
sl@0
   584
	delete iTrueValidator;
sl@0
   585
	delete iFalseValidator;
sl@0
   586
	}
sl@0
   587
sl@0
   588
inline CStringPool_LongTableCS_UnitTest::CStringPool_LongTableCS_UnitTest(CDataLogger& aDataLogger,
sl@0
   589
																	MUnitTestObserver& aObserver)
sl@0
   590
: CUnitTest(KStringPoolLargeCSUnitTest, aDataLogger, aObserver)
sl@0
   591
	{
sl@0
   592
	//Do nothing
sl@0
   593
	}
sl@0
   594
sl@0
   595
// Now the Individual transitions need to be added.
sl@0
   596
inline void CStringPool_LongTableCS_UnitTest::ConstructL()
sl@0
   597
	{
sl@0
   598
	// Perform the base class initialization
sl@0
   599
	UnitTestConstructL();
sl@0
   600
sl@0
   601
	// Create the Unit test state accessor
sl@0
   602
	iStateAccessor = new(ELeave) TStringPool_StateAccessor;
sl@0
   603
	// Construct the Unit test context.
sl@0
   604
	iUTContext = new(ELeave) CStringPool_UnitTestContext(iDataLogger, *iStateAccessor, *this);
sl@0
   605
	iTrueValidator = new(ELeave) TStringPool_True_TransitionValidator(*iUTContext);
sl@0
   606
	iFalseValidator = new(ELeave) TStringPool_False_TransitionValidator(*iUTContext);
sl@0
   607
	AddTransitionL(new(ELeave)CStringPool_LargeCSCtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   608
	AddTransitionL(new(ELeave)CStringPool_AeqA_Transition(*iUTContext,*iTrueValidator));
sl@0
   609
	AddTransitionL(new(ELeave)CStringPool_AneA_Transition(*iUTContext,*iFalseValidator));
sl@0
   610
	AddTransitionL(new(ELeave)CStringPool_AneB_Transition(*iUTContext,*iTrueValidator));
sl@0
   611
	AddTransitionL(new(ELeave)CStringPool_AeqB_Transition(*iUTContext,*iFalseValidator));
sl@0
   612
	AddTransitionL(new(ELeave)CStringPool_AeqD_Transition(*iUTContext,*iTrueValidator));
sl@0
   613
	AddTransitionL(new(ELeave)CStringPool_AneD_Transition(*iUTContext,*iFalseValidator));
sl@0
   614
	AddTransitionL(new(ELeave)CStringPool_Desc_Transition(*iUTContext,*iFalseValidator));
sl@0
   615
	AddTransitionL(new(ELeave)CStringPool_Copy_Transition(*iUTContext,*iTrueValidator));
sl@0
   616
	AddTransitionL(new(ELeave)CStringPool_CDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   617
	AddTransitionL(new(ELeave)CStringPool_Close_Transition(*iUTContext,*iFalseValidator));
sl@0
   618
	AddTransitionL(new(ELeave)CStringPool_Int_Transition(*iUTContext,*iTrueValidator));
sl@0
   619
	AddTransitionL(new(ELeave)CStringPool_String_Index_Table_Transition(*iUTContext,*iTrueValidator));
sl@0
   620
	AddTransitionL(new(ELeave)CStringPool_StringToken_Transition(*iUTContext,*iTrueValidator));
sl@0
   621
	AddTransitionL(new(ELeave)CStringPool_CDesC_Transition(*iUTContext,*iFalseValidator));
sl@0
   622
	AddTransitionL(new(ELeave)CStringPool_Dtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   623
	}
sl@0
   624
sl@0
   625
sl@0
   626
sl@0
   627
// ______________________________________________________________________________
sl@0
   628
//
sl@0
   629
_LIT(KStringPoolMultipleTableShortCIUnitTest,"CStringPool_MultipleTableShortCI_UnitTest");
sl@0
   630
sl@0
   631
CStringPool_MultipleTableShortCI_UnitTest* CStringPool_MultipleTableShortCI_UnitTest::NewL(CDataLogger& aDataLogger,
sl@0
   632
											MUnitTestObserver& aObserver)
sl@0
   633
	{
sl@0
   634
	CStringPool_MultipleTableShortCI_UnitTest* self = 
sl@0
   635
					new(ELeave) CStringPool_MultipleTableShortCI_UnitTest(aDataLogger,
sl@0
   636
																aObserver);
sl@0
   637
	CleanupStack::PushL(self);
sl@0
   638
	self->ConstructL();
sl@0
   639
	CleanupStack::Pop(self);
sl@0
   640
	return self; 
sl@0
   641
	}
sl@0
   642
sl@0
   643
inline TInt CStringPool_MultipleTableShortCI_UnitTest::RunError(TInt aError)
sl@0
   644
	{
sl@0
   645
	// The RunL left so chain to the base first and then cleanup
sl@0
   646
	TInt error = CUnitTest::RunError(aError);	// Chain to base
sl@0
   647
	delete iUTContext;
sl@0
   648
	delete iStateAccessor;
sl@0
   649
	delete iTrueValidator;
sl@0
   650
	delete iFalseValidator;
sl@0
   651
	return error;
sl@0
   652
	}
sl@0
   653
sl@0
   654
inline CStringPool_MultipleTableShortCI_UnitTest::~CStringPool_MultipleTableShortCI_UnitTest()
sl@0
   655
	{
sl@0
   656
	// Simply delete our test class instance
sl@0
   657
	delete iUTContext;
sl@0
   658
	delete iStateAccessor;
sl@0
   659
	delete iTrueValidator;
sl@0
   660
	delete iFalseValidator;
sl@0
   661
	}
sl@0
   662
sl@0
   663
inline CStringPool_MultipleTableShortCI_UnitTest::CStringPool_MultipleTableShortCI_UnitTest(CDataLogger& aDataLogger,
sl@0
   664
																	MUnitTestObserver& aObserver)
sl@0
   665
: CUnitTest(KStringPoolMultipleTableShortCIUnitTest, aDataLogger, aObserver)
sl@0
   666
	{
sl@0
   667
	//Do nothing
sl@0
   668
	}
sl@0
   669
sl@0
   670
// Now the Individual transitions need to be added.
sl@0
   671
inline void CStringPool_MultipleTableShortCI_UnitTest::ConstructL()
sl@0
   672
	{
sl@0
   673
// Perform the base class initialization
sl@0
   674
	UnitTestConstructL();
sl@0
   675
sl@0
   676
	// Create the Unit test state accessor
sl@0
   677
	iStateAccessor = new(ELeave) TStringPool_StateAccessor;
sl@0
   678
	// Construct the Unit test context.
sl@0
   679
	iUTContext = new(ELeave) CStringPool_UnitTestContext(iDataLogger, *iStateAccessor, *this);
sl@0
   680
	iTrueValidator = new(ELeave) TStringPool_True_TransitionValidator(*iUTContext);
sl@0
   681
	iFalseValidator = new(ELeave) TStringPool_False_TransitionValidator(*iUTContext);
sl@0
   682
	AddTransitionL(new(ELeave)CStringPool_MultipleTableCICtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   683
	AddTransitionL(new(ELeave)CStringPool_FAeqB_Transition(*iUTContext,*iTrueValidator));	
sl@0
   684
	AddTransitionL(new(ELeave)CStringPool_MutlipleCICeqC_Transition(*iUTContext,*iTrueValidator));	
sl@0
   685
	AddTransitionL(new(ELeave)CStringPool_MultipleCIStringToIndex_Transition(*iUTContext,*iTrueValidator));	
sl@0
   686
	AddTransitionL(new(ELeave)CStringPool_MultipleCIDynamicString_Transition(*iUTContext,*iTrueValidator));	
sl@0
   687
	AddTransitionL(new(ELeave)CStringPool_MultipleCIIndexToStringDynamic_Transition(*iUTContext,*iTrueValidator));	
sl@0
   688
sl@0
   689
	AddTransitionL(new(ELeave)CStringPool_MultipleTableDtor_Transition(*iUTContext,*iTrueValidator));
sl@0
   690
	}
sl@0
   691
sl@0
   692
// ______________________________________________________________________________
sl@0
   693
//
sl@0
   694
_LIT(KStringPoolMultipleTableShortCSUnitTest,"CStringPool_MultipleTableShortCS_UnitTest");
sl@0
   695
sl@0
   696
CStringPool_MultipleTableShortCS_UnitTest* CStringPool_MultipleTableShortCS_UnitTest::NewL(CDataLogger& aDataLogger,
sl@0
   697
											MUnitTestObserver& aObserver)
sl@0
   698
	{
sl@0
   699
	CStringPool_MultipleTableShortCS_UnitTest* self = 
sl@0
   700
					new(ELeave) CStringPool_MultipleTableShortCS_UnitTest(aDataLogger,
sl@0
   701
																aObserver);
sl@0
   702
	CleanupStack::PushL(self);
sl@0
   703
	self->ConstructL();
sl@0
   704
	CleanupStack::Pop(self);
sl@0
   705
	return self; 
sl@0
   706
	}
sl@0
   707
sl@0
   708
inline TInt CStringPool_MultipleTableShortCS_UnitTest::RunError(TInt aError)
sl@0
   709
	{
sl@0
   710
	// The RunL left so chain to the base first and then cleanup
sl@0
   711
	TInt error = CUnitTest::RunError(aError);	// Chain to base
sl@0
   712
	delete iUTContext;
sl@0
   713
	delete iStateAccessor;
sl@0
   714
	delete iTrueValidator;
sl@0
   715
	delete iFalseValidator;
sl@0
   716
	return error;
sl@0
   717
	}
sl@0
   718
sl@0
   719
inline CStringPool_MultipleTableShortCS_UnitTest::~CStringPool_MultipleTableShortCS_UnitTest()
sl@0
   720
	{
sl@0
   721
	// Simply delete our test class instance
sl@0
   722
	delete iUTContext;
sl@0
   723
	delete iStateAccessor;
sl@0
   724
	delete iTrueValidator;
sl@0
   725
	delete iFalseValidator;
sl@0
   726
	}
sl@0
   727
sl@0
   728
inline CStringPool_MultipleTableShortCS_UnitTest::CStringPool_MultipleTableShortCS_UnitTest(CDataLogger& aDataLogger,
sl@0
   729
																	MUnitTestObserver& aObserver)
sl@0
   730
: CUnitTest(KStringPoolMultipleTableShortCSUnitTest, aDataLogger, aObserver)
sl@0
   731
	{
sl@0
   732
	//Do nothing
sl@0
   733
	}
sl@0
   734
sl@0
   735
// Now the Individual transitions need to be added.
sl@0
   736
inline void CStringPool_MultipleTableShortCS_UnitTest::ConstructL()
sl@0
   737
	{
sl@0
   738
// Perform the base class initialization
sl@0
   739
	UnitTestConstructL();
sl@0
   740
sl@0
   741
	// Create the Unit test state accessor
sl@0
   742
	iStateAccessor = new(ELeave) TStringPool_StateAccessor;
sl@0
   743
	// Construct the Unit test context.
sl@0
   744
	iUTContext = new(ELeave) CStringPool_UnitTestContext(iDataLogger, *iStateAccessor, *this);
sl@0
   745
	iTrueValidator = new(ELeave) TStringPool_True_TransitionValidator(*iUTContext);
sl@0
   746
	iFalseValidator = new(ELeave) TStringPool_False_TransitionValidator(*iUTContext);
sl@0
   747
	AddTransitionL(new(ELeave)CStringPool_MultipleTableCSCtor_Transition(*iUTContext,*iFalseValidator));
sl@0
   748
	AddTransitionL(new(ELeave)CStringPool_AeqB_Transition(*iUTContext,*iTrueValidator));	
sl@0
   749
	AddTransitionL(new(ELeave)CStringPool_MutlipleCSCeqC_Transition(*iUTContext,*iTrueValidator));	
sl@0
   750
	AddTransitionL(new(ELeave)CStringPool_MultipleCSStringToIndex_Transition(*iUTContext,*iTrueValidator));	
sl@0
   751
	AddTransitionL(new(ELeave)CStringPool_MultipleCSDynamicString_Transition(*iUTContext,*iTrueValidator));	
sl@0
   752
	AddTransitionL(new(ELeave)CStringPool_MultipleCSIndexToStringDynamic_Transition(*iUTContext,*iTrueValidator));	
sl@0
   753
sl@0
   754
	AddTransitionL(new(ELeave)CStringPool_MultipleTableDtor_Transition(*iUTContext,*iTrueValidator));
sl@0
   755
	}
sl@0
   756
sl@0
   757