1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "printing/units.h" 6 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest-spi.h" 8 9 namespace printing { 10 11 TEST(UnitsTest, Convertions) { 12 EXPECT_EQ(100, ConvertUnit(100, 100, 100)); 13 EXPECT_EQ(-100, ConvertUnit(-100, 100, 100)); 14 EXPECT_EQ(0, ConvertUnit(0, 100, 100)); 15 EXPECT_EQ(99, ConvertUnit(99, 100, 100)); 16 EXPECT_EQ(101, ConvertUnit(101, 100, 100)); 17 EXPECT_EQ(99900, ConvertUnit(999, 10, 1000)); 18 EXPECT_EQ(100100, ConvertUnit(1001, 10, 1000)); 19 20 // Rounding. 21 EXPECT_EQ(10, ConvertUnit(999, 1000, 10)); 22 EXPECT_EQ(10, ConvertUnit(950, 1000, 10)); 23 EXPECT_EQ(9, ConvertUnit(949, 1000, 10)); 24 EXPECT_EQ(10, ConvertUnit(1001, 1000, 10)); 25 EXPECT_EQ(10, ConvertUnit(1049, 1000, 10)); 26 EXPECT_EQ(11, ConvertUnit(1050, 1000, 10)); 27 EXPECT_EQ(-10, ConvertUnit(-999, 1000, 10)); 28 EXPECT_EQ(-10, ConvertUnit(-950, 1000, 10)); 29 EXPECT_EQ(-9, ConvertUnit(-949, 1000, 10)); 30 EXPECT_EQ(-10, ConvertUnit(-1001, 1000, 10)); 31 EXPECT_EQ(-10, ConvertUnit(-1049, 1000, 10)); 32 EXPECT_EQ(-11, ConvertUnit(-1050, 1000, 10)); 33 34 EXPECT_EQ(0, ConvertUnit(2, 1000000000, 1)); 35 EXPECT_EQ(2000000000, ConvertUnit(2, 1, 1000000000)); 36 EXPECT_EQ(4000000000U, 37 static_cast<unsigned int>(ConvertUnit(2, 1, 2000000000))); 38 39 EXPECT_EQ(100, ConvertUnitDouble(100, 100, 100)); 40 EXPECT_EQ(-100, ConvertUnitDouble(-100, 100, 100)); 41 EXPECT_EQ(0, ConvertUnitDouble(0, 100, 100)); 42 EXPECT_DOUBLE_EQ(0.000002, ConvertUnitDouble(2, 1000, 0.001)); 43 EXPECT_EQ(2000000, ConvertUnitDouble(2, 0.001, 1000)); 44 45 EXPECT_EQ(kHundrethsMMPerInch, ConvertMilliInchToHundredThousanthMeter(1000)); 46 EXPECT_EQ(-kHundrethsMMPerInch, 47 ConvertMilliInchToHundredThousanthMeter(-1000)); 48 EXPECT_EQ(0, ConvertMilliInchToHundredThousanthMeter(0)); 49 EXPECT_EQ(1000, ConvertHundredThousanthMeterToMilliInch(kHundrethsMMPerInch)); 50 EXPECT_EQ(-1000, 51 ConvertHundredThousanthMeterToMilliInch(-kHundrethsMMPerInch)); 52 EXPECT_EQ(0, ConvertHundredThousanthMeterToMilliInch(0)); 53 54 EXPECT_EQ(8.25, ConvertPixelsToPointDouble(11.0)); 55 // Round down. 56 EXPECT_EQ(8, ConvertPixelsToPoint(11)); 57 EXPECT_EQ(7.5, ConvertPixelsToPointDouble(10.0)); 58 // Round up. 59 EXPECT_EQ(8, ConvertPixelsToPoint(10)); 60 EXPECT_EQ(0, ConvertPixelsToPoint(0)); 61 } 62 63 } // namespace printing 64