Initialize a map type
final static public map ( cassandra\Type $key_type, cassandra\Type $value_type ) : cassandra\Type | ||
$key_type | cassandra\Type | The type of keys |
$value_type | cassandra\Type | The type of values |
return | cassandra\Type | The map type |
public function testSupportsKeyBasedAccess() { $map = Type::map(Type::varint(), Type::varchar())->create(); $this->assertEquals(0, count($map)); $map->set(new Varint('123'), 'value'); $this->assertEquals(1, count($map)); $this->assertTrue($map->has(new Varint('123'))); $this->assertEquals('value', $map->get(new Varint('123'))); $map->set(new Varint('123'), 'another value'); $this->assertEquals(1, count($map)); $this->assertEquals('another value', $map->get(new Varint('123'))); }
/** * @expectedException InvalidArgumentException * @expectedExceptionMessage keyType must be Cassandra\Type::varchar(), * Cassandra\Type::text(), Cassandra\Type::blob(), * Cassandra\Type::ascii(), Cassandra\Type::bigint(), * Cassandra\Type::counter(), Cassandra\Type::int(), * Cassandra\Type::varint(), Cassandra\Type::boolean(), * Cassandra\Type::decimal(), Cassandra\Type::double(), * Cassandra\Type::float(), Cassandra\Type::inet(), * Cassandra\Type::timestamp(), Cassandra\Type::uuid() * or Cassandra\Type::timeuuid(), an instance of * Cassandra\Type\UnsupportedType given */ public function testPreventsDefiningMapsWithUnsupportedTypes() { Type::map(new UnsupportedType(), Type::varchar()); }
public function notEqualTypes() { return array(array(Type::map(Type::int(), Type::varchar()), Type::map(Type::varchar(), Type::int())), array(Type::map(Type::collection(Type::varchar()), Type::int()), Type::map(Type::collection(Type::int()), Type::int())), array(Type::map(Type::map(Type::int(), Type::varchar()), Type::varchar()), Type::map(Type::map(Type::varchar(), Type::int()), Type::varchar()))); }
public function notEqualTypes() { $setType = Type::set(Type::int()); return array(array(Type::map(Type::int(), Type::int())->create(), Type::map(Type::int(), Type::varchar())->create()), array(Type::map(Type::int(), Type::varchar())->create(1, 'a', 2, 'b', 3, 'c'), Type::map(Type::int(), Type::varchar())->create(1, 'a')), array(Type::map($setType, Type::varchar())->create($setType->create(4, 5, 6), 'a', $setType->create(7, 8, 9), 'b'), Type::map($setType, Type::varchar())->create($setType->create(1, 2, 3), 'a', $setType->create(4, 5, 6), 'b'))); }