Beispiel #1
0
void CGdiDrawArc::BaseTest(const TRect &aRect, TInt aCount)
	{
	TheTest(aRect,aCount);
	}
/**
@SYMTestCaseID          SYSLIB-BAFL-CT-0468
@SYMTestCaseDesc        Tests the behaviour of bits
@SYMTestPriority        High
@SYMTestActions         Tests for bits by setting and clearing
@SYMTestExpectedResults Test must not fail
@SYMREQ                 REQ0000
*/
void DoTest1()
	{
	TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-BAFL-CT-0468 Pure Set and Clear and related functions only "));
	TestBitFlags test;
	TBool checkTestFlags;
	TInt  checkValue;

	TRAPD(errCode, test.TestSetL(TestBitFlags::EBlue));
	TheTest(errCode==KErrNone);

	checkTestFlags = test.TestIsSet(TestBitFlags::EBlue); //expect 1
	checkValue = test.TestValue(); //expect 1 (hex)
	TheTest(checkTestFlags == 1);
	TheTest(checkValue == 1);

	TRAP(errCode, test.TestSetL(TestBitFlags::EGreen));
	TheTest(errCode==KErrNone);
	checkTestFlags = test.TestIsSet(TestBitFlags::EGreen); //expect 4
	TheTest(checkTestFlags == 4);
	checkTestFlags = test.TestIsClear(TestBitFlags::EGreen); //expect 0 - means it hasnt been cleared
	checkValue = test.TestValue(); //expect 5 (hex)
	TheTest(checkTestFlags == 0);
	TheTest(checkValue == 5);

	TRAP(errCode, test.TestSetL(TestBitFlags::EYellow));
	TheTest(errCode==KErrNone);
	checkTestFlags = test.TestIsSet(TestBitFlags::EYellow); //expect 8
	checkValue = test.TestValue(); //expect d (hex)
	TheTest(checkTestFlags == 8);
	TheTest(checkValue == 13);

	test.TestClearL(TestBitFlags::EGreen);
	checkTestFlags = test.TestIsClear(TestBitFlags::EGreen); //expect 1
	checkValue = test.TestValue(); //expect 9 (hex)
	TheTest(checkTestFlags == 1);
	TheTest(checkValue == 9);

	checkTestFlags = test.TestIsClear(TestBitFlags::ERed); //expect 1 - means it has been cleared
	checkValue = test.TestValue(); //expect 9 (hex)
	TheTest(checkTestFlags == 1);
	TheTest(checkValue == 9);

	test.TestSetAll();
	checkTestFlags = test.TestIsSet(TestBitFlags::EBlue);
	TheTest(checkTestFlags == 1);
	checkTestFlags = test.TestIsSet(TestBitFlags::ERed);
	TheTest(checkTestFlags == 2);
	checkTestFlags = test.TestIsSet(TestBitFlags::EGreen);
	TheTest(checkTestFlags == 4);
	checkTestFlags = test.TestIsSet(TestBitFlags::EYellow);
	TheTest(checkTestFlags == 8);
	checkTestFlags = test.TestIsSet(TestBitFlags::EPurple);
	TheTest(checkTestFlags == 16);
	checkTestFlags = test.TestIsSet(TestBitFlags::EBlack);
	TheTest(checkTestFlags == 32);
	checkTestFlags = test.TestIsSet(TestBitFlags::EWhite);
	TheTest(checkTestFlags == 64);
	checkTestFlags = test.TestIsSet(TestBitFlags::EGrey);
	TheTest(checkTestFlags == 128);
	checkValue = test.TestValue(); //expect 0xffffffff (hex)
	TheTest(checkValue == -1);


	test.TestClearL(TestBitFlags::EBlue);
	checkTestFlags = test.TestIsClear(TestBitFlags::EBlue);
	TheTest(checkTestFlags == 1);
	test.TestClearL(TestBitFlags::ERed);
	checkTestFlags = test.TestIsClear(TestBitFlags::ERed);
	TheTest(checkTestFlags == 1);
	test.TestClearL(TestBitFlags::EGreen);
	checkTestFlags = test.TestIsClear(TestBitFlags::EGreen);
	TheTest(checkTestFlags == 1);
	test.TestClearL(TestBitFlags::EYellow);
	checkTestFlags = test.TestIsClear(TestBitFlags::EYellow);
	TheTest(checkTestFlags == 1);
	test.TestClearL(TestBitFlags::EPurple);
	checkTestFlags = test.TestIsClear(TestBitFlags::EPurple);
	TheTest(checkTestFlags == 1);
	test.TestClearL(TestBitFlags::EBlack);
	checkTestFlags = test.TestIsClear(TestBitFlags::EBlack);
	TheTest(checkTestFlags == 1);
	test.TestClearL(TestBitFlags::EWhite);
	checkTestFlags = test.TestIsClear(TestBitFlags::EWhite);
	TheTest(checkTestFlags == 1);
	test.TestClearL(TestBitFlags::EGrey);
	checkTestFlags = test.TestIsClear(TestBitFlags::EGrey);
	TheTest(checkTestFlags == 1);
	checkValue = test.TestValue(); //expect 0xffffff00
	TheTest(checkValue == -256);

	test.TestClearAll();
	checkValue = test.TestValue();
	TheTest(checkValue ==0);
	}
