gssettingsuis/Gs/tsrc/public/basic/GSListBox/T_GSListBox.cpp
branchRCL_3
changeset 54 7e0eff37aedb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gssettingsuis/Gs/tsrc/public/basic/GSListBox/T_GSListBox.cpp	Wed Sep 01 12:20:44 2010 +0100
@@ -0,0 +1,548 @@
+/*
+* Copyright (c) 2002 - 2007 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:
+*
+*/
+
+
+//  CLASS HEADER
+#include "T_GSListBox.h"
+
+//  EXTERNAL INCLUDES
+#include <EUnitMacros.h>
+#include <EUnitDecorators.h>
+#include <e32base.h>
+#include <barsread.h> //TResourceReader
+#include <coemain.h>
+#include <AknRadioButtonSettingPage.h>
+#include <gsnetworkpluginrsc.rsg>           //for resource IDs
+
+
+//  INTERNAL INCLUDES
+//#include "ListBox.cpp"
+
+// CONSTANTS
+_LIT( KGSTestCaption, "Test caption" );
+const TInt KGSTestLocalFeatureId = 0;
+
+// CONSTRUCTION
+T_GSListBox* T_GSListBox::NewL()
+    {
+    T_GSListBox* self = T_GSListBox::NewLC();
+    CleanupStack::Pop();
+
+    return self;
+    }
+
+T_GSListBox* T_GSListBox::NewLC()
+    {
+    T_GSListBox* self = new( ELeave ) T_GSListBox();
+    CleanupStack::PushL( self );
+
+    self->ConstructL();
+
+    return self;
+    }
+
+// Destructor (virtual by CBase)
+T_GSListBox::~T_GSListBox()
+    {
+    }
+
+// Default constructor
+T_GSListBox::T_GSListBox()
+    {
+    }
+
+// Second phase construct
+void T_GSListBox::ConstructL()
+    {
+    // The ConstructL from the base class CEUnitTestSuiteClass must be called.
+    // It generates the test case table.
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+//  METHODS
+
+
+void T_GSListBox::SetupL(  )
+    {
+    
+    }
+
+void T_GSListBox::SetupResourceL()
+    {
+	iOffset = CCoeEnv::Static()->AddResourceFileL( _L("Z:\\resource\\GSNetworkPluginRsc.rsc") ); 
+    }
+
+
+void T_GSListBox::Teardown(  )
+    {
+    if( iListboxEntry )
+        {
+        delete iListboxEntry;
+        iListboxEntry = NULL;
+        }
+    if( iItemTextArray )
+        {
+        delete iItemTextArray;
+        iItemTextArray = NULL;
+        }
+    if( iRBSPArray )
+        {
+        delete iRBSPArray;
+        iRBSPArray = NULL;
+        }
+        
+    if ( iLBITextArray )
+    	{
+    	delete iLBITextArray;
+    	iLBITextArray = NULL;
+    	}
+        
+	if ( iOffset )
+		{
+		CCoeEnv::Static()->DeleteResourceFile( iOffset );
+		iOffset = 0;		
+		}
+    }
+
+// CGSListboxEntry test cases
+
+void T_GSListBox::SetupListBoxEntryL()
+    {
+    SetupResourceL();
+
+    TResourceReader resReader;
+    CCoeEnv::Static()->CreateResourceReaderLC( resReader, R_NETSL_NETSELECTMODE_LBX );
+    // Just read, not actually needed anywhere
+    resReader.ReadInt16();
+    
+    iListboxEntry = CGSListboxEntry::NewLC( resReader );
+    EUNIT_ASSERT( iListboxEntry != NULL );
+    CleanupStack::Pop( iListboxEntry );
+    
+    CleanupStack::PopAndDestroy();
+    }
+
+void T_GSListBox::T_Global_GSListBox_NewLC()
+    {
+    TResourceReader resReader;
+    CCoeEnv::Static()->CreateResourceReaderLC( resReader, R_NETSL_NETSELECTMODE_LBX );
+    // Just read, not actually needed anywhere
+    resReader.ReadInt16();
+    
+    iListboxEntry = CGSListboxEntry::NewLC( resReader );
+    EUNIT_ASSERT( iListboxEntry != NULL );
+    CleanupStack::Pop( iListboxEntry );
+    
+    CleanupStack::PopAndDestroy();
+    }
+
+void T_GSListBox::T_Global_GSListBox_New2LC()
+    {
+    TInt localFeatureId = 0;
+    iListboxEntry = CGSListboxEntry::NewLC( localFeatureId );
+    EUNIT_ASSERT( iListboxEntry != NULL );
+    CleanupStack::Pop();
+    }
+
+void T_GSListBox::T_Global_GSListBox_New3LC()
+    {
+    TInt localFeatureId = 0;
+    TUint32 resourceId = R_NETSL_NETSELECTMODE_LBX;
+    iListboxEntry = CGSListboxEntry::NewLC( resourceId, *CCoeEnv::Static(), localFeatureId );
+    EUNIT_ASSERT( iListboxEntry != NULL );
+    CleanupStack::Pop();
+    }
+
+void T_GSListBox::T_Global_GSListBox_FeatureIdL()
+    {
+    TInt localFeatureId;
+    EUNIT_ASSERT_NO_LEAVE( localFeatureId = iListboxEntry->FeatureId() );
+    }
+
+void T_GSListBox::T_Global_GSListBox_TypeL()
+    {
+    TInt type;
+    EUNIT_ASSERT_NO_LEAVE( type = iListboxEntry->Type() );
+    }
+
+void T_GSListBox::T_Global_GSListBox_CaptionL()
+    {
+    //Here we can add comparision of the returned string to the
+    //previously saved one
+    EUNIT_ASSERT_NO_LEAVE( iListboxEntry->Caption() );
+    }
+
+void T_GSListBox::T_Global_GSListBox_SetDynamicTextL()
+    {
+    EUNIT_ASSERT_NO_LEAVE( iListboxEntry->SetDynamicTextL( KGSTestCaption ) );
+    }
+
+void T_GSListBox::T_Global_GSListBox_SetDynamicTextDoublePaneL()
+    {
+    EUNIT_ASSERT_NO_LEAVE( iListboxEntry->SetDynamicTextDoublePaneL( KGSTestCaption ) );
+    }
+
+
+// CGSItemTextArray test cases
+
+void T_GSListBox::SetupGSItemTextArrayL()
+    {
+    SetupResourceL();
+    iItemTextArray = 
+            CGSItemTextArray::NewL( R_NETSL_NETSELECTMODE_LBX, *CCoeEnv::Static() );
+    }
+
+void T_GSListBox::T_Global_GSItemTextArray_SetupL()
+    {
+    EUNIT_ASSERT_NO_LEAVE( iItemTextArray = 
+        CGSItemTextArray::NewL( R_NETSL_NETSELECTMODE_LBX, *CCoeEnv::Static() ) ); 
+    }
+
+void T_GSListBox::T_Global_GSItemTextArray_MdcaCountL()
+    {
+    TInt itemCount = 0;
+    EUNIT_ASSERT_NO_LEAVE( itemCount = iItemTextArray->MdcaCount() ); 
+    }
+
+void T_GSListBox::T_Global_GSItemTextArray_MdcaPointL()
+    {
+    TInt itemIndex = 0;
+    EUNIT_ASSERT_NO_LEAVE( iItemTextArray->MdcaPoint( itemIndex ) ); 
+    }
+
+void T_GSListBox::T_Global_GSItemTextArray_SetDynamicTextL()
+    {
+    TInt featureId = 1;
+    EUNIT_ASSERT_NO_LEAVE( iItemTextArray->SetDynamicTextL( 
+            featureId, KGSTestCaption ) ); 
+    }
+
+void T_GSListBox::T_Global_GSItemTextArray_SetDynamicTextDoublePaneL()
+    {
+    TInt featureId = 1;
+    EUNIT_ASSERT_NO_LEAVE( iItemTextArray->SetDynamicTextDoublePaneL( 
+            featureId, KGSTestCaption ) ); 
+    }
+
+void T_GSListBox::T_Global_GSItemTextArray_SetItemVisibilityL()
+    {
+    TInt featureId = 1;
+    CGSItemTextArray::TVisibility itemVisibility = CGSItemTextArray::EVisible;
+    EUNIT_ASSERT_NO_LEAVE( iItemTextArray->SetItemVisibilityL( 
+            featureId, itemVisibility ) ); 
+    }
+    
+void T_GSListBox::T_Global_GSItemTextArray_CurrentFeatureL()
+    {
+    EUNIT_ASSERT_NO_LEAVE( iItemTextArray->CurrentFeature() ); 
+    }
+
+void T_GSListBox::T_Global_GSItemTextArray_IndexForFeatureIdL()
+    {
+    TInt featureId = 4;
+    EUNIT_ASSERT_NO_LEAVE( iItemTextArray->IndexForFeatureIdL( 
+            featureId ) ); 
+    }
+
+void T_GSListBox::T_Global_GSItemTextArray_FeatureIdByIndexL()
+    {
+    TInt itemIndex = 5;
+    EUNIT_ASSERT_NO_LEAVE( iItemTextArray->FeatureIdByIndex( 
+            itemIndex ) ); 
+    }
+
+void T_GSListBox::T_Global_GSItemTextArray_FeatureByIdL()
+    {
+    TInt featureId = 6;
+    EUNIT_ASSERT_NO_LEAVE( iItemTextArray->FeatureByIdL( 
+            featureId ) ); 
+    }
+
+void T_GSListBox::T_Global_GSItemTextArray_GetItemCaptionFromFeatureIdLC()
+    {
+    TInt featureId = 6;
+    HBufC* itemCaption;
+    itemCaption = CGSItemTextArray::GetItemCaptionFromFeatureIdLC( 
+            R_NETSL_NETSELECTMODE_LBX, featureId, *CCoeEnv::Static() );
+    CleanupStack::PopAndDestroy();
+    }
+
+
+// CGSRadioButtonSettingPageItemTextArray test cases
+
+void T_GSListBox::T_Global_GSRBSPItemTextArray_NewL()
+    {
+    CGSRadioButtonSettingPageItemTextArray* itemArray = 
+        CGSRadioButtonSettingPageItemTextArray::NewL( R_NETSL_NETSELECTMODE_LBX, *CCoeEnv::Static(), NULL );
+    CleanupStack::PushL( itemArray );
+    EUNIT_ASSERT( itemArray );
+    CleanupStack::PopAndDestroy();
+    }
+
+void T_GSListBox::Setup_GSRBSPItemTextArrayL()
+    {
+    SetupResourceL();
+    
+    iRBSPArray = CGSRadioButtonSettingPageItemTextArray::NewL( R_NETSL_NETSELECTMODE_LBX, 
+                *CCoeEnv::Static(), NULL );
+    }
+
+void T_GSListBox::T_Global_GSRBSPItemTextArray_CurrentFeatureL()
+    {
+    EUNIT_ASSERT_PANIC( iRBSPArray->CurrentFeature(), "GSEngItemArray", 0 );
+    }
+
+void T_GSListBox::T_Global_GSRBSPItemTextArray_SetRadioButtonSettingPageL()
+    {
+    TUint32 resId = 1;
+    TInt currentItem = 0;
+    CAknRadioButtonSettingPage* dlg = new (ELeave ) CAknRadioButtonSettingPage(
+                                          resId, 
+                                          currentItem, iItemTextArray );
+    CleanupStack::PushL( dlg );
+    EUNIT_ASSERT_NO_LEAVE( iRBSPArray->SetRadioButtonSettingPage( *dlg ) );
+    CleanupStack::PopAndDestroy();
+    }
+
+
+// CGSListBoxItemTextArray test cases
+
+void T_GSListBox::Setup_CGSLBITextArrayL()
+    {
+    SetupResourceL();
+    TUint32 resId = R_NETSL_NETSELECTMODE_LBX;
+    iLBITextArray = CGSListBoxItemTextArray::NewL( 
+            resId, *iListBox, *CCoeEnv::Static() );
+    }
+
+void T_GSListBox::T_Global_CGSLBITextArray_NewL()
+    {
+    TUint32 resId = R_NETSL_NETSELECTMODE_LBX;
+    EUNIT_ASSERT_NO_LEAVE( iLBITextArray = CGSListBoxItemTextArray::NewL( 
+                resId, *iListBox, *CCoeEnv::Static() ) );
+    }
+
+void T_GSListBox::T_Global_CGSLBITextArray_New2L()
+    {
+    TUint32 resId = R_NETSL_NETSELECTMODE_LBX;
+    TInt itemCount = 10;
+    EUNIT_ASSERT_NO_LEAVE( iLBITextArray = CGSListBoxItemTextArray::NewL( 
+                resId, *iListBox, *CCoeEnv::Static(), itemCount ) );
+    }
+
+void T_GSListBox::T_Global_CGSLBITextArray_CurrentFeatureL()
+    {
+    TInt currentFeature = 0;
+    EUNIT_ASSERT_NO_LEAVE( currentFeature = iLBITextArray->CurrentFeature() );
+    }
+
+
+//  TEST TABLE
+EUNIT_BEGIN_TEST_TABLE(
+    T_GSListBox,
+    "Testing GSListBox.dll functionality",
+    "UNIT" )
+
+
+// CGSListboxEntry test cases
+EUNIT_TEST(
+    "ListBox - NewL construction", //case description
+    "CGSListboxEntry",                   //class being tested
+    "NewLC",                                 //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupResourceL, T_Global_GSListBox_NewLC, Teardown )
+
+EUNIT_TEST(
+    "ListBox - NewL overloaded construction", //case description
+    "CGSListboxEntry",                   //class being tested
+    "NewLC",                                 //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupL, T_Global_GSListBox_New2LC, Teardown )
+
+EUNIT_TEST(
+    "ListBox - NewL another overloaded construction", //case description
+    "CGSListboxEntry",                   //class being tested
+    "NewLC",                                 //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupResourceL, T_Global_GSListBox_New3LC, Teardown )
+    
+EUNIT_TEST(
+    "ListBox - FeatureId()", //case description
+    "CGSListboxEntry",                   //class being tested
+    "FeatureId",                                 //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupListBoxEntryL, T_Global_GSListBox_FeatureIdL, Teardown )
+
+EUNIT_TEST(
+    "ListBox - Caption()", //case description
+    "CGSListboxEntry",                   //class being tested
+    "Caption",                                 //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupListBoxEntryL, T_Global_GSListBox_CaptionL, Teardown ) 
+    
+EUNIT_TEST(
+    "ListBox - Type()", //case description
+    "CGSListboxEntry",                   //class being tested
+    "Type",                                 //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupListBoxEntryL, T_Global_GSListBox_TypeL, Teardown )    
+
+EUNIT_TEST(
+    "ListBox - SetDynamicTextL()", //case description
+    "CGSListboxEntry",                   //class being tested
+    "SetDynamicTextL",                                 //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupListBoxEntryL, T_Global_GSListBox_SetDynamicTextL, Teardown )
+
+EUNIT_TEST(
+    "ListBox - SetDynamicTextDoublePaneL()", //case description
+    "CGSListboxEntry",                   //class being tested
+    "SetDynamicTextDoublePaneL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupListBoxEntryL, T_Global_GSListBox_SetDynamicTextDoublePaneL, Teardown )
+
+    
+// CGSItemTextArray test cases    
+
+EUNIT_TEST(
+    "CGSItemTextArray - construction()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "NewL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupResourceL, T_Global_GSItemTextArray_SetupL, Teardown )
+    
+EUNIT_TEST(
+    "CGSItemTextArray - MdcaCount()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "MdcaCount",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupGSItemTextArrayL, T_Global_GSItemTextArray_MdcaCountL, Teardown )
+
+EUNIT_TEST(
+    "CGSItemTextArray - MdcaPoint()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "MdcaPoint",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupGSItemTextArrayL, T_Global_GSItemTextArray_MdcaPointL, Teardown )
+
+EUNIT_TEST(
+    "CGSItemTextArray - SetDynamicTextL()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "SetDynamicTextL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupGSItemTextArrayL, T_Global_GSItemTextArray_SetDynamicTextL, Teardown )
+    
+EUNIT_TEST(
+    "CGSItemTextArray - SetDynamicTextDoublePaneL()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "SetDynamicTextDoublePaneL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupGSItemTextArrayL, T_Global_GSItemTextArray_SetDynamicTextDoublePaneL, Teardown )
+
+EUNIT_TEST(
+    "CGSItemTextArray - SetItemVisibilityL()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "SetItemVisibilityL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupGSItemTextArrayL, T_Global_GSItemTextArray_SetItemVisibilityL, Teardown )
+    
+EUNIT_TEST(
+    "CGSItemTextArray - CurrentFeature()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "CurrentFeature",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupGSItemTextArrayL, T_Global_GSItemTextArray_CurrentFeatureL, Teardown )
+        
+EUNIT_TEST(
+    "CGSItemTextArray - IndexForFeatureIdL()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "IndexForFeatureIdL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupGSItemTextArrayL, T_Global_GSItemTextArray_IndexForFeatureIdL, Teardown )
+
+EUNIT_TEST(
+    "CGSItemTextArray - FeatureIdByIndex()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "FeatureIdByIndex",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupGSItemTextArrayL, T_Global_GSItemTextArray_FeatureIdByIndexL, Teardown )
+
+EUNIT_TEST(
+    "CGSItemTextArray - FeatureByIdL()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "FeatureByIdL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupGSItemTextArrayL, T_Global_GSItemTextArray_FeatureByIdL, Teardown )
+
+EUNIT_TEST(
+    "CGSItemTextArray - GetItemCaptionFromFeatureIdLC()", //case description
+    "CGSItemTextArray",                   //class being tested
+    "GetItemCaptionFromFeatureIdLC",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupGSItemTextArrayL, T_Global_GSItemTextArray_GetItemCaptionFromFeatureIdLC, Teardown )
+
+    
+// CGSRadioButtonSettingPageItemTextArray test cases
+    
+EUNIT_TEST(
+    "CGSRadioButtonSettingPageItemTextArray - NewL()", //case description
+    "CGSRadioButtonSettingPageItemTextArray",                   //class being tested
+    "NewL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupResourceL, T_Global_GSRBSPItemTextArray_NewL, Teardown )
+
+EUNIT_TEST(
+    "CGSRadioButtonSettingPageItemTextArray - CurrentFeatureL()", //case description
+    "CGSRadioButtonSettingPageItemTextArray",                   //class being tested
+    "CurrentFeatureL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    Setup_GSRBSPItemTextArrayL, T_Global_GSRBSPItemTextArray_CurrentFeatureL, Teardown )
+
+EUNIT_TEST(
+    "CGSRadioButtonSettingPageItemTextArray - SetRadioButtonSettingPageL()", //case description
+    "CGSRadioButtonSettingPageItemTextArray",                   //class being tested
+    "SetRadioButtonSettingPageL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    Setup_GSRBSPItemTextArrayL, T_Global_GSRBSPItemTextArray_SetRadioButtonSettingPageL, Teardown )
+    
+    
+// CGSListBoxItemTextArray test cases
+    
+EUNIT_TEST(
+    "CGSListBoxItemTextArray - NewL()", //case description
+    "CGSListBoxItemTextArray",                   //class being tested
+    "NewL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupResourceL, T_Global_CGSLBITextArray_NewL, Teardown )
+    
+EUNIT_TEST(
+    "CGSListBoxItemTextArray - another NewL()", //case description
+    "CGSListBoxItemTextArray",                   //class being tested
+    "overloaded NewL",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    SetupResourceL, T_Global_CGSLBITextArray_New2L, Teardown )
+    
+EUNIT_TEST(
+    "CGSListBoxItemTextArray - CurrentFeature()", //case description
+    "CGSListBoxItemTextArray",                   //class being tested
+    "CurrentFeature",            //method being tested
+    "FUNCTIONALITY",                        //FUNCTIONALITY, BOUNDARY, ERRORHANDLING
+    Setup_CGSLBITextArrayL, T_Global_CGSLBITextArray_CurrentFeatureL, Teardown )
+    
+EUNIT_END_TEST_TABLE
+
+//  END OF FILE