/** * Data provider for user types with multiple components */ 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); }
/** * @expectedException InvalidArgumentException * @expectedExceptionMessage argument must be an int, 'text' given */ public function testInvalidType() { $udt = new UserTypeValue(array('name1' => Type::int())); $udt->set('name1', 'text'); }