blob: 35bfe06b882157b81f7c7b781641dd43b290d766 [file] [log] [blame]
caryclark@google.com07393ca2013-04-08 11:47:37 +00001/*
2 * Copyright 2012 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
caryclark@google.com8d0a5242013-07-16 16:11:16 +00007#include "PathOpsTestCommon.h"
caryclark@google.com07393ca2013-04-08 11:47:37 +00008#include "SkPathOpsTriangle.h"
9#include "Test.h"
10
11static const SkDTriangle tests[] = {
12 {{{2, 0}, {3, 1}, {2, 2}}},
13 {{{3, 1}, {2, 2}, {1, 1}}},
14 {{{3, 0}, {2, 1}, {3, 2}}},
15};
16
17static const SkDPoint inPoint[] = {
18 {2.5, 1},
19 {2, 1.5},
20 {2.5, 1},
21};
22
23static const SkDPoint outPoint[] = {
24 {3, 0},
25 {2.5, 2},
26 {2.5, 2},
27};
28
caryclark@google.comad65a3e2013-04-15 19:13:59 +000029static const size_t tests_count = SK_ARRAY_COUNT(tests);
caryclark@google.com07393ca2013-04-08 11:47:37 +000030
caryclark@google.comad65a3e2013-04-15 19:13:59 +000031static void PathOpsTriangleUtilitiesTest(skiatest::Reporter* reporter) {
caryclark@google.com07393ca2013-04-08 11:47:37 +000032 for (size_t index = 0; index < tests_count; ++index) {
33 const SkDTriangle& triangle = tests[index];
caryclark@google.com8d0a5242013-07-16 16:11:16 +000034 SkASSERT(ValidTriangle(triangle));
caryclark@google.com07393ca2013-04-08 11:47:37 +000035 bool result = triangle.contains(inPoint[index]);
36 if (!result) {
37 SkDebugf("%s [%d] expected point in triangle\n", __FUNCTION__, index);
38 REPORTER_ASSERT(reporter, 0);
39 }
40 result = triangle.contains(outPoint[index]);
41 if (result) {
42 SkDebugf("%s [%d] expected point outside triangle\n", __FUNCTION__, index);
43 REPORTER_ASSERT(reporter, 0);
44 }
45 }
46}
47
48#include "TestClassDef.h"
caryclark@google.comad65a3e2013-04-15 19:13:59 +000049DEFINE_TESTCLASS_SHORT(PathOpsTriangleUtilitiesTest)