Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: tests/PathOpsCubicIntersectionTest.cpp

Issue 1036633002: Revert of remove obsolete tests (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 #include "PathOpsCubicIntersectionTestData.h" 7 #include "PathOpsCubicIntersectionTestData.h"
8 #include "PathOpsTestCommon.h" 8 #include "PathOpsTestCommon.h"
9 #include "SkGeometry.h" 9 #include "SkGeometry.h"
10 #include "SkIntersections.h" 10 #include "SkIntersections.h"
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 } 676 }
677 677
678 DEF_TEST(PathOpsCubicIntersection, reporter) { 678 DEF_TEST(PathOpsCubicIntersection, reporter) {
679 oneOffTests(reporter); 679 oneOffTests(reporter);
680 cubicIntersectionSelfTest(reporter); 680 cubicIntersectionSelfTest(reporter);
681 cubicIntersectionCoinTest(reporter); 681 cubicIntersectionCoinTest(reporter);
682 standardTestCases(reporter); 682 standardTestCases(reporter);
683 if (false) CubicIntersection_IntersectionFinder(); 683 if (false) CubicIntersection_IntersectionFinder();
684 if (false) CubicIntersection_RandTest(reporter); 684 if (false) CubicIntersection_RandTest(reporter);
685 } 685 }
686
687 static void binaryTest(const SkDCubic& cubic1, const SkDCubic& cubic2,
688 skiatest::Reporter* reporter) {
689 SkASSERT(ValidCubic(cubic1));
690 SkASSERT(ValidCubic(cubic2));
691 SkIntersections intersections;
692 SkReduceOrder reduce1, reduce2;
693 int order1 = reduce1.reduce(cubic1, SkReduceOrder::kNo_Quadratics);
694 int order2 = reduce2.reduce(cubic2, SkReduceOrder::kNo_Quadratics);
695 if (order1 == 4 && order2 == 4) {
696 intersections.intersect(cubic1, cubic2);
697 } else {
698 intersections.reset();
699 }
700 SkIntersections intersections2;
701 (void) intersections2.intersect(cubic1, cubic2);
702 REPORTER_ASSERT(reporter, intersections.used() <= intersections2.used()
703 || intersections[0][0] + 0.01 > intersections[0][1]);
704 for (int index = 0; index < intersections2.used(); ++index) {
705 // SkASSERT(intersections.pt(index).approximatelyEqual(intersections2 .pt(index)));
706 double tt1 = intersections2[0][index];
707 SkDPoint xy1 = cubic1.ptAtT(tt1);
708 double tt2 = intersections2[1][index];
709 SkDPoint xy2 = cubic2.ptAtT(tt2);
710 REPORTER_ASSERT(reporter, xy1.approximatelyEqual(xy2));
711 }
712 }
713
714 DEF_TEST(PathOpsCubicBinaryTest, reporter) {
715 int outer = 0;
716 int inner = outer + 1;
717 do {
718 const SkDCubic& cubic1 = testSet[outer];
719 const SkDCubic& cubic2 = testSet[inner];
720 binaryTest(cubic1, cubic2, reporter);
721 inner += 2;
722 outer += 2;
723 } while (outer < (int) testSetCount);
724 }
725
726 DEF_TEST(PathOpsCubicBinaryNew, reporter) {
727 int outer = 62;
728 int inner = outer + 1;
729 do {
730 const SkDCubic& cubic1 = newTestSet[outer];
731 const SkDCubic& cubic2 = newTestSet[inner];
732 binaryTest(cubic1, cubic2, reporter);
733 inner += 2;
734 outer += 2;
735 } while (outer < (int) newTestSetCount);
736 }
737
738 DEF_TEST(PathOpsCubicBinaryStd, reporter) {
739 const int firstTest = 0;
740 for (size_t index = firstTest; index < tests_count; ++index) {
741 const SkDCubic& cubic1 = tests[index][0];
742 const SkDCubic& cubic2 = tests[index][1];
743 binaryTest(cubic1, cubic2, reporter);
744 }
745 }
746
747 DEF_TEST(PathOpsCubicBinaryCoin, reporter) {
748 int firstFail = 0;
749 for (int index = firstFail; index < coinSetCount; index += 2) {
750 const SkDCubic& cubic1 = coinSet[index];
751 const SkDCubic& cubic2 = coinSet[index + 1];
752 binaryTest(cubic1, cubic2, reporter);
753 }
754 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698