Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DateTimeComparator.php

function DateTimeComparator::assertEquals

Throws

ComparisonFailure

Overrides ObjectComparator::assertEquals

File

vendor/sebastian/comparator/src/DateTimeComparator.php, line 31

Class

DateTimeComparator

Namespace

SebastianBergmann\Comparator

Code

public function assertEquals(mixed $expected, mixed $actual, float $delta = 0.0, bool $canonicalize = false, bool $ignoreCase = false, array &$processed = []) : void {
    assert($expected instanceof DateTimeInterface);
    assert($actual instanceof DateTimeInterface);
    $absDelta = abs($delta);
    $delta = new DateInterval(sprintf('PT%dS', $absDelta));
    $delta->f = $absDelta - floor($absDelta);
    $actualClone = (clone $actual)->setTimezone(new DateTimeZone('UTC'));
    $expectedLower = (clone $expected)->setTimezone(new DateTimeZone('UTC'))
        ->sub($delta);
    $expectedUpper = (clone $expected)->setTimezone(new DateTimeZone('UTC'))
        ->add($delta);
    if ($actualClone < $expectedLower || $actualClone > $expectedUpper) {
        throw new ComparisonFailure($expected, $actual, $this->dateTimeToString($expected), $this->dateTimeToString($actual), 'Failed asserting that two DateTime objects are equal.');
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal