aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-02-06 21:42:34 +0000
committerGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-02-06 21:42:34 +0000
commita519f4878343a2f37b7e1be878d6eabb73dbb755 (patch)
tree5166738f08cc28ec46477a3efed6baa2e47e9ad0 /tests
parentff388f8ec404f8730937b43a476faee8d94428b7 (diff)
rver r7626, might trigger for some strange reason a heap corruption
git-svn-id: http://skia.googlecode.com/svn/trunk@7631 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tests')
-rw-r--r--tests/TSetTest.cpp125
1 files changed, 0 insertions, 125 deletions
diff --git a/tests/TSetTest.cpp b/tests/TSetTest.cpp
deleted file mode 100644
index 65ebefcb2f..0000000000
--- a/tests/TSetTest.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "Test.h"
-#include "SkTSet.h"
-
-// Tests the SkTSet<T> class template.
-// Functions that just call SkTDArray are not tested.
-
-static void TestTSet_basic(skiatest::Reporter* reporter) {
- SkTSet<int> set0;
- REPORTER_ASSERT(reporter, set0.isEmpty());
- REPORTER_ASSERT(reporter, !set0.contains(-1));
- REPORTER_ASSERT(reporter, !set0.contains(0));
- REPORTER_ASSERT(reporter, !set0.contains(1));
- REPORTER_ASSERT(reporter, set0.count() == 0);
-
- REPORTER_ASSERT(reporter, set0.add(0));
- REPORTER_ASSERT(reporter, !set0.isEmpty());
- REPORTER_ASSERT(reporter, !set0.contains(-1));
- REPORTER_ASSERT(reporter, set0.contains(0));
- REPORTER_ASSERT(reporter, !set0.contains(1));
- REPORTER_ASSERT(reporter, set0.count() == 1);
- REPORTER_ASSERT(reporter, !set0.add(0));
- REPORTER_ASSERT(reporter, set0.count() == 1);
-
-#ifdef SK_DEBUG
- set0.validate();
-#endif
-}
-
-#define COUNT 1732
-#define PRIME1 10007
-#define PRIME2 1733
-
-// Generates a series of positive unique pseudo-random numbers.
-static int f(int i) {
- return (long(i) * PRIME1) % PRIME2;
-}
-
-// Will expose contains() and find() too.
-static void TestTSet_advanced(skiatest::Reporter* reporter) {
- SkTSet<int> set0;
-
- for (int i = 0; i < COUNT; i++) {
- REPORTER_ASSERT(reporter, !set0.contains(f(i)));
- if (i > 0) {
- REPORTER_ASSERT(reporter, set0.contains(f(0)));
- REPORTER_ASSERT(reporter, set0.contains(f(i / 2)));
- REPORTER_ASSERT(reporter, set0.contains(f(i - 1)));
- }
- REPORTER_ASSERT(reporter, !set0.contains(f(i)));
- REPORTER_ASSERT(reporter, set0.count() == i);
- REPORTER_ASSERT(reporter, set0.add(f(i)));
- REPORTER_ASSERT(reporter, set0.contains(f(i)));
- REPORTER_ASSERT(reporter, set0.count() == i + 1);
- REPORTER_ASSERT(reporter, !set0.add(f(i)));
- }
-
- // Test copy constructor too.
- SkTSet<int> set1 = set0;
-
- REPORTER_ASSERT(reporter, set0.count() == set1.count());
- REPORTER_ASSERT(reporter, !set1.contains(-1000));
-
- for (int i = 0; i < COUNT; i++) {
- REPORTER_ASSERT(reporter, set1.contains(f(i)));
- }
-
- // Test operator= too.
- SkTSet<int> set2;
- set2 = set0;
-
- REPORTER_ASSERT(reporter, set0.count() == set2.count());
- REPORTER_ASSERT(reporter, !set2.contains(-1000));
-
- for (int i = 0; i < COUNT; i++) {
- REPORTER_ASSERT(reporter, set2.contains(f(i)));
- }
-
-#ifdef SK_DEBUG
- set0.validate();
- set1.validate();
- set2.validate();
-#endif
-}
-
-static void TestTSet_merge(skiatest::Reporter* reporter) {
- SkTSet<int> set;
- SkTSet<int> setOdd;
-
- for (int i = 0; i < COUNT; i++) {
- REPORTER_ASSERT(reporter, set.add(2 * i));
- REPORTER_ASSERT(reporter, setOdd.add(2 * i + 1));
- }
- // mergeInto returns the number of duplicates. Expected 0.
- REPORTER_ASSERT(reporter, set.mergeInto(setOdd) == 0);
- REPORTER_ASSERT(reporter, set.count() == 2 * COUNT);
-
- // mergeInto should now find all new numbers duplicate.
- REPORTER_ASSERT(reporter, set.mergeInto(setOdd) == setOdd.count());
- REPORTER_ASSERT(reporter, set.count() == 2 * COUNT);
-
- for (int i = 0; i < 2 * COUNT; i++) {
- REPORTER_ASSERT(reporter, set.contains(i));
- }
-
-#ifdef SK_DEBUG
- set.validate();
- setOdd.validate();
-#endif
-}
-
-static void TestTSet(skiatest::Reporter* reporter) {
- TestTSet_basic(reporter);
- TestTSet_advanced(reporter);
- TestTSet_merge(reporter);
-}
-
-#include "TestClassDef.h"
-DEFINE_TESTCLASS("TSet", TSetTest, TestTSet)
-