SizeTest.cpp revision 6a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3
16a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com#include "Test.h"
26a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com#include "SkSize.h"
36a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com
46a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.comstatic void TestISize(skiatest::Reporter* reporter) {
56a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    SkISize  a, b;
66a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com
76a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    a.set(0, 0);
86a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a.isEmpty());
96a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    a.set(5, -5);
106a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a.isEmpty());
116a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    a.clampNegToZero();
126a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a.isEmpty());
136a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    b.set(5, 0);
146a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a == b);
156a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com
166a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    a.set(3, 5);
176a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, !a.isEmpty());
186a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    b = a;
196a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, !b.isEmpty());
206a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a == b);
216a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, !(a != b));
226a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter,
236a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com                    a.fWidth == b.fWidth && a.fHeight == b.fHeight);
246a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com}
256a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com
266a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.comstatic void TestSize(skiatest::Reporter* reporter) {
276a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    TestISize(reporter);
286a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com
296a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    SkSize a, b;
306a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    int ix = 5;
316a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    int iy = 3;
326a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    SkScalar x = SkIntToScalar(ix);
336a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    SkScalar y = SkIntToScalar(iy);
346a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com
356a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    a.set(0, 0);
366a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a.isEmpty());
376a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    a.set(x, -x);
386a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a.isEmpty());
396a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    a.clampNegToZero();
406a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a.isEmpty());
416a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    b.set(x, 0);
426a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a == b);
436a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com
446a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    a.set(y, x);
456a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, !a.isEmpty());
466a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    b = a;
476a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, !b.isEmpty());
486a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a == b);
496a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, !(a != b));
506a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter,
516a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com                    a.fWidth == b.fWidth && a.fHeight == b.fHeight);
526a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com
536a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    SkISize ia;
546a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    ia.set(ix, iy);
556a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    a.set(x, y);
566a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com    REPORTER_ASSERT(reporter, a.round() == ia);
576a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com};
586a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com
596a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com#include "TestClassDef.h"
606a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.comDEFINE_TESTCLASS("Size", TestSizeClass, TestSize)
61