/** * Nested composite Cassandra types (list, map, set, tuple, and UDT) to be * used by data providers */ public function nestedCassandraTypes() { $compositeCassandraTypes = $this->compositeCassandraTypes(); foreach ($compositeCassandraTypes as $nestedType) { $type = Type::collection($nestedType[0]); $nestedCassandraTypes[] = array($type, array($type->create($nestedType[1][0]))); } foreach ($compositeCassandraTypes as $nestedType) { $type = Type::set($nestedType[0]); $nestedCassandraTypes[] = array($type, array($type->create($nestedType[1][0]))); } foreach ($compositeCassandraTypes as $nestedType) { $type = Type::map($nestedType[0], $nestedType[0]); $nestedCassandraTypes[] = array($type, array($type->create($nestedType[1][0], $nestedType[1][1]))); } foreach ($compositeCassandraTypes as $nestedType) { $type = Type::tuple($nestedType[0], $nestedType[0]); $nestedCassandraTypes[] = array($type, array($type->create($nestedType[1][0], $nestedType[1][1]))); } foreach ($compositeCassandraTypes as $nestedType) { $type = Type::userType("a", $nestedType[0], "b", $nestedType[0]); $type = $type->withName(self::userTypeString($type)); $nestedCassandraTypes[] = array($type, array($type->create("a", $nestedType[1][0], "b", $nestedType[1][1]))); } return $nestedCassandraTypes; }
public function compositeTypes() { $map_type = Type::map(Type::varchar(), Type::varchar()); $set_type = Type::set(Type::varchar()); $list_type = Type::collection(Type::varchar()); $tuple_type = Type::tuple(Type::varchar(), Type::int()); return array(array($map_type, $map_type->create("a", "1", "b", "2")), array($set_type, $set_type->create("a", "b", "c")), array($list_type, $list_type->create("a", "b", "c")), array($tuple_type, $tuple_type->create("a", 42))); }
public function notEqualTypes() { $setType = Type::set(Type::int()); return array(array(Type::collection(Type::int())->create(), Type::collection(Type::varchar())->create()), array(Type::collection(Type::int())->create(1, 2, 3), Type::collection(Type::int())->create(4, 5, 6)), array(Type::collection(Type::int())->create(1, 2, 3), Type::collection(Type::int())->create(1)), array(Type::collection(Type::varchar())->create('a', 'b', 'c'), Type::collection(Type::varchar())->create('a', 'b', 'd')), array(Type::collection($setType)->create($setType->create(1, 2, 3)), Type::collection($setType)->create($setType->create(4, 5, 6)))); }
public function compositeTypes() { return array(array(Type::map(Type::varchar(), Type::varchar())), array(Type::set(Type::varchar())), array(Type::collection(Type::varchar()))); }
/** * Data provider for lists with nested composite types */ public function collectionWithNestedTypes() { return array_map(function ($cassandraType) { $listType = Type::collection($cassandraType[0]); $list = $listType->create(); foreach ($cassandraType[1] as $value) { $list->add($value); } return array($listType, $list); }, $this->nestedCassandraTypes()); }