PageMarginsTest.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Worksheet;
  3. use PhpOffice\PhpSpreadsheet\Worksheet\PageMargins;
  4. use PHPUnit\Framework\TestCase;
  5. class PageMarginsTest extends TestCase
  6. {
  7. /**
  8. * @dataProvider providerPointsAndInches
  9. */
  10. public function testPointsToInches(float $value, float $expectedResult): void
  11. {
  12. $actualResult = PageMargins::fromPoints($value);
  13. self::assertSame($expectedResult, $actualResult);
  14. }
  15. /**
  16. * @dataProvider providerPointsAndInches
  17. */
  18. public function testInchesToPoints(float $expectedResult, float $value): void
  19. {
  20. $actualResult = PageMargins::toPoints($value);
  21. self::assertSame($expectedResult, $actualResult);
  22. }
  23. /**
  24. * @dataProvider providerCentimetersAndInches
  25. */
  26. public function testCentimetersToInches(float $value, float $expectedResult): void
  27. {
  28. $actualResult = PageMargins::fromCentimeters($value);
  29. self::assertSame($expectedResult, $actualResult);
  30. }
  31. /**
  32. * @dataProvider providerCentimetersAndInches
  33. */
  34. public function testPointsToCentimeters(float $expectedResult, float $value): void
  35. {
  36. $actualResult = PageMargins::toCentimeters($value);
  37. self::assertSame($expectedResult, $actualResult);
  38. }
  39. /**
  40. * @dataProvider providerMillimetersAndInches
  41. */
  42. public function testMillimetersToInches(float $value, float $expectedResult): void
  43. {
  44. $actualResult = PageMargins::fromMillimeters($value);
  45. self::assertSame($expectedResult, $actualResult);
  46. }
  47. /**
  48. * @dataProvider providerMillimetersAndInches
  49. */
  50. public function testPointsToMillimeters(float $expectedResult, float $value): void
  51. {
  52. $actualResult = PageMargins::toMillimeters($value);
  53. self::assertSame($expectedResult, $actualResult);
  54. }
  55. public function providerPointsAndInches(): array
  56. {
  57. return [
  58. [36, 0.5],
  59. [72, 1.0],
  60. [90, 1.25],
  61. [144, 2.0],
  62. ];
  63. }
  64. public function providerCentimetersAndInches(): array
  65. {
  66. return [
  67. [1.27, 0.5],
  68. [2.54, 1.0],
  69. ];
  70. }
  71. public function providerMillimetersAndInches(): array
  72. {
  73. return [
  74. [12.7, 0.5],
  75. [25.4, 1.0],
  76. ];
  77. }
  78. }