public static function assertAddressValue(UserTypeValue $address, UserTypeValue $expected = null)
{
// Determine if the expected value should be defaulted
if (is_null($expected)) {
$expected = self::generateAddressValue();
}
// Verify the address
self::assertEquals($expected->type(), $address->type());
self::assertCount(count($expected), $address);
self::assertEquals($expected->get("street"), $address->get("street"));
self::assertEquals($expected->get("zip"), $address->get("zip"));
$expectedPhoneNumbers = $address->get("phone_numbers");
$phoneNumbers = $address->get("phone_numbers");
if (!is_null($phoneNumbers)) {
self::assertInstanceOf('Cassandra\\Set', $phoneNumbers);
$expectedNumberOfPhoneNumbers = count($expectedPhoneNumbers);
self::assertCount($expectedNumberOfPhoneNumbers, $phoneNumbers);
// Verify phone numbers
self::assertEquals($expectedPhoneNumbers, $phoneNumbers);
if (count($expectedPhoneNumbers) > 0) {
foreach (range(0, $expectedNumberOfPhoneNumbers - 1) as $i) {
$expectedNumber = $expectedPhoneNumbers->values()[$i];
}
$number = $phoneNumbers->values()[$i];
self::assertCount(count($expectedNumber), $number);
self::assertInstanceOf('Cassandra\\UserTypeValue', $number);
self::assertEquals($expectedNumber->get("alias"), $number->get("alias"));
self::assertEquals($expectedNumber->get("number"), $number->get("number"));
}
}
}