11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 21cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2011 Google Inc. 41cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 71cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger */ 8215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed#include "Test.h" 9215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed#include "SkSize.h" 10215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed 11215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reedstatic void TestISize(skiatest::Reporter* reporter) { 12215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed SkISize a, b; 13215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed 14215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.set(0, 0); 15215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, a.isEmpty()); 16215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.set(5, -5); 17215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, a.isEmpty()); 18215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.clampNegToZero(); 19215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, a.isEmpty()); 20215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed b.set(5, 0); 21215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, a == b); 22215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed 23215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.set(3, 5); 24215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, !a.isEmpty()); 25215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed b = a; 26215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, !b.isEmpty()); 27215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, a == b); 28215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, !(a != b)); 29215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, 30215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.fWidth == b.fWidth && a.fHeight == b.fHeight); 31215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed} 32215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed 33215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reedstatic void TestSize(skiatest::Reporter* reporter) { 34215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed TestISize(reporter); 35215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed 36215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed SkSize a, b; 37215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed int ix = 5; 38215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed int iy = 3; 39215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed SkScalar x = SkIntToScalar(ix); 40215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed SkScalar y = SkIntToScalar(iy); 41215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed 42215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.set(0, 0); 43215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, a.isEmpty()); 44215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.set(x, -x); 45215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, a.isEmpty()); 46215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.clampNegToZero(); 47215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, a.isEmpty()); 48215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed b.set(x, 0); 49215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, a == b); 50215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed 51215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.set(y, x); 52215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, !a.isEmpty()); 53215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed b = a; 54215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, !b.isEmpty()); 55215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, a == b); 56215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, !(a != b)); 57215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed REPORTER_ASSERT(reporter, 58215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.fWidth == b.fWidth && a.fHeight == b.fHeight); 59215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed 60215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed SkISize ia; 61215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed ia.set(ix, iy); 62215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed a.set(x, y); 6305b6b4d746867a9fb02e14edfe1bf3685abeb813Derek Sollenberger REPORTER_ASSERT(reporter, a.toRound() == ia); 64215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed}; 65215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed 66215473cea1702d8acc0316da3e5a9bf4ce0130efMike Reed#include "TestClassDef.h" 67215473cea1702d8acc0316da3e5a9bf4ce0130efMike ReedDEFINE_TESTCLASS("Size", TestSizeClass, TestSize) 68