public function userTypeWithMultipleComponents()
{
$cassandraTypes = array_merge($this->scalarCassandraTypes(), $this->compositeCassandraTypes());
$sizes = range(2, count($cassandraTypes));
return array_map(function ($size) use($cassandraTypes) {
$types = array();
for ($i = 0; $i < $size; $i++) {
$types["field{$i}"] = $cassandraTypes[$i][0];
}
$user = new UserTypeValue($types);
$userType = $user->type()->withName(self::userTypeString($user->type()));
for ($i = 0; $i < $size; $i++) {
$user->set("field{$i}", $cassandraTypes[$i][1][0]);
}
return array($userType, $user);
}, $sizes);
}