diff -r 000000000000 -r b8ed18f6c07b mmtestenv/mmtestfwunittest/src/tsu_mmtsth11/TSU_MmTsth11.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmtestenv/mmtestfwunittest/src/tsu_mmtsth11/TSU_MmTsth11.cpp Thu Oct 07 22:34:12 2010 +0100 @@ -0,0 +1,305 @@ +// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// This file contains the test steps for Unit Test Suite 11 : TestStep.cpp +// +// + +// EPOC includes +#include + +// Test system includes +#include + +// Specific includes for this test suite +#include "TSU_MmTsthStep11.h" +#include "TSU_MmTsthSuite11.h" + +// Specific includes for these test steps +#include "TSU_MmTsth11.h" +#include "TestStepVirtualStub.h" +#include "TestSuiteVirtualStub.h" + +// -------------------------------------------- + +// Unit Test Suite 11 : TestStep.cpp +// Depends on : none +// Requires : subclass implementing pure virtual DoTestStepL() + +// Tests :- +// RTestStep() constructor (thru stub) +// test accessors +// DoTestStepL +// DoTestStepPreamble +// DoTestStepPostamble +// Load / unload config + +// --------------------- +// RTestMmTsthU1101 + +RTestMmTsthU1101* RTestMmTsthU1101::NewL() + { + RTestMmTsthU1101* self = new(ELeave) RTestMmTsthU1101; + return self; + } + +// Each test step initialises its own name. +RTestMmTsthU1101::RTestMmTsthU1101() + { + iTestStepName = _L("MM-TSTH-U-1101"); + } + + +// preamble +TVerdict RTestMmTsthU1101::OpenL() + { + // stub - purpose is that for this test we do not run the parent preamble + // which initialises iStepStub + return iTestStepResult = EPass; + } + +// postamble +void RTestMmTsthU1101::Close() + { + } + +// do the test step +TVerdict RTestMmTsthU1101::DoTestStepL() + { + INFO_PRINTF1(_L("Unit test for TestStep - construct")); + TVerdict currentVerdict = EPass; + + RTestStepVirtualStub* theStepStub = NULL; + TRAPD(err, theStepStub = RTestStepVirtualStub::NewL()); + if(err != KErrNone) + { + ERR_PRINTF1(_L("RTestStepVirtualStub::NewL() left")); + return iTestStepResult = EFail; + } + + const TPtrC& theName = theStepStub->StepName(); + if(theName != KTestStepVirtualStubName) + { + ERR_PRINTF1(_L("RTestStepVirtualStub did not initialise correctly")); + delete theStepStub; + return iTestStepResult = EFail; + } + + delete theStepStub; + return iTestStepResult = currentVerdict; // should be EPass if we've got here + } + +// ------------------------ +// RTestMmTsthU1102 +RTestMmTsthU1102* RTestMmTsthU1102::NewL() + { + RTestMmTsthU1102* self = new(ELeave) RTestMmTsthU1102; + return self; + } + +// Each test step initialises its own name. +RTestMmTsthU1102::RTestMmTsthU1102() + { + iTestStepName = _L("MM-TSTH-U-1102"); + } + +// do the test step +TVerdict RTestMmTsthU1102::DoTestStepL() + { + // RTestStepVirtualStub contains extra methods by which we can verify our accessors + INFO_PRINTF1(_L("Unit test for TestStep - accessors")); + + TVerdict currentVerdict = EPass; + + // test accessor to set name - not part of RTestStep + TBufC KTestStepName = _L("TestStepName"); + iStepStub->TestSetStepName(KTestStepName); + const TPtrC& theName = iStepStub->StepName(); + if(theName != KTestStepName) + { + ERR_PRINTF1(_L("RTestStep::StepName() failed")); + return iTestStepResult = EFail; + } + + TVerdict theResult = EInconclusive; + iStepStub->SetResult(theResult); + // test accessor to get result - not part of RTestStep + if(theResult != iStepStub->TestGetResult()) + { + ERR_PRINTF1(_L("RTestStep::SetResult() failed")); + return iTestStepResult = EFail; + } + + CTestSuiteVirtualStub* theSuite = new (ELeave) CTestSuiteVirtualStub; + CleanupStack::PushL(theSuite); + theSuite->ConstructL(); + + iStepStub->SetSuite(theSuite); + // test accessor to get suite - not part of RTestStep + if(theSuite != iStepStub->TestGetSuite()) + { + ERR_PRINTF1(_L("RTestStep::SetSuite() failed")); + CleanupStack::PopAndDestroy(); // theSuite + return iTestStepResult = EFail; + } + // cleanup + CleanupStack::PopAndDestroy(); // theSuite + + return iTestStepResult = currentVerdict; // should be EPass if we've got here + } + +// --------------------- +// RTestMmTsthU1103 + +RTestMmTsthU1103* RTestMmTsthU1103::NewL() + { + RTestMmTsthU1103* self = new(ELeave) RTestMmTsthU1103; + return self; + } + +// Each test step initialises its own name. +RTestMmTsthU1103::RTestMmTsthU1103() + { + iTestStepName = _L("MM-TSTH-U-1103"); + } + +// do the test step. +TVerdict RTestMmTsthU1103::DoTestStepL() + { + // RTestStepVirtualStub contains extra methods by which we can verify our accessors + INFO_PRINTF1(_L("Unit test for TestStep - preamble")); + + TVerdict currentVerdict = EPass; + + iStepStub->OpenL(); + if(!iStepStub->PreambleRun()) + { + ERR_PRINTF1(_L("RTestStep::OpenL() failed")); + return iTestStepResult = EFail; + } + + return iTestStepResult = currentVerdict; // should be EPass if we've got here + } + +// --------------------- +// RTestMmTsthU1104 + +RTestMmTsthU1104* RTestMmTsthU1104::NewL() + { + RTestMmTsthU1104* self = new(ELeave) RTestMmTsthU1104; + return self; + } + +// Each test step initialises its own name. +RTestMmTsthU1104::RTestMmTsthU1104() + { + iTestStepName = _L("MM-TSTH-U-1104"); + } + +// do the test step +TVerdict RTestMmTsthU1104::DoTestStepL() + { + // RTestStepVirtualStub contains extra methods by which we can verify our accessors + INFO_PRINTF1(_L("Unit test for TestStep - postamble")); + + TVerdict currentVerdict = EPass; + + iStepStub->Close(); + if(!iStepStub->PostambleRun()) + { + ERR_PRINTF1(_L("RTestStep::Close() failed")); + return iTestStepResult = EFail; + } + + return iTestStepResult = currentVerdict; // should be EPass if we've got here + } + +// --------------------- +// RTestMmTsthU1105 +RTestMmTsthU1105* RTestMmTsthU1105::NewL() + { + RTestMmTsthU1105* self = new(ELeave) RTestMmTsthU1105; + return self; + } + +// Each test step initialises its own name. +RTestMmTsthU1105::RTestMmTsthU1105() + { + iTestStepName = _L("MM-TSTH-U-1105"); + } + +// do the test step +TVerdict RTestMmTsthU1105::DoTestStepL() + { + // RTestStepVirtualStub contains extra methods by which we can verify our accessors + INFO_PRINTF1(_L("Unit test for TestStep - step")); + + TVerdict currentVerdict = EPass; + + iStepStub->DoTestStepL(); + if(!iStepStub->StepRun()) + { + ERR_PRINTF1(_L("RTestStep::DoTestStepL() failed")); + return iTestStepResult = EFail; + } + + return iTestStepResult = currentVerdict; // should be EPass if we've got here + } + +// ------------------------ +// RTestMmTsthU1111 +RTestMmTsthU1111* RTestMmTsthU1111::NewL() + { + RTestMmTsthU1111* self = new(ELeave) RTestMmTsthU1111; + return self; + } + +// Each test step initialises its own name. +RTestMmTsthU1111::RTestMmTsthU1111() + { + iTestStepName = _L("MM-TSTH-U-1111"); + } + +// do the test step +TVerdict RTestMmTsthU1111::DoTestStepL() + { + const TInt KTestBufSize = 64; + + // RTestStepVirtualStub contains extra methods by which we can verify our accessors + INFO_PRINTF1(_L("Unit test for TestStep - load config")); + + TVerdict currentVerdict = EPass; + + TBufC KConfigName = _L("TSU_MMTSTH11_config.ini"); + iStepStub->LoadConfig(KConfigName); + + // we get no return saying that the file hasn't loaded - + // therefore check something in the file we know is there : [SectionOne] keybool = true + // because these functions are protected, we have to wrap them in iStepStub + + TBool aBoolResult; + TBool returnValue = iStepStub->TestGetBoolFromConfig(_L("SectionOne"),_L("Keybool"), aBoolResult); + if(!returnValue) + { + ERR_PRINTF1(_L("RTestStep::LoadConfig() failed")); + iStepStub->UnloadConfig(); + return iTestStepResult = EFail; + } + + iStepStub->UnloadConfig(); + return iTestStepResult = currentVerdict; // should be EPass if we've got here + } + +// ------------------------ + +