/**
@SYMTestCaseID				SYSLIB-BAFL-CT-3387
@SYMTestCaseDesc			Tests the behaviour of template class when type is an enum.
@SYMTestPriority				High
@SYMTestActions				For each bit test each function in class for when T is an enum.
							It is important that this test includes the MSB bit because enums
							are stored as an unsigned int and the MSB is the signed bit.
@SYMTestExpectedResults		Flags must be set and reset to the expected values
@SYMDEF					DEF102233
*/
void DEF102233()
	{
	TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-BAFL-CT-3387 Tests for DEF102233 "));

	TInt arrayPos;
	TInt bitPos;
	for(TInt x = 0; x <= 31; x++)
		{
		arrayPos = x;
		bitPos = x;

		// Constructor
		TBitFlagsT<TTestEnum> myBitFlagMSB1(KEnumArray[arrayPos]);
		TheTest(myBitFlagMSB1.IsSet(bitPos));

		// Copy Constructor
		TBitFlagsT<TTestEnum> myBitFlagMSB2(myBitFlagMSB1);
		TheTest(myBitFlagMSB2.IsSet(bitPos));

		// SetAll
		myBitFlagMSB1.SetAll();
		TheTest(myBitFlagMSB1.IsSet(bitPos));

		// ClearAll
		myBitFlagMSB1.ClearAll();
		TheTest(!myBitFlagMSB1.IsSet(bitPos));

		// Set and Clear
		myBitFlagMSB1.Set(bitPos);
		TheTest(myBitFlagMSB1.IsSet(bitPos));
		myBitFlagMSB1.Clear(bitPos);
		TheTest(!myBitFlagMSB1.IsSet(bitPos));

		// Assign
		myBitFlagMSB1.Assign(bitPos, ETrue);
		TheTest(myBitFlagMSB1.IsSet(bitPos));
		myBitFlagMSB1.Assign(bitPos, EFalse);
		TheTest(!myBitFlagMSB1.IsSet(bitPos));

		// Toggle
		myBitFlagMSB1.Toggle(bitPos);
		TheTest(myBitFlagMSB1.IsSet(bitPos));
		myBitFlagMSB1.Toggle(bitPos);
		TheTest(!myBitFlagMSB1.IsSet(bitPos));

		// operator[]
		TheTest(!myBitFlagMSB1[arrayPos]);
		myBitFlagMSB1.Set(bitPos);
		TheTest(myBitFlagMSB1[arrayPos]);

		// operator=
		myBitFlagMSB2 = myBitFlagMSB1;
		TheTest(myBitFlagMSB2[arrayPos]);
		myBitFlagMSB1.Toggle(bitPos);
		myBitFlagMSB2 = myBitFlagMSB1;
		TheTest(!myBitFlagMSB2[arrayPos]);

		// operator==
		TheTest(myBitFlagMSB1 == myBitFlagMSB2);
		myBitFlagMSB1.Toggle(bitPos);
		myBitFlagMSB2.Toggle(bitPos);
		TheTest(myBitFlagMSB1 == myBitFlagMSB2);
		myBitFlagMSB1.Toggle(bitPos);
		TheTest(!(myBitFlagMSB1 == myBitFlagMSB2));

		// IsSet and IsClear
		TheTest(myBitFlagMSB1.IsClear(bitPos));
		myBitFlagMSB1.Toggle(bitPos);
		TheTest(myBitFlagMSB1.IsSet(bitPos));

		// Value and SetValue
		myBitFlagMSB1.ClearAll();
		myBitFlagMSB1.SetValue(KEnumArray[arrayPos]);
		TheTest(myBitFlagMSB1.Value() == KEnumArray[arrayPos]);

		// Value against a signed integer
		TInt signedInteger = KEnumArray[arrayPos];
		TheTest(myBitFlagMSB1.Value() == signedInteger);

		// Value against an unsigned integer
		TUint unsignedInteger = KEnumArray[arrayPos];
		TheTest(myBitFlagMSB1.Value() == unsignedInteger);

		// iFlags
		myBitFlagMSB1.ClearAll();
		myBitFlagMSB1.iFlags = KEnumArray[arrayPos];
		TheTest(myBitFlagMSB1.Value() == KEnumArray[arrayPos]);
		}
	// check MSB was tested
	TheTest(KEnumArray[arrayPos] == ETest32);
	TheTest(bitPos == 31);
	}
