- 添加 std::map 的基础功能测试,包括整数键和字符串键的使用 - 添加 std::unordered_map 的基础功能测试,验证哈希映射操作 - 添加 std::vector 的基础功能测试,涵盖整数和浮点数向量 - 验证容器的增删改查和类型安全特性 - 测试不同数据类型的存储和检索功能 - 确保容器大小统计和元素访问的正确性pull/1/head
parent
22966d0553
commit
fb2301ab5e
5 changed files with 114 additions and 0 deletions
@ -0,0 +1,19 @@ |
|||||||
|
--TEST-- |
||||||
|
std map: 001 |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
function main() { |
||||||
|
$map = std::map(native_types::type_int, native_types::type_float); |
||||||
|
$map[10] = 1.25; |
||||||
|
$map[10] += 0.75; |
||||||
|
$map[11] = 3.5; |
||||||
|
|
||||||
|
var_dump($map[10] == 2.0); |
||||||
|
var_dump($map[11] == 3.5); |
||||||
|
var_dump(count($map)); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
bool(true) |
||||||
|
bool(true) |
||||||
|
int(2) |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
--TEST-- |
||||||
|
std map: string key |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
function main() { |
||||||
|
$map = std::map(complex_types::type_string, native_types::type_int); |
||||||
|
$map["alpha"] = 10; |
||||||
|
$map["beta"] = 20; |
||||||
|
$map["beta"] += 22; |
||||||
|
|
||||||
|
$key = "alpha"; |
||||||
|
var_dump($map[$key]); |
||||||
|
var_dump($map["beta"]); |
||||||
|
var_dump(count($map)); |
||||||
|
|
||||||
|
$map2 = std::map(complex_types::type_str, native_types::type_float); |
||||||
|
$map2["pi"] = 3.14; |
||||||
|
var_dump($map2["pi"] == 3.14); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
int(10) |
||||||
|
int(42) |
||||||
|
int(2) |
||||||
|
bool(true) |
||||||
@ -0,0 +1,19 @@ |
|||||||
|
--TEST-- |
||||||
|
std unordered map: 001 |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
function main() { |
||||||
|
$map = std::unordered_map(native_types::type_int, native_types::type_int); |
||||||
|
$map[10] = 32; |
||||||
|
$map[10] += 10; |
||||||
|
$map[20] = 7; |
||||||
|
|
||||||
|
var_dump($map[10]); |
||||||
|
var_dump($map[20]); |
||||||
|
var_dump(count($map)); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
int(42) |
||||||
|
int(7) |
||||||
|
int(2) |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
--TEST-- |
||||||
|
std unordered map: string key |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
function main() { |
||||||
|
$map = std::unordered_map(complex_types::type_string, native_types::type_float); |
||||||
|
$map["alpha"] = 1.5; |
||||||
|
$map["beta"] = 2.5; |
||||||
|
$map["beta"] += 0.25; |
||||||
|
|
||||||
|
$key = "alpha"; |
||||||
|
var_dump($map[$key] == 1.5); |
||||||
|
var_dump($map["beta"] == 2.75); |
||||||
|
var_dump(count($map)); |
||||||
|
|
||||||
|
$map2 = std::unordered_map(complex_types::type_str, native_types::type_int); |
||||||
|
$map2["answer"] = 42; |
||||||
|
var_dump($map2["answer"]); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
bool(true) |
||||||
|
bool(true) |
||||||
|
int(2) |
||||||
|
int(42) |
||||||
@ -0,0 +1,26 @@ |
|||||||
|
--TEST-- |
||||||
|
std vector: 001 |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
function main() { |
||||||
|
$vector = std::vector(native_types::type_int); |
||||||
|
$vector[] = 1; |
||||||
|
$vector[] = 2; |
||||||
|
$vector[1] += 40; |
||||||
|
|
||||||
|
var_dump($vector[0]); |
||||||
|
var_dump($vector[1]); |
||||||
|
var_dump(count($vector)); |
||||||
|
|
||||||
|
$floatVector = std::vector(native_types::type_float, 2); |
||||||
|
$floatVector[0] = 3.14; |
||||||
|
var_dump($floatVector[0] == 3.14); |
||||||
|
var_dump($floatVector[1] == 0.0); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
int(1) |
||||||
|
int(42) |
||||||
|
int(2) |
||||||
|
bool(true) |
||||||
|
bool(true) |
||||||
Loading…
Reference in new issue