public function AssertNotEquals($actual, $expected, $message = '') { switch (Assert::CompareValues($actual, $expected)) { case CompareValuesResult::EQUAL(): $this->testCaseResults->AddDetail(EventType::FAIL(), 'AssertNotEquals: The values are equal.', $message, $actual, $expected); break; case CompareValuesResult::NOT_EQUAL(): $this->testCaseResults->AddDetail(EventType::PASS(), 'AssertNotEquals: The values are not equal.', $message, $actual, $expected); break; default: if (Assert::CanCompare($actual) && Assert::CanCompare($expected)) { if ($actual == $expected) { $this->testCaseResults->AddDetail(EventType::ERROR(), 'AssertNotEquals: Values cannot be compared. After type conversion they are equal.', $message, $actual, $expected); } else { $this->testCaseResults->AddDetail(EventType::ERROR(), 'AssertNotEquals: Values cannot be compared. After type conversion they are not equal.', $message, $actual, $expected); } } else { $this->testCaseResults->AddDetail(EventType::ERROR(), 'AssertNotEquals: Values cannot be compared.', $message, $actual, $expected); } break; } }