haitest/bspsvs/suite/bsp/keypad/scripts/BASE-BSP-KEYPAD-DRIVER-MANUAL.script
changeset 0 cec860690d41
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/haitest/bspsvs/suite/bsp/keypad/scripts/BASE-BSP-KEYPAD-DRIVER-MANUAL.script	Tue Feb 02 01:39:10 2010 +0200
@@ -0,0 +1,339 @@
+//
+// Copyright (c) 2005-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:
+//
+//! @file
+//! @SYMTestSuiteName		BASE-BSP-KEYPAD-DRIVER-MANUAL
+//! @SYMScriptDescription	Tests that all keys on the keypad are working as expected.
+//! @SYMScriptAutomation	These are all manual tests requiring user intervention.
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM and Text Shell Window Server.
+////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+
+
+LOAD_SUITE	T_Keypad
+DELAY		2000
+
+START_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0001
+//! @SYMTestCaseID		BASE-BSP-KEYPAD-DRIVER-MANUAL-0001
+//! @SYMAPI			RConsole::Read(TConsoleKey &aKeystroke,TRequestStatus &aStatus);
+//!				TConsoleKey::Code();
+//!				TRawEvent::EKeyDown;
+//!				TRawEvent::EKeyUp;
+//! @SYMAuthor			Runno Sgirka
+//! @SYMCreationDate		16/07/2008
+//! @SYMTestCaseDesc		Keypad Layout Test - Tests all keys and modifiers, one by one. The user is prompted
+//!				to press keys and the results are verified against expected values.
+//! @SYMTestActions		1. Create Hal Handle object.
+//!				2. Verify using RConsole::Read and TConsoleKey::Code() that all the keys on the keypad work as expected.
+//!				3. Destroy all objects.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The keyboard layout verification is completed successfully.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	1000		T_Keypad			\base\keypad\BASE-BSP-KEYPAD-DRIVER.ini
+		CREATE_OBJECT	Keypad		keypad1
+		COMMAND		keypad1		GetScanCodes			keys
+		COMMAND		keypad1		GetModifiers			modifiers
+		COMMAND		keypad1		TestAllKeys
+		OUTSTANDING
+	END_TEST_BLOCK
+END_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0001
+
+
+START_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0002
+//! @SYMTestCaseID		BASE-BSP-KEYPAD-DRIVER-MANUAL-0002
+//! @SYMAPI			RConsole::Read(TConsoleKey &aKeystroke,TRequestStatus &aStatus);
+//!				TConsoleKey::Code();
+//!				TRawEvent::EKeyDown;
+//!				TRawEvent::EKeyUp;
+//! @SYMAuthor			Runno Sgirka
+//! @SYMCreationDate		16/07/2008
+//! @SYMTestCaseDesc		Keypad Layout Test - Tests one modifier + one key combinations. The number of keys tested with all modifiers
+//!				depends on "test_coverage" value in global INI (Very Low, Low, Medium, Full). The user is prompted to press keys and the
+//!				results are verified against expected values.
+//! @SYMTestActions		1. Create Hal Handle object.
+//!				2. Verify using RConsole::Read and TConsoleKey::Code() that all the keys on the keypad work as expected.
+//!				3. Destroy all objects.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The keyboard layout verification is completed successfully.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	1000		T_Keypad			\base\keypad\BASE-BSP-KEYPAD-DRIVER.ini
+		CREATE_OBJECT	Keypad		keypad1
+		COMMAND		keypad1		GetScanCodes			keys
+		COMMAND		keypad1		GetModifiers			modifiers
+		COMMAND		keypad1		TestOneModifierOneOtherKey	test_coverage
+		OUTSTANDING
+	END_TEST_BLOCK
+END_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0002
+
+
+START_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0003
+//! @SYMTestCaseID		BASE-BSP-KEYPAD-DRIVER-MANUAL-0003
+//! @SYMAPI			RConsole::Read(TConsoleKey &aKeystroke,TRequestStatus &aStatus);
+//!				TConsoleKey::Code();
+//!				TRawEvent::EKeyDown;
+//!				TRawEvent::EKeyUp;
+//! @SYMAuthor			Runno Sgirka
+//! @SYMCreationDate		16/07/2008
+//! @SYMTestCaseDesc		Keypad Layout Test - Tests two key (not modifier) combinations. The number of keys tested with eachother
+//!				depends on "test_coverage" value in global INI (Very Low, Low, Medium, Full). The user is prompted to press keys and the
+//!				results are verified against expected values.
+//! @SYMTestActions		1. Create Hal Handle object.
+//!				2. Verify using RConsole::Read and TConsoleKey::Code() that all the keys on the keypad work as expected.
+//!				3. Destroy all objects.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The keyboard layout verification is completed successfully.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	1000		T_Keypad			\base\keypad\BASE-BSP-KEYPAD-DRIVER.ini
+		CREATE_OBJECT	Keypad		keypad1
+		COMMAND		keypad1		GetScanCodes			keys
+		COMMAND		keypad1		GetModifiers			modifiers
+		COMMAND		keypad1		TestTwoKeys			test_coverage
+		OUTSTANDING
+	END_TEST_BLOCK
+END_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0003
+
+
+START_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0004
+//! @SYMTestCaseID		BASE-BSP-KEYPAD-DRIVER-MANUAL-0004
+//! @SYMAPI			RConsole::Read(TConsoleKey &aKeystroke,TRequestStatus &aStatus);
+//!				TConsoleKey::Code();
+//!				TRawEvent::EKeyDown;
+//!				TRawEvent::EKeyUp;
+//! @SYMAuthor			Runno Sgirka
+//! @SYMCreationDate		16/07/2008
+//! @SYMTestCaseDesc		Keypad Layout Test - Tests multiple key combinations. Each combination is listed separately in the global INI
+//!				file. The user is prompted to press keys and the results are verified against expected values.
+//! @SYMTestActions		1. Create Hal Handle object.
+//!				2. Verify using RConsole::Read and TConsoleKey::Code() that all the keys on the keypad work as expected.
+//!				3. Destroy all objects.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The keyboard layout verification is completed successfully.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	1000		T_Keypad			\base\keypad\BASE-BSP-KEYPAD-DRIVER.ini
+		CREATE_OBJECT	Keypad		keypad1
+		COMMAND		keypad1		GetScanCodes			keys
+		COMMAND		keypad1		GetModifiers			modifiers
+		COMMAND		keypad1		TestMultipleKeys		multiple_key_sets
+		OUTSTANDING
+	END_TEST_BLOCK
+END_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0004
+
+
+START_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0005
+//! @SYMTestCaseID		BASE-BSP-KEYPAD-DRIVER-MANUAL-0005
+//! @SYMAPI			HAL::Set(TAttribute, TInt);
+//!				HAL::Get(TAttribute, TInt&);
+//!				TAttribute::EKeyboardClickState;
+//!				TSoundHalFunction::ESoundHalSetKeyClickEnabled;
+//!				TSoundHalFunction::ESoundHalKeyClickEnabled;
+//! @SYMAuthor			Runno Sgirka
+//! @SYMCreationDate		16/07/2008
+//! @SYMTestCaseDesc		User confirmation of disabled Keypad Click State
+//! @SYMTestActions		1. Create Hal Handle object.
+//!				2. Get the current EKeyboardClickState value and check that it is the default value
+//!				3. Set EKeyboardClickState 0 (disabled) using HAL:Set.
+//!				4. Get EKeyboardClickState using HAL::Get, and check that it is 0 (disabled).
+//!				5. Verify manually that there is no key click
+//!				6. Restore EKeyboardClickState to the default value using HAL:Set.
+//!				7. Destroy all objects.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Keypad click state attribute value is changed to 0 as expected.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100		T_Keypad		\base\keypad\BASE-BSP-KEYPAD-DRIVER.ini
+		CREATE_OBJECT	Keypad		keypad1
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0005-GetCurrentKeypadClickState
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0005-SetKeypadClickState
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0005-GetKeypadClickState
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0005-VerifyKeypadClickStateDisabledWarning
+		OUTSTANDING
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0005-VerifyKeypadClickStateDisabled
+		OUTSTANDING
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0005-RestoreKeypadClickState
+	END_TEST_BLOCK
+END_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0005
+
+
+START_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0006
+//! @SYMTestCaseID		BASE-BSP-KEYPAD-DRIVER-MANUAL-0006
+//! @SYMAPI			HAL::Set(TAttribute, TInt);
+//!				HAL::Get(TAttribute, TInt&);
+//!				TAttribute::EKeyboardClickState;
+//!				TSoundHalFunction::ESoundHalSetKeyClickEnabled;
+//!				TSoundHalFunction::ESoundHalKeyClickEnabled;
+//! @SYMAuthor			Runno Sgirka
+//! @SYMCreationDate		16/07/2008
+//! @SYMTestCaseDesc		User confirmation of enabled Keypad Click State
+//! @SYMTestActions		1. Create Hal Handle object.
+//!				2. Get the current EKeyboardClickState value and check that it is the default value
+//!				3. Set EKeyboardClickState 1 (enabled) using HAL:Set.
+//!				4. Get EKeyboardClickState using HAL::Get, and check that it is 1 (enabled).
+//!				5. Verify manually that there is a key click present
+//!				6. Restore EKeyboardClickState to the default value using HAL:Set.
+//!				7. Destroy all objects.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Keypad click state attribute value is changed to 1 as expected.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100		T_Keypad		\base\keypad\BASE-BSP-KEYPAD-DRIVER.ini
+		CREATE_OBJECT	Keypad		keypad1
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0006-GetCurrentKeypadClickState
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0006-SetKeypadClickState
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0006-GetKeypadClickState
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0006-VerifyKeypadClickStateEnabledWarning
+		OUTSTANDING
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0006-VerifyKeypadClickStateEnabled
+		OUTSTANDING
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0006-RestoreKeypadClickState
+	END_TEST_BLOCK
+END_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0006
+
+
+START_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007
+//! @SYMTestCaseID		BASE-BSP-KEYPAD-DRIVER-MANUAL-0007
+//! @SYMAPI			HAL::Set(TAttribute, TInt);
+//!				HAL::Get(TAttribute, TInt&);
+//!				TAttribute::EKeyboardClickVolume;
+//! @SYMAuthor			Runno Sgirka
+//! @SYMCreationDate		16/07/2008
+//! @SYMTestCaseDesc		Keypad Click Volume Test - Sets different volume levels for keypad click (EKeyboardClickVolume
+//!				attribute) and validates them (max volume level can be different on different hardware;
+//!				specified in t_keypad.ini).
+//! @SYMTestActions		1.  Create Hal Handle object.
+//!				2.  Get the current EKeyboardClickState value and check that it is the default value
+//!				3.  Set EKeyboardClickState 1 (enabled) using HAL:Set.
+//!				4.  Get EKeyboardClickState using HAL::Get, and check that it is 1 (enabled).
+//!				5.  Get the current EKeyboardClickVolume value using HAL::Get.
+//!				6.  Get EKeyboardClickVolumeMax value using using HAL::Get, and check it against expected value.
+//!				7.  Set EKeyboardClickVolume to 0 using HAL::Set.
+//!				8.  Get EKeyboardClickVolume using HAL::Get and verify it against expected value
+//!				9.  Verify manually the click volume change (optional; only when running manual tests).
+//!				10. Set EKeyboardClickVolume between 0 and max volume level using HAL::Set.
+//!				11. Get EKeyboardClickVolume using HAL::Get and verify it against expected value
+//!				12. Verify manually the click volume change (optional; only when running manual tests).
+//!				13. Set EKeyboardClickVolume to max volume level using HAL::Set.
+//!				14. Get EKeyboardClickVolume using HAL::Get and verify it against expected value
+//!				15. Verify manually the click volume change (optional; only when running manual tests).
+//!				16. Restore the initial EKeyboardClickVolume value using HAL::Set.
+//!				17. Get EKeyboardClickVolume using HAL::Get and verify it against expected value (initial value).
+//!				18. Verify manually the click volume change (optional; only when running manual tests).
+//!				19. Restore EKeyboardClickState to the default value using HAL:Set.
+//!				20. Destroy all objects.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Keypad click volume level is set and verified successfully.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100		T_Keypad		\base\keypad\BASE-BSP-KEYPAD-DRIVER.ini
+		CREATE_OBJECT	Keypad		keypad1
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-GetCurrentKeypadClickState
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-SetKeypadClickState
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-GetKeypadClickState
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-GetCurrentKeypadClickVolume
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-GetKeypadClickVolumeMax
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-SetKeypadClickVolume0
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-GetKeypadClickVolume0
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-VerifyKeypadClickVolume0Warning
+		OUTSTANDING
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-VerifyKeypadClickVolume0
+		OUTSTANDING
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-SetKeypadClickVolumeAvg
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-GetKeypadClickVolumeAvg
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-VerifyKeypadClickVolumeAvgWarning
+		OUTSTANDING
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-VerifyKeypadClickVolumeAvg
+		OUTSTANDING
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-SetKeypadClickVolumeMaxValue
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-GetKeypadClickVolumeMaxValue
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-VerifyKeypadClickVolumeMaxValueWarning
+		OUTSTANDING
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-VerifyKeypadClickVolumeMaxValue
+		OUTSTANDING
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-RestoreKeypadClickVolume
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-VerifyRestoredKeypadClickVolumeWarning
+		OUTSTANDING
+		COMMAND		keypad1		PromptUser		BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-VerifyRestoredKeypadClickVolume
+		OUTSTANDING
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007-RestoreKeypadClickState
+	END_TEST_BLOCK
+END_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0007
+
+START_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0008
+//! @SYMTestCaseID		BASE-BSP-KEYPAD-DRIVER-MANUAL-0008
+//! @SYMAPI			HAL::Set(TAttribute, TInt);
+//!				HAL::Get(TAttribute, TInt&);
+//!				TAttribute::EKeyboardState;
+//!				TKeyboardHalFunction::EKeyboardHalKeyboardState;
+//!				TKeyboardHalFunction::EKeyboardHalSetKeyboardState;
+//! @SYMAuthor			Runno Sgirka
+//! @SYMCreationDate		16/07/2008
+//! @SYMTestCaseDesc		Disable the keypad requesting user to use the keypad
+//! @SYMTestActions		1. Create Hal Handle object.
+//!				2. Get the default EKeyboardState value and check that it is as expected
+//!				3. Set EKeyboardState 0 (disabled) using HAL:Set.
+//!				4. Get EKeyboardState using HAL::Get, and check that it is 0 (disabled).
+//!				5. Verify manually that the keypad is disabled (optional; only when running manual tests).
+//!				6. Restore EKeyboardState to the default value using HAL:Set.
+//!				7. Destroy all objects.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Keypad state attribute value is changed to 0 as expected.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100		T_Keypad		\base\keypad\BASE-BSP-KEYPAD-DRIVER.ini
+		CREATE_OBJECT	Keypad		keypad1
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0008-GetCurrentKeypadState
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0008-SetKeypadState
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0008-GetKeypadState
+		COMMAND		keypad1		VerifyKeypadState	BASE-BSP-KEYPAD-DRIVER-MANUAL-0008-VerifyKeypadStateDisabled
+		OUTSTANDING
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0008-RestoreKeypadState
+	END_TEST_BLOCK
+END_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0008
+
+
+START_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0009
+//! @SYMTestCaseID		BASE-BSP-KEYPAD-DRIVER-MANUAL-0009
+//! @SYMAPI			HAL::Set(TAttribute, TInt);
+//!				HAL::Get(TAttribute, TInt&);
+//!				TAttribute::EKeyboardState;
+//!				TKeyboardHalFunction::EKeyboardHalKeyboardState;
+//!				TKeyboardHalFunction::EKeyboardHalSetKeyboardState;
+//! @SYMAuthor			Runno Sgirka
+//! @SYMCreationDate		16/07/2008
+//! @SYMTestCaseDesc		Enable the keypad requesting user to use the keypad
+//! @SYMTestActions		1. Create Hal Handle object.
+//!				2. Get the default EKeyboardState value and check that it is as expected
+//!				3. Set EKeyboardState 1 (enabled) using HAL:Set.
+//!				4. Get EKeyboardState using HAL::Get, and check that it is 1 (enabled).
+//!				5. Verify manually that the keypad is enabled (optional; only when running manual tests).
+//!				6. Restore EKeyboardState to the default value using HAL:Set.
+//!				7. Destroy all objects.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Keypad state attribute value is changed to 1 as expected.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100		T_Keypad		\base\keypad\BASE-BSP-KEYPAD-DRIVER.ini
+		CREATE_OBJECT	Keypad		keypad1
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0009-GetCurrentKeypadState
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0009-SetKeypadState
+		COMMAND		keypad1		Get			BASE-BSP-KEYPAD-DRIVER-MANUAL-0009-GetKeypadState
+		COMMAND		keypad1		VerifyKeypadState	BASE-BSP-KEYPAD-DRIVER-MANUAL-0009-VerifyKeypadStateEnabled
+		OUTSTANDING
+		COMMAND		keypad1		Set			BASE-BSP-KEYPAD-DRIVER-MANUAL-0009-RestoreKeypadState
+	END_TEST_BLOCK
+END_TESTCASE			BASE-BSP-KEYPAD-DRIVER-MANUAL-0009