units_unittest.cc 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. #include "printing/units.h"
  5. #include "testing/gtest/include/gtest/gtest-spi.h"
  6. #include "testing/gtest/include/gtest/gtest.h"
  7. namespace printing {
  8. TEST(UnitsTest, Convertions) {
  9. EXPECT_EQ(100, ConvertUnit(100, 100, 100));
  10. EXPECT_EQ(-100, ConvertUnit(-100, 100, 100));
  11. EXPECT_EQ(0, ConvertUnit(0, 100, 100));
  12. EXPECT_EQ(99, ConvertUnit(99, 100, 100));
  13. EXPECT_EQ(101, ConvertUnit(101, 100, 100));
  14. EXPECT_EQ(99900, ConvertUnit(999, 10, 1000));
  15. EXPECT_EQ(100100, ConvertUnit(1001, 10, 1000));
  16. // Rounding.
  17. EXPECT_EQ(10, ConvertUnit(999, 1000, 10));
  18. EXPECT_EQ(10, ConvertUnit(950, 1000, 10));
  19. EXPECT_EQ(9, ConvertUnit(949, 1000, 10));
  20. EXPECT_EQ(10, ConvertUnit(1001, 1000, 10));
  21. EXPECT_EQ(10, ConvertUnit(1049, 1000, 10));
  22. EXPECT_EQ(11, ConvertUnit(1050, 1000, 10));
  23. EXPECT_EQ(-10, ConvertUnit(-999, 1000, 10));
  24. EXPECT_EQ(-10, ConvertUnit(-950, 1000, 10));
  25. EXPECT_EQ(-9, ConvertUnit(-949, 1000, 10));
  26. EXPECT_EQ(-10, ConvertUnit(-1001, 1000, 10));
  27. EXPECT_EQ(-10, ConvertUnit(-1049, 1000, 10));
  28. EXPECT_EQ(-11, ConvertUnit(-1050, 1000, 10));
  29. EXPECT_EQ(99920, ConvertUnit(999.2, 10, 1000));
  30. EXPECT_EQ(-94920, ConvertUnit(-949.2, 10, 1000));
  31. EXPECT_EQ(99970, ConvertUnit(999.7, 10, 1000));
  32. EXPECT_EQ(-94970, ConvertUnit(-949.7, 10, 1000));
  33. EXPECT_EQ(3996, ConvertUnit(999.1, 75, 300));
  34. EXPECT_EQ(3997, ConvertUnit(999.3, 75, 300));
  35. EXPECT_EQ(3998, ConvertUnit(999.5, 75, 300));
  36. EXPECT_EQ(3999, ConvertUnit(999.7, 75, 300));
  37. EXPECT_EQ(4000, ConvertUnit(999.9, 75, 300));
  38. EXPECT_EQ(0, ConvertUnit(2, 1000000000, 1));
  39. EXPECT_EQ(2000000000, ConvertUnit(2, 1, 1000000000));
  40. EXPECT_EQ(100, ConvertUnitFloat(100, 100, 100));
  41. EXPECT_EQ(-100, ConvertUnitFloat(-100, 100, 100));
  42. EXPECT_EQ(0, ConvertUnitFloat(0, 100, 100));
  43. EXPECT_FLOAT_EQ(0.000002, ConvertUnitFloat(2, 1000, 0.001));
  44. EXPECT_FLOAT_EQ(2000000, ConvertUnitFloat(2, 0.001, 1000));
  45. EXPECT_EQ(8.25, ConvertUnitFloat(11.0, kPixelsPerInch, kPointsPerInch));
  46. // Round down.
  47. EXPECT_EQ(8, ConvertUnit(11, kPixelsPerInch, kPointsPerInch));
  48. EXPECT_EQ(7.5, ConvertUnitFloat(10.0, kPixelsPerInch, kPointsPerInch));
  49. // Round up.
  50. EXPECT_EQ(8, ConvertUnit(10, kPixelsPerInch, kPointsPerInch));
  51. EXPECT_EQ(0, ConvertUnit(0, kPixelsPerInch, kPointsPerInch));
  52. }
  53. } // namespace printing