/**
* @dataProvider providerUserAgent
* @depends testCheckProperties
* @group compare
*
* @param string $userAgent
*/
public function testCompare($userAgent)
{
$libResult = get_browser($userAgent);
$bcResult = self::$object->getBrowser($userAgent);
foreach (array_keys($this->properties) as $bcProp) {
if (in_array($bcProp, array('browser_name_regex', 'browser_name_pattern', 'Parent'))) {
continue;
}
$bcProp = strtolower($bcProp);
self::assertObjectHasAttribute($bcProp, $libResult, 'Actual library result does not have "' . $bcProp . '" property');
self::assertObjectHasAttribute($bcProp, $bcResult, 'Actual browscap result does not have "' . $bcProp . '" property');
$libValue = (string) $libResult->{$bcProp};
$bcValue = (string) $bcResult->{$bcProp};
self::assertSame($libValue, $bcValue, 'Expected actual "' . $bcProp . '" to be "' . $libValue . '" (was "' . $bcValue . '"; used pattern: ' . $bcResult->browser_name_pattern . ')');
}
}