From ed673310e2551e64d8196f7776d7d4c92085f8c2 Mon Sep 17 00:00:00 2001 From: "reed@android.com" Date: Fri, 27 Feb 2009 16:24:51 +0000 Subject: add initial unittest framework (tests) move some previous unittests out of core classes and into tests git-svn-id: http://skia.googlecode.com/svn/trunk@96 2bbb7eff-a529-9590-31e7-b0007b416f81 --- samplecode/SampleTextOnPath.cpp | 128 ---------------------------------------- 1 file changed, 128 deletions(-) (limited to 'samplecode/SampleTextOnPath.cpp') diff --git a/samplecode/SampleTextOnPath.cpp b/samplecode/SampleTextOnPath.cpp index 97b4e8e340..aec8fd6360 100644 --- a/samplecode/SampleTextOnPath.cpp +++ b/samplecode/SampleTextOnPath.cpp @@ -304,137 +304,9 @@ private: typedef SkView INHERITED; }; -static const uint16_t gTest0[] = { 0, 0, 1, 1 }; -static const uint16_t gTest1[] = { 1, 2, 3, 4, 5, 6 }; -static const uint16_t gTest2[] = { 0, 0, 0, 1, 2, 3, 3, 3 }; -static const uint16_t gTest3[] = { 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, 0, 0, 1 }; - -#include "SkRandom.h" -static SkRandom gRand; -static void rand_fill(uint16_t buffer[], int count) { - for (int i = 0; i < count; i++) - buffer[i] = (uint16_t)gRand.nextU(); -} - -static void test_pack16() { - static const struct { - const uint16_t* fSrc; - int fCount; - } gTests[] = { - { gTest0, SK_ARRAY_COUNT(gTest0) }, - { gTest1, SK_ARRAY_COUNT(gTest1) }, - { gTest2, SK_ARRAY_COUNT(gTest2) }, - { gTest3, SK_ARRAY_COUNT(gTest3) } - }; - - for (size_t i = 0; i < SK_ARRAY_COUNT(gTests); i++) { - uint8_t dst[100]; - size_t dstSize = SkPackBits::Pack16(gTests[i].fSrc, - gTests[i].fCount, dst); - printf("Test[%d] orig size = %d, dst size = %d", - i, gTests[i].fCount, (int)dstSize); - uint16_t src[100]; - int srcCount = SkPackBits::Unpack16(dst, dstSize, src); - printf(", src size = %d", srcCount); - bool match = gTests[i].fCount == srcCount && memcmp(gTests[i].fSrc, src, - gTests[i].fCount * sizeof(uint16_t)) == 0; - printf(", match = %d\n", match); - } - - for (int n = 1000; n; n--) { - size_t size = 50; - uint16_t src[100], src2[100]; - uint8_t dst[200]; - rand_fill(src, size); - - size_t dstSize = SkPackBits::Pack16(src, size, dst); - size_t maxSize = SkPackBits::ComputeMaxSize16(size); - SkASSERT(maxSize >= dstSize); - - int srcCount = SkPackBits::Unpack16(dst, dstSize, src2); - SkASSERT(size == srcCount); - bool match = memcmp(src, src2, size * sizeof(uint16_t)) == 0; - SkASSERT(match); - } -} - -static const uint8_t gTest80[] = { 0, 0, 1, 1 }; -static const uint8_t gTest81[] = { 1, 2, 3, 4, 5, 6 }; -static const uint8_t gTest82[] = { 0, 0, 0, 1, 2, 3, 3, 3 }; -static const uint8_t gTest83[] = { 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, 0, 0, 1 }; -static const uint8_t gTest84[] = { 1, 0, 3, 0, 0, 0, 2, 1, 1, 2 }; - -static void rand_fill(uint8_t buffer[], int count) { - for (int i = 0; i < count; i++) - buffer[i] = (uint8_t)((gRand.nextU() >> 8) & 0x3); -} - -static void test_pack8() { - static const struct { - const uint8_t* fSrc; - int fCount; - } gTests[] = { - { gTest80, SK_ARRAY_COUNT(gTest80) }, - { gTest81, SK_ARRAY_COUNT(gTest81) }, - { gTest82, SK_ARRAY_COUNT(gTest82) }, - { gTest83, SK_ARRAY_COUNT(gTest83) }, - { gTest84, SK_ARRAY_COUNT(gTest84) } - }; - - for (size_t i = 4; i < SK_ARRAY_COUNT(gTests); i++) { - uint8_t dst[100]; - size_t maxSize = SkPackBits::ComputeMaxSize8(gTests[i].fCount); - size_t dstSize = SkPackBits::Pack8(gTests[i].fSrc, - gTests[i].fCount, dst); - SkASSERT(dstSize <= maxSize); - printf("Test[%d] orig size = %d, dst size = %d", i, - gTests[i].fCount, (int)dstSize); - uint8_t src[100]; - int srcCount = SkPackBits::Unpack8(dst, dstSize, src); - printf(", src size = %d", srcCount); - bool match = gTests[i].fCount == srcCount && - memcmp(gTests[i].fSrc, src, - gTests[i].fCount * sizeof(uint8_t)) == 0; - printf(", match = %d\n", match); - } - - for (size_t size = 1; size <= 512; size += 1) { - for (int n = 200; n; n--) { - uint8_t src[600], src2[600]; - uint8_t dst[600]; - rand_fill(src, size); - - size_t dstSize = SkPackBits::Pack8(src, size, dst); - size_t maxSize = SkPackBits::ComputeMaxSize8(size); - SkASSERT(maxSize >= dstSize); - - int srcCount = SkPackBits::Unpack8(dst, dstSize, src2); - SkASSERT(size == srcCount); - bool match = memcmp(src, src2, size * sizeof(uint8_t)) == 0; - SkASSERT(match); - - for (int j = 0; j < 200; j++) { - size_t skip = gRand.nextU() % size; - size_t write = gRand.nextU() % size; - if (skip + write > size) { - write = size - skip; - } - SkPackBits::Unpack8(src, skip, write, dst); - bool match = memcmp(src, src2 + skip, write) == 0; - SkASSERT(match); - } - } - } -} - ////////////////////////////////////////////////////////////////////////////// static SkView* MyFactory() { - static bool gOnce; - if (!gOnce) { -// test_pack8(); - gOnce = true; - } return new TextOnPathView; } -- cgit v1.2.3