1/* 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 */ 7#include "PathOpsTestCommon.h" 8#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 29static const size_t tests_count = SK_ARRAY_COUNT(tests); 30 31static void PathOpsTriangleUtilitiesTest(skiatest::Reporter* reporter) { 32 for (size_t index = 0; index < tests_count; ++index) { 33 const SkDTriangle& triangle = tests[index]; 34 SkASSERT(ValidTriangle(triangle)); 35 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" 49DEFINE_TESTCLASS_SHORT(PathOpsTriangleUtilitiesTest) 50