photosgallery/viewframework/medialists/tsrc/t_cglxmedia/t_cglxmedia.cpp
changeset 0 4e91876724a2
child 18 bcb43dc84c44
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/viewframework/medialists/tsrc/t_cglxmedia/t_cglxmedia.cpp	Thu Dec 17 08:45:44 2009 +0200
@@ -0,0 +1,181 @@
+/*
+* Copyright (c) 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:    CGlxMedia unit tests
+*
+*/
+
+
+
+
+//  CLASS HEADER
+#include "t_cglxmedia.h"
+
+//  EXTERNAL INCLUDES
+#include <digia/eunit/EUnitMacros.h>
+#include <digia/eunit/EUnitDecorators.h>
+
+#include <mpxattribute.h>
+#include <mpxmediageneraldefs.h>
+
+#include <glxmediageneraldefs.h>
+
+//  INTERNAL INCLUDES
+#include "glxmedia.h"
+
+const TInt KMediaId = 1;
+
+_LIT(KMediaTitle, "Captured");
+_LIT(KMediaSubTitle, "0 items");
+
+// CONSTRUCTION
+T_CGlxMedia* T_CGlxMedia::NewL()
+    {
+    T_CGlxMedia* self = T_CGlxMedia::NewLC();
+    CleanupStack::Pop();
+
+    return self;
+    }
+
+T_CGlxMedia* T_CGlxMedia::NewLC()
+    {
+    T_CGlxMedia* self = new( ELeave ) T_CGlxMedia();
+    CleanupStack::PushL( self );
+
+    self->ConstructL();
+
+    return self;
+    }
+
+// Destructor (virtual by CBase)
+T_CGlxMedia::~T_CGlxMedia()
+    {
+    }
+
+// Default constructor
+T_CGlxMedia::T_CGlxMedia()
+    {
+    }
+
+// Second phase construct
+void T_CGlxMedia::ConstructL()
+    {
+    // The ConstructL from the base class CEUnitTestSuiteClass must be called.
+    // It generates the test case table.
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+//  METHODS
+
+
+void T_CGlxMedia::SetupL(  )
+    {
+    iCGlxMedia = new (ELeave) CGlxMedia(TGlxMediaId(KMediaId));;
+    iCGlxMedia->SetTextValueL(KMPXMediaGeneralTitle, KMediaTitle);
+    iCGlxMedia->SetTextValueL(KMPXMediaGeneralSubTitle, KMediaSubTitle);
+    iCGlxMedia->SetTObjectValueL<TBool>(KGlxMediaGeneralSystemItem, EFalse);
+    }
+
+void T_CGlxMedia::Teardown(  )
+    {
+    delete iCGlxMedia; 
+    iCGlxMedia = NULL; 
+    }
+
+void T_CGlxMedia::T_CGlxMedia_DeleteAttributeL(  )
+    {
+    // Delete non existing attribute
+    EUNIT_PRINT(_L("Delete non existing attribute"));
+    iCGlxMedia->DeleteAttribute(KMPXMediaGeneralThumbnail1);
+    EUNIT_ASSERT_DESC(iCGlxMedia->Count() == 3, "3 attributes should remain");
+    EUNIT_ASSERT_DESC(iCGlxMedia->IsSupported(KMPXMediaGeneralTitle), "Title attribute should remain");
+    EUNIT_ASSERT_DESC(iCGlxMedia->IsSupported(KMPXMediaGeneralSubTitle), "Subtitle attribute should remain");
+    EUNIT_ASSERT_DESC(iCGlxMedia->IsSupported(KGlxMediaGeneralSystemItem), "System item attribute should remain");
+
+    // Delete existing attribute
+    EUNIT_PRINT(_L("Delete existing attribute"));
+    iCGlxMedia->DeleteAttribute(KMPXMediaGeneralSubTitle);
+    EUNIT_ASSERT_DESC(iCGlxMedia->Count() == 2, "2 attributes should remain");
+    EUNIT_ASSERT_DESC(iCGlxMedia->IsSupported(KMPXMediaGeneralTitle), "Title attribute should remain");
+    EUNIT_ASSERT_DESC(!iCGlxMedia->IsSupported(KMPXMediaGeneralSubTitle), "Subtitle attribute shouldn't remain");
+    EUNIT_ASSERT_DESC(iCGlxMedia->IsSupported(KGlxMediaGeneralSystemItem), "System item attribute should remain");
+    }
+
+void T_CGlxMedia::T_CGlxMedia_DeleteAttribute2_SubTest1L(  )
+    {
+#ifdef _DEBUG
+    // Delete index less than 0
+    EUNIT_PRINT(_L("Delete index less than 0"));
+    EUNIT_ASSERT_PANIC_DESC(iCGlxMedia->DeleteAttribute(-1), "Images & videos", EGlxPanicIllegalArgument, "Incorrect panic");
+#endif // _DEBUG
+    }
+
+void T_CGlxMedia::T_CGlxMedia_DeleteAttribute2_SubTest2L(  )
+    {
+#ifdef _DEBUG
+    // Delete index greater than number of attributes
+    EUNIT_PRINT(_L("Delete index greater than number of attributes"));
+    EUNIT_ASSERT_PANIC_DESC(iCGlxMedia->DeleteAttribute(3), "Images & videos", EGlxPanicIllegalArgument, "Incorrect panic");
+#endif // _DEBUG
+    }
+
+void T_CGlxMedia::T_CGlxMedia_DeleteAttribute2_SubTest3L(  )
+    {
+    // Delete existing attribute
+    EUNIT_PRINT(_L("Delete existing attribute"));
+    iCGlxMedia->DeleteAttribute(2);
+    EUNIT_ASSERT_DESC(iCGlxMedia->Count() == 2, "2 attributes should remain");
+    EUNIT_ASSERT_DESC(iCGlxMedia->IsSupported(KMPXMediaGeneralTitle), "Title attribute should remain");
+    EUNIT_ASSERT_DESC(iCGlxMedia->IsSupported(KMPXMediaGeneralSubTitle), "Subtitle attribute should remain");
+    EUNIT_ASSERT_DESC(!iCGlxMedia->IsSupported(KGlxMediaGeneralSystemItem), "System item attribute shouldn't remain");
+    }
+    
+
+//  TEST TABLE
+EUNIT_BEGIN_TEST_TABLE(
+    T_CGlxMedia,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "DeleteAttribute - test1",
+    "CGlxMedia",
+    "DeleteAttribute - test1",
+    "FUNCTIONALITY",
+    SetupL, T_CGlxMedia_DeleteAttributeL, Teardown)
+
+EUNIT_TEST(
+    "DeleteAttribute2 - test2, subtest1",
+    "CGlxMedia",
+    "DeleteAttribute2 - test2, subtest1",
+    "FUNCTIONALITY",
+    SetupL, T_CGlxMedia_DeleteAttribute2_SubTest1L, Teardown)
+
+EUNIT_TEST(
+    "DeleteAttribute2 - test2, subtest2",
+    "CGlxMedia",
+    "DeleteAttribute2 - test2, subtest2",
+    "FUNCTIONALITY",
+    SetupL, T_CGlxMedia_DeleteAttribute2_SubTest2L, Teardown)
+
+EUNIT_TEST(
+    "DeleteAttribute2 - test2, subtest3",
+    "CGlxMedia",
+    "DeleteAttribute2 - test2, subtest3",
+    "FUNCTIONALITY",
+    SetupL, T_CGlxMedia_DeleteAttribute2_SubTest3L, Teardown)
+    
+
+EUNIT_END_TEST_TABLE
+
+//  END OF FILE