Fixed unit tests

This commit is contained in:
r.kuznetsov 2015-10-27 14:56:00 +03:00
parent ab6b4e1322
commit a63aa399b7
4 changed files with 124 additions and 57 deletions

View file

@ -72,18 +72,19 @@ UNIT_TEST(ColorPalleteMappingTests)
TEST_NOT_EQUAL(info1, info2, ());
TEST_EQUAL(info1, info3, ());
TestRects(info1->GetTexRect(), m2::RectF(0.5f / 32.0f, 0.5f / 16,
0.5f / 32.0f, 0.5f / 16));
TestRects(info2->GetTexRect(), m2::RectF(1.5f / 32.0f, 0.5f / 16,
1.5f / 32.0f, 0.5f / 16));
TestRects(info3->GetTexRect(), m2::RectF(0.5f / 32.0f, 0.5f / 16,
0.5f / 32.0f, 0.5f / 16));
TestRects(info1->GetTexRect(), m2::RectF(1.0f / 32.0f, 1.0f / 16,
1.0f / 32.0f, 1.0f / 16));
TestRects(info2->GetTexRect(), m2::RectF(3.0f / 32.0f, 1.0f / 16,
3.0f / 32.0f, 1.0f / 16));
TestRects(info3->GetTexRect(), m2::RectF(1.0f / 32.0f, 1.0f / 16,
1.0f / 32.0f, 1.0f / 16));
for (int i = 2; i < 100; ++i)
cp.MapResource(dp::Color(i, i, i, i));
TestRects(cp.MapResource(dp::Color(54, 54, 54, 54))->GetTexRect(), m2::RectF(22.5f / 32.0f, 1.5f / 16.0f,
22.5f / 32.0f, 1.5f / 16.0f));
TestRects(cp.MapResource(dp::Color(54, 54, 54, 54))->GetTexRect(), m2::RectF(13.0f / 32.0f, 7.0f / 16.0f,
13.0f / 32.0f, 7.0f / 16.0f));
}
UNIT_TEST(ColorPalleteUploadingSingleRow)
@ -112,13 +113,31 @@ UNIT_TEST(ColorPalleteUploadingSingleRow)
uint8_t memoryEtalon[] =
{
// 1 pixel 2 pixel 3 pixel 4 pixel
0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF,
0xAA, 0xBB, 0xCC, 0xDD
0xFF, 0x00, 0x00, 0x00, // 1 pixel (1st row)
0xFF, 0x00, 0x00, 0x00, // 1 pixel (1st row)
0x00, 0xFF, 0x00, 0x00, // 2 pixel (1st row)
0x00, 0xFF, 0x00, 0x00, // 2 pixel (1st row)
0x00, 0x00, 0xFF, 0x00, // 3 pixel (1st row)
0x00, 0x00, 0xFF, 0x00, // 3 pixel (1st row)
0x00, 0x00, 0x00, 0xFF, // 4 pixel (1st row)
0x00, 0x00, 0x00, 0xFF, // 4 pixel (1st row)
0xAA, 0xBB, 0xCC, 0xDD, // 5 pixel (1st row)
0xAA, 0xBB, 0xCC, 0xDD, // 5 pixel (1st row)
0xFF, 0x00, 0x00, 0x00, // 1 pixel (2nd row)
0xFF, 0x00, 0x00, 0x00, // 1 pixel (2nd row)
0x00, 0xFF, 0x00, 0x00, // 2 pixel (2nd row)
0x00, 0xFF, 0x00, 0x00, // 2 pixel (2nd row)
0x00, 0x00, 0xFF, 0x00, // 3 pixel (2nd row)
0x00, 0x00, 0xFF, 0x00, // 3 pixel (2nd row)
0x00, 0x00, 0x00, 0xFF, // 4 pixel (2nd row)
0x00, 0x00, 0x00, 0xFF, // 4 pixel (2nd row)
0xAA, 0xBB, 0xCC, 0xDD, // 5 pixel (2nd row)
0xAA, 0xBB, 0xCC, 0xDD // 5 pixel (2nd row)
};
MemoryComparer cmp(memoryEtalon, ARRAY_SIZE(memoryEtalon));
EXPECTGL(glTexSubImage2D(0, 0, 5, 1, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
EXPECTGL(glTexSubImage2D(0, 0, 10, 2, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
.WillOnce(Invoke(&cmp, &MemoryComparer::cmpSubImage));
cp.UploadResources(make_ref(&texture));
@ -133,13 +152,31 @@ UNIT_TEST(ColorPalleteUploadingSingleRow)
uint8_t memoryEtalon[] =
{
// 1 pixel 2 pixel 3 pixel 4 pixel
0xFF, 0xAA, 0x00, 0x00, 0xAA, 0xFF, 0x00, 0x00, 0xAA, 0x00, 0xFF, 0x00, 0xAA, 0x00, 0x00, 0xFF,
0x00, 0xBB, 0xCC, 0xDD
0xFF, 0xAA, 0x00, 0x00, // 1 pixel (1st row)
0xFF, 0xAA, 0x00, 0x00, // 1 pixel (1st row)
0xAA, 0xFF, 0x00, 0x00, // 2 pixel (1st row)
0xAA, 0xFF, 0x00, 0x00, // 2 pixel (1st row)
0xAA, 0x00, 0xFF, 0x00, // 3 pixel (1st row)
0xAA, 0x00, 0xFF, 0x00, // 3 pixel (1st row)
0xAA, 0x00, 0x00, 0xFF, // 4 pixel (1st row)
0xAA, 0x00, 0x00, 0xFF, // 4 pixel (1st row)
0x00, 0xBB, 0xCC, 0xDD, // 5 pixel (1st row)
0x00, 0xBB, 0xCC, 0xDD, // 5 pixel (1st row)
0xFF, 0xAA, 0x00, 0x00, // 1 pixel (2nd row)
0xFF, 0xAA, 0x00, 0x00, // 1 pixel (2nd row)
0xAA, 0xFF, 0x00, 0x00, // 2 pixel (2nd row)
0xAA, 0xFF, 0x00, 0x00, // 2 pixel (2nd row)
0xAA, 0x00, 0xFF, 0x00, // 3 pixel (2nd row)
0xAA, 0x00, 0xFF, 0x00, // 3 pixel (2nd row)
0xAA, 0x00, 0x00, 0xFF, // 4 pixel (2nd row)
0xAA, 0x00, 0x00, 0xFF, // 4 pixel (2nd row)
0x00, 0xBB, 0xCC, 0xDD, // 5 pixel (2nd row)
0x00, 0xBB, 0xCC, 0xDD // 5 pixel (2nd row)
};
MemoryComparer cmp(memoryEtalon, ARRAY_SIZE(memoryEtalon));
EXPECTGL(glTexSubImage2D(5, 0, 5, 1, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
EXPECTGL(glTexSubImage2D(10, 0, 10, 2, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
.WillOnce(Invoke(&cmp, &MemoryComparer::cmpSubImage));
cp.UploadResources(make_ref(&texture));
@ -168,20 +205,22 @@ UNIT_TEST(ColorPalleteUploadingPartialyRow)
{
cp.MapResource(dp::Color(0xFF, 0, 0, 0));
cp.MapResource(dp::Color(0xFF, 0xFF, 0, 0));
cp.MapResource(dp::Color(0xFF, 0xFF, 0xFF, 0));
cp.MapResource(dp::Color(0xFF, 0xFF, 0xFF, 0xFF));
cp.MapResource(dp::Color(0, 0, 0, 0xFF));
cp.MapResource(dp::Color(0, 0, 0xFF, 0xFF));
uint8_t memoryEtalon[] =
{
// 1 pixel 2 pixel 3 pixel 4 pixel
0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF,
0xFF, 0x00, 0x00, 0x00, // 1 pixel
0xFF, 0x00, 0x00, 0x00, // 1 pixel
0xFF, 0xFF, 0x00, 0x00, // 2 pixel
0xFF, 0xFF, 0x00, 0x00, // 2 pixel
0xFF, 0x00, 0x00, 0x00, // 1 pixel
0xFF, 0x00, 0x00, 0x00, // 1 pixel
0xFF, 0xFF, 0x00, 0x00, // 2 pixel
0xFF, 0xFF, 0x00, 0x00 // 2 pixel
};
MemoryComparer cmp(memoryEtalon, ARRAY_SIZE(memoryEtalon));
EXPECTGL(glTexSubImage2D(0, 0, 6, 1, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
EXPECTGL(glTexSubImage2D(0, 0, 4, 2, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
.WillOnce(Invoke(&cmp, &MemoryComparer::cmpSubImage));
cp.UploadResources(make_ref(&texture));
@ -195,22 +234,36 @@ UNIT_TEST(ColorPalleteUploadingPartialyRow)
uint8_t memoryEtalon1[] =
{
// 1 pixel 2 pixel
0xAA, 0x00, 0x00, 0x00, 0xAA, 0xAA, 0x00, 0x00,
0xAA, 0x00, 0x00, 0x00, // 1 pixel
0xAA, 0x00, 0x00, 0x00, // 1 pixel
0xAA, 0xAA, 0x00, 0x00, // 2 pixel
0xAA, 0xAA, 0x00, 0x00, // 2 pixel
0xAA, 0x00, 0x00, 0x00, // 1 pixel
0xAA, 0x00, 0x00, 0x00, // 1 pixel
0xAA, 0xAA, 0x00, 0x00, // 2 pixel
0xAA, 0xAA, 0x00, 0x00 // 2 pixel
};
uint8_t memoryEtalon2[] =
{
// 1 pixel 2 pixel
0xAA, 0xAA, 0xAA, 0x00, 0xAA, 0xAA, 0xAA, 0xAA,
0xAA, 0xAA, 0xAA, 0x00, // 1 pixel
0xAA, 0xAA, 0xAA, 0x00, // 1 pixel
0xAA, 0xAA, 0xAA, 0xAA, // 2 pixel
0xAA, 0xAA, 0xAA, 0xAA, // 2 pixel
0xAA, 0xAA, 0xAA, 0x00, // 1 pixel
0xAA, 0xAA, 0xAA, 0x00, // 1 pixel
0xAA, 0xAA, 0xAA, 0xAA, // 2 pixel
0xAA, 0xAA, 0xAA, 0xAA // 2 pixel
};
MemoryComparer cmp1(memoryEtalon1, ARRAY_SIZE(memoryEtalon1));
EXPECTGL(glTexSubImage2D(6, 0, 2, 1, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
EXPECTGL(glTexSubImage2D(4, 0, 4, 2, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
.WillOnce(Invoke(&cmp1, &MemoryComparer::cmpSubImage));
MemoryComparer cmp2(memoryEtalon2, ARRAY_SIZE(memoryEtalon2));
EXPECTGL(glTexSubImage2D(0, 1, 2, 1, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
EXPECTGL(glTexSubImage2D(0, 2, 4, 2, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
.WillOnce(Invoke(&cmp2, &MemoryComparer::cmpSubImage));
cp.UploadResources(make_ref(&texture));
@ -220,7 +273,7 @@ UNIT_TEST(ColorPalleteUploadingPartialyRow)
EXPECTGL(glDeleteTexture(1));
}
UNIT_TEST(ColorPalleteUploadingMultipyRow)
UNIT_TEST(ColorPalleteUploadingMultiplyRow)
{
int const width = 4;
int const height = 8;
@ -244,12 +297,19 @@ UNIT_TEST(ColorPalleteUploadingMultipyRow)
uint8_t memoryEtalon[] =
{
// 1 pixel 2 pixel
0xFF, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x00, // 1 pixel
0xFF, 0x00, 0x00, 0x00, // 1 pixel
0xAA, 0x00, 0x00, 0x00, // 2 pixel
0xAA, 0x00, 0x00, 0x00, // 2 pixel
0xFF, 0x00, 0x00, 0x00, // 1 pixel
0xFF, 0x00, 0x00, 0x00, // 1 pixel
0xAA, 0x00, 0x00, 0x00, // 2 pixel
0xAA, 0x00, 0x00, 0x00, // 2 pixel
};
MemoryComparer cmp(memoryEtalon, ARRAY_SIZE(memoryEtalon));
EXPECTGL(glTexSubImage2D(0, 0, 2, 1, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
EXPECTGL(glTexSubImage2D(0, 0, 4, 2, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
.WillOnce(Invoke(&cmp, &MemoryComparer::cmpSubImage));
cp.UploadResources(make_ref(&texture));
@ -260,31 +320,34 @@ UNIT_TEST(ColorPalleteUploadingMultipyRow)
cp.MapResource(dp::Color(0xFF, 0xFF, 0, 0));
cp.MapResource(dp::Color(0xFF, 0xFF, 0xFF, 0));
cp.MapResource(dp::Color(0xFF, 0xFF, 0xFF, 0xFF));
cp.MapResource(dp::Color(0, 0, 0, 0xFF));
cp.MapResource(dp::Color(0, 0, 0xFF, 0xFF));
cp.MapResource(dp::Color(0, 0, 0xAA, 0xAA));
uint8_t memoryEtalon1[] =
{
// 1 pixel 2 pixel
0xCC, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
};
0xCC, 0x00, 0x00, 0x00, // 1 pixel
0xCC, 0x00, 0x00, 0x00, // 1 pixel
0xFF, 0xFF, 0x00, 0x00, // 2 pixel
0xFF, 0xFF, 0x00, 0x00, // 2 pixel
uint8_t memoryEtalon2[] =
{
// 1 pixel 2 pixel 3 pixel 4 pixel
0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF,
0x00, 0x00, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
0xCC, 0x00, 0x00, 0x00, // 1 pixel
0xCC, 0x00, 0x00, 0x00, // 1 pixel
0xFF, 0xFF, 0x00, 0x00, // 2 pixel
0xFF, 0xFF, 0x00, 0x00, // 2 pixel
0xFF, 0xFF, 0xFF, 0x00, // 1 pixel
0xFF, 0xFF, 0xFF, 0x00, // 1 pixel
0xFF, 0xFF, 0xFF, 0xFF, // 2 pixel
0xFF, 0xFF, 0xFF, 0xFF, // 2 pixel
0xFF, 0xFF, 0xFF, 0x00, // 1 pixel
0xFF, 0xFF, 0xFF, 0x00, // 1 pixel
0xFF, 0xFF, 0xFF, 0xFF, // 2 pixel
0xFF, 0xFF, 0xFF, 0xFF, // 2 pixel
};
MemoryComparer cmp1(memoryEtalon1, ARRAY_SIZE(memoryEtalon1));
EXPECTGL(glTexSubImage2D(2, 0, 2, 1, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
EXPECTGL(glTexSubImage2D(0, 2, 4, 4, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
.WillOnce(Invoke(&cmp1, &MemoryComparer::cmpSubImage));
MemoryComparer cmp2(memoryEtalon2, ARRAY_SIZE(memoryEtalon2));
EXPECTGL(glTexSubImage2D(0, 1, 4, 2, AnyOf(gl_const::GLRGBA, gl_const::GLRGBA8), gl_const::GL8BitOnChannel, _))
.WillOnce(Invoke(&cmp2, &MemoryComparer::cmpSubImage));
cp.UploadResources(make_ref(&texture));
}

View file

@ -161,20 +161,21 @@ UNIT_TEST(SimpleScale)
{
size_t const moveEventCount = 5;
UserEventStreamTest test(false);
test.SetRect(m2::RectD(-10, -10, 10, 10));
test.SetRect(m2::RectD(-250, -250, 250, 250));
test.AddExpectation(df::UserEventStream::TWO_FINGERS_TAP);
test.AddExpectation(df::UserEventStream::BEGIN_SCALE);
for (size_t i = 0; i < moveEventCount; ++i)
for (size_t i = 0; i < moveEventCount - 1; ++i)
test.AddExpectation(df::UserEventStream::SCALE);
test.AddExpectation(df::UserEventStream::END_SCALE);
m2::PointD pointer1 = m2::PointD::Zero() + m2::PointD(0.1, 0.1);
m2::PointD pointer2 = m2::PointD::Zero() - m2::PointD(0.1, 0.1);
m2::PointD pointer1 = m2::PointD::Zero() + m2::PointD(10.0, 10.0);
m2::PointD pointer2 = m2::PointD::Zero() - m2::PointD(10.0, 10.0);
test.AddUserEvent(MakeTouchEvent(pointer1, pointer2, df::TouchEvent::TOUCH_DOWN));
for (size_t i = 0; i < 5; ++i)
for (size_t i = 0; i < moveEventCount; ++i)
{
pointer1 += m2::PointD(0.1, 0.0);
pointer2 -= m2::PointD(0.1, 0.0);
pointer1 += m2::PointD(20.0, 0.0);
pointer2 -= m2::PointD(20.0, 0.0);
test.AddUserEvent(MakeTouchEvent(pointer1, pointer2, df::TouchEvent::TOUCH_MOVE));
}
test.AddUserEvent(MakeTouchEvent(pointer1, pointer2, df::TouchEvent::TOUCH_UP));

View file

@ -49,6 +49,7 @@ char const * UserEventStream::CANCEL_TAP_DETECTOR = "CancelTap";
char const * UserEventStream::TRY_FILTER = "TryFilter";
char const * UserEventStream::END_FILTER = "EndFilter";
char const * UserEventStream::CANCEL_FILTER = "CancelFilter";
char const * UserEventStream::TWO_FINGERS_TAP = "TwoFingersTap";
#endif
uint8_t const TouchEvent::INVALID_MASKED_POINTER = 0xFF;
@ -601,6 +602,7 @@ void UserEventStream::UpdateTouches(array<Touch, 2> const & touches)
void UserEventStream::BeginTwoFingersTap(Touch const & t1, Touch const & t2)
{
TEST_CALL(TWO_FINGERS_TAP);
ASSERT_EQUAL(m_state, STATE_EMPTY, ());
m_state = STATE_TAP_TWO_FINGERS;
m_twoFingersTouches[0] = t1.m_location;

View file

@ -244,6 +244,7 @@ public:
static char const * TRY_FILTER;
static char const * END_FILTER;
static char const * CANCEL_FILTER;
static char const * TWO_FINGERS_TAP;
using TTestBridge = function<void (char const * action)>;
void SetTestBridge(TTestBridge const & fn) { m_testFn = fn; }