You are here

public function DateTimeComparator::assertEquals in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/sebastian/comparator/src/DateTimeComparator.php \SebastianBergmann\Comparator\DateTimeComparator::assertEquals()

Asserts that two values are equal.

Parameters

mixed $expected The first value to compare:

mixed $actual The second value to compare:

float $delta The allowed numerical distance between two values to: consider them equal

bool $canonicalize If set to TRUE, arrays are sorted before: comparison

bool $ignoreCase If set to TRUE, upper- and lowercasing is: ignored when comparing string values

Throws

ComparisonFailure Thrown when the comparison fails. Contains information about the specific errors that lead to the failure.

Overrides ObjectComparator::assertEquals

File

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

Class

DateTimeComparator
Compares DateTimeInterface instances for equality.

Namespace

SebastianBergmann\Comparator

Code

public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false) {
  $delta = new \DateInterval(sprintf('PT%sS', abs($delta)));
  $expectedLower = clone $expected;
  $expectedUpper = clone $expected;
  if ($actual < $expectedLower
    ->sub($delta) || $actual > $expectedUpper
    ->add($delta)) {
    throw new ComparisonFailure($expected, $actual, $this
      ->dateTimeToString($expected), $this
      ->dateTimeToString($actual), false, 'Failed asserting that two DateTime objects are equal.');
  }
}