Beispiel #4
0
void
wvGetComplexFullTableInit (wvParseStruct * ps, U32 para_intervals,
			   BTE * btePapx, U32 * posPapx, U32 piece)
{
    PAPX_FKP para_fkp;
	U32 para_fcFirst, para_fcLim = 0xffffffffL;
    PAP apap;
    U32 i, j = 0, k = 0;
    S32 l;
    TAP *test = NULL;
    wvVersion ver = wvQuerySupported (&ps->fib, NULL);
    if (ps->intable)
	return;

#if 0
    /* some testing code */
    wvTrace (("before test\n"));
    TheTest (ps, piece, btePapx, posPapx, para_intervals);
    wvTrace (("after test\n"));
#endif

    wvInitPAPX_FKP (&para_fkp);

    i = wvStream_tell (ps->mainfd);
    wvTrace (("TOP\n"));
    do
      {
	  wvTrace (("cycle again\n"));
	  wvReleasePAPX_FKP (&para_fkp);

	  wvTrace (
		   ("2: cp and fc are %x(%d) %x\n", i, i,
		    wvConvertCPToFC (i, &ps->clx)));
	  piece =
	      wvGetComplexParaBounds (ver,
				      &para_fkp, &para_fcFirst, &para_fcLim,
				      i, &ps->clx, btePapx, posPapx,
				      para_intervals, piece, ps->mainfd);


	  if (piece == 0xffffffffL)
	      break;
	  wvAssembleSimplePAP (ver, &apap,
			       para_fcLim, &para_fkp, ps);
	  wvTrace (("para from %x to %x\n", para_fcFirst, para_fcLim));
	  wvAssembleComplexPAP (ver, &apap,
				piece, ps);

	  wvTrace (("para from %x to %x\n", para_fcFirst, para_fcLim));
	  i = para_fcLim;

	  /* ignore the row end markers */
	  /*  if ((apap.ptap.itcMac) (apap.fTtp))*/
	  /* we ascertain the number of rows by counting the end of row
		 markers. NB: a row marker can have a 0 itcMac*/
	  if (apap.fTtp)
	    {
		test = (TAP *) realloc (test, sizeof (TAP) * (j + 1));
		wvCopyTAP (&(test[j]), &apap.ptap);
		for (l = 0; l < apap.ptap.itcMac + 1; l++)
		    wvTrace (("In This Row-->%d\n", apap.ptap.rgdxaCenter[l]));
		j++;
	    }
	  if (apap.fTtp)
	      k++;
      }
    while (apap.fInTable);
    wvTrace (("BOTTOM\n"));
#ifdef DEBUG
    if (piece == 0xffffffffL)
	wvTrace (("broken on line %d\n", j));
#endif
    wvTrace (("no of lines is %d %d\n", j, k));

    wvReleasePAPX_FKP (&para_fkp);

    wvSetTableInfo (ps, test, j);
    ps->intable = 1;
    ps->norows = j;
    wvFree (test);
}