diff options
author | epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-06-15 18:49:21 +0000 |
---|---|---|
committer | epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-06-15 18:49:21 +0000 |
commit | d33f75c7becf39bf14aff90f8e3de33206c1a698 (patch) | |
tree | c2bd22665d683bcc86202fee17d882fb6ef25612 /tests/PointTest.cpp | |
parent | 8a12c0430aebfc2451d87426a98f79a191ed70d9 (diff) |
Move PointTest.cpp out of tests/core into tests/ ; the other arrangement was
"clever" but was causing build problems.
git-svn-id: http://skia.googlecode.com/svn/trunk@1604 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tests/PointTest.cpp')
-rw-r--r-- | tests/PointTest.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/PointTest.cpp b/tests/PointTest.cpp new file mode 100644 index 0000000000..dc13b303f0 --- /dev/null +++ b/tests/PointTest.cpp @@ -0,0 +1,39 @@ +// Unit tests for src/core/SkPoint.cpp and its header + +#include "SkPoint.h" +#include "Test.h" + +// Tests that SkPoint::length() and SkPoint::Length() both return +// approximately expectedLength for this (x,y). +static void test_length(skiatest::Reporter* reporter, SkScalar x, SkScalar y, + SkScalar expectedLength) { + SkPoint point; + point.set(x, y); + SkScalar s1 = point.length(); + SkScalar s2 = SkPoint::Length(x, y); + REPORTER_ASSERT(reporter, s1 == s2); + REPORTER_ASSERT(reporter, SkScalarNearlyEqual(s1, expectedLength)); +} + +// Tests SkPoint::Normalize() for this (x,y) +static void test_Normalize(skiatest::Reporter* reporter, + SkScalar x, SkScalar y) { + SkPoint point; + point.set(x, y); + SkScalar oldLength = point.length(); + SkScalar returned = SkPoint::Normalize(&point); + SkScalar newLength = point.length(); + REPORTER_ASSERT(reporter, returned == oldLength); + REPORTER_ASSERT(reporter, SkScalarNearlyEqual(newLength, SK_Scalar1)); +} + +void PointTest(skiatest::Reporter* reporter) { + test_length(reporter, SkIntToScalar(3), SkIntToScalar(4), SkIntToScalar(5)); + test_length(reporter, SkFloatToScalar(0.6), SkFloatToScalar(0.8), + SK_Scalar1); + test_Normalize(reporter, SkIntToScalar(3), SkIntToScalar(4)); + test_Normalize(reporter, SkFloatToScalar(0.6), SkFloatToScalar(0.8)); +} + +#include "TestClassDef.h" +DEFINE_TESTCLASS("Point", PointTestClass, PointTest) |