RowRangeTest.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Cell;
  3. use PhpOffice\PhpSpreadsheet\Cell\RowRange;
  4. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  5. use PHPUnit\Framework\TestCase;
  6. class RowRangeTest extends TestCase
  7. {
  8. public function testCreateRowRange(): void
  9. {
  10. $rowRange = new RowRange(3, 5);
  11. self::assertSame(3, $rowRange->from());
  12. self::assertSame(5, $rowRange->to());
  13. self::assertSame('3:5', (string) $rowRange);
  14. self::assertSame(3, $rowRange->rowCount());
  15. self::assertSame('A3:XFD5', (string) $rowRange->toCellRange());
  16. }
  17. public function testCreateSingleRowRange(): void
  18. {
  19. $rowRange = new RowRange(3);
  20. self::assertSame(3, $rowRange->from());
  21. self::assertSame(3, $rowRange->to());
  22. self::assertSame('3:3', (string) $rowRange);
  23. self::assertSame(1, $rowRange->rowCount());
  24. }
  25. public function testCreateRowRangeWithWorksheet(): void
  26. {
  27. $spreadsheet = new Spreadsheet();
  28. $worksheet = $spreadsheet->getActiveSheet();
  29. $worksheet->setTitle("Mark's Worksheet");
  30. $rowRange = new RowRange(3, 5, $worksheet);
  31. self::assertSame(3, $rowRange->from());
  32. self::assertSame(5, $rowRange->to());
  33. self::assertSame("'Mark''s Worksheet'!3:5", (string) $rowRange);
  34. }
  35. public function testCreateRowRangeFromArray(): void
  36. {
  37. $rowRange = RowRange::fromArray([3, 5]);
  38. self::assertSame(3, $rowRange->from());
  39. self::assertSame(5, $rowRange->to());
  40. self::assertSame('3:5', (string) $rowRange);
  41. self::assertSame(3, $rowRange->rowCount());
  42. self::assertSame('A3:XFD5', (string) $rowRange->toCellRange());
  43. }
  44. public function testRowRangeNext(): void
  45. {
  46. $rowRange = new RowRange(3, 5);
  47. $rowRangeNext = $rowRange->shiftRight(3);
  48. self::assertSame(6, $rowRangeNext->from());
  49. self::assertSame(8, $rowRangeNext->to());
  50. // Check that original Row Range isn't changed
  51. self::assertSame('3:5', (string) $rowRange);
  52. }
  53. public function testRowRangePrevious(): void
  54. {
  55. $rowRange = new RowRange(3, 5);
  56. $rowRangeNext = $rowRange->shiftLeft();
  57. self::assertSame(2, $rowRangeNext->from());
  58. self::assertSame(4, $rowRangeNext->to());
  59. // Check that original Row Range isn't changed
  60. self::assertSame('3:5', (string) $rowRange);
  61. }
  62. }