2011-07-28 14:26:00 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright 2011 Google Inc.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
|
|
* found in the LICENSE file.
|
|
|
|
*/
|
2009-05-08 16:45:52 +00:00
|
|
|
#include "Test.h"
|
|
|
|
#include "SkSize.h"
|
|
|
|
|
|
|
|
static void TestISize(skiatest::Reporter* reporter) {
|
|
|
|
SkISize a, b;
|
|
|
|
|
|
|
|
a.set(0, 0);
|
|
|
|
REPORTER_ASSERT(reporter, a.isEmpty());
|
|
|
|
a.set(5, -5);
|
|
|
|
REPORTER_ASSERT(reporter, a.isEmpty());
|
|
|
|
a.clampNegToZero();
|
|
|
|
REPORTER_ASSERT(reporter, a.isEmpty());
|
|
|
|
b.set(5, 0);
|
|
|
|
REPORTER_ASSERT(reporter, a == b);
|
|
|
|
|
|
|
|
a.set(3, 5);
|
|
|
|
REPORTER_ASSERT(reporter, !a.isEmpty());
|
|
|
|
b = a;
|
|
|
|
REPORTER_ASSERT(reporter, !b.isEmpty());
|
|
|
|
REPORTER_ASSERT(reporter, a == b);
|
|
|
|
REPORTER_ASSERT(reporter, !(a != b));
|
|
|
|
REPORTER_ASSERT(reporter,
|
|
|
|
a.fWidth == b.fWidth && a.fHeight == b.fHeight);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void TestSize(skiatest::Reporter* reporter) {
|
|
|
|
TestISize(reporter);
|
|
|
|
|
|
|
|
SkSize a, b;
|
|
|
|
int ix = 5;
|
|
|
|
int iy = 3;
|
|
|
|
SkScalar x = SkIntToScalar(ix);
|
|
|
|
SkScalar y = SkIntToScalar(iy);
|
|
|
|
|
|
|
|
a.set(0, 0);
|
|
|
|
REPORTER_ASSERT(reporter, a.isEmpty());
|
|
|
|
a.set(x, -x);
|
|
|
|
REPORTER_ASSERT(reporter, a.isEmpty());
|
|
|
|
a.clampNegToZero();
|
|
|
|
REPORTER_ASSERT(reporter, a.isEmpty());
|
|
|
|
b.set(x, 0);
|
|
|
|
REPORTER_ASSERT(reporter, a == b);
|
|
|
|
|
|
|
|
a.set(y, x);
|
|
|
|
REPORTER_ASSERT(reporter, !a.isEmpty());
|
|
|
|
b = a;
|
|
|
|
REPORTER_ASSERT(reporter, !b.isEmpty());
|
|
|
|
REPORTER_ASSERT(reporter, a == b);
|
|
|
|
REPORTER_ASSERT(reporter, !(a != b));
|
|
|
|
REPORTER_ASSERT(reporter,
|
|
|
|
a.fWidth == b.fWidth && a.fHeight == b.fHeight);
|
|
|
|
|
|
|
|
SkISize ia;
|
|
|
|
ia.set(ix, iy);
|
|
|
|
a.set(x, y);
|
2010-06-15 00:57:50 +00:00
|
|
|
REPORTER_ASSERT(reporter, a.toRound() == ia);
|
2009-05-08 16:45:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#include "TestClassDef.h"
|
|
|
|
DEFINE_TESTCLASS("Size", TestSizeClass, TestSize)
|