chore(comments): Test 仓注释英文化(R11)

把 81 个 .vp 文件的中文 # 注释与三引号文档串改写为简洁英文,每个连续注释块 <=2 行;运行时中文字符串字面量(testcheck.begin/print 等用户可见消息)保持原样。骨架比对 HEAD 与工作区 112 文件漂移 0,全量 77/77 顺序回归通过。
This commit is contained in:
TermiNexus committed 2026-10-05 22:43:38 +08:00
1 parent aa5a7e7250
commit ee6461be46
81 files changed
+1231 -1925

No files matched your search

+18 -19
View File
@@ -16,11 +16,11 @@ def main() -> CInt | CExport:
testcheck.begin("HashTableTest: 开放寻址哈希表测试")
# 分配内存竞技场
# Allocate the memory arena
arena: bytes = stdlib.malloc(65536)
bd: memhub.MemBuddy* = memhub.MemBuddy(arena, 65536)
# === Test 1: 基本插入和查找 ===
# === Test 1: basic insert and lookup ===
testcheck.section("Test 1: 基本插入和查找 (set_int)")
ht: hashtable.HashTable = hashtable.HashTable(bd)
ht.set_int("alpha", 10)
@@ -30,9 +30,8 @@ def main() -> CInt | CExport:
stdio.printf("len=%lu\n", n)
testcheck.check(n == 3, "ht len OK (3)", "ht len FAILED")
# 哈希表的 int 值按 int(i32)写入(见 hashtable.vp set_int 的 int_ptr),读回
# 须给出有元素类型的指针:c.Deref 的宽度只认 pointee 类型,i8*(t.CPtr)恒读
# 1 字节,不再按赋值目标注解反推 4 字节。
# set_int stores the value as i32; read it back through a typed pointer, since
# c.Deref width follows the pointee type and i8* (t.CPtr) always reads 1 byte.
p1: t.CPtr = ht["alpha"]
v1: int = *(int*)(p1)
p2: t.CPtr = ht["beta"]
@@ -44,7 +43,7 @@ def main() -> CInt | CExport:
testcheck.check(v2 == 20, "ht[beta]==20 OK", "ht[beta] FAILED")
testcheck.check(v3 == 30, "ht[gamma]==30 OK", "ht[gamma] FAILED")
# === Test 2: 更新已有键 ===
# === Test 2: update existing key ===
testcheck.section("Test 2: 更新已有键")
ht.set_int("beta", 99)
p2b: t.CPtr = ht["beta"]
@@ -70,7 +69,7 @@ def main() -> CInt | CExport:
testcheck.check(has_alpha == 1, "contains alpha OK", "contains alpha FAILED")
testcheck.check(has_missing == 0, "not contains missing OK", "contains missing FAILED")
# === Test 5: 删除 ===
# === Test 5: delete ===
testcheck.section("Test 5: 删除 (del)")
deleted: int = ht.__delitem__("beta")
stdio.printf("del beta=%d\n", deleted)
@@ -79,11 +78,11 @@ def main() -> CInt | CExport:
has_beta: int = "beta" in ht
testcheck.check(has_beta == 0, "beta gone OK", "beta still exists FAILED")
# 删除不存在的 key
# Delete a nonexistent key
del_missing: int = ht.__delitem__("nokey")
testcheck.check(del_missing == 0, "del missing returns 0 OK", "del missing FAILED")
# === Test 6: 删除后重新插入 ===
# === Test 6: re-insert after delete ===
testcheck.section("Test 6: 删除后重新插入")
ht.set_int("beta", 555)
p2c: t.CPtr = ht["beta"]
@@ -92,7 +91,7 @@ def main() -> CInt | CExport:
testcheck.check(v2c == 555, "ht re-insert beta OK", "ht re-insert beta FAILED")
testcheck.check(len(ht) == 3, "ht len 3 after re-insert OK", "ht len after re-insert FAILED")
# === Test 7: 迭代器 ===
# === Test 7: iterator ===
testcheck.section("Test 7: 迭代器 for key in ht")
iter_count: int = 0
for key in ht:
@@ -102,7 +101,7 @@ def main() -> CInt | CExport:
iter_count += 1
testcheck.check(iter_count == 3, "ht iter OK (3)", "ht iter FAILED")
# === Test 8: 字符串值 ===
# === Test 8: string values ===
testcheck.section("Test 8: 字符串值 (set_str)")
ht2: hashtable.HashTable = hashtable.HashTable(bd)
ht2.set_str("name", "Alice")
@@ -119,12 +118,12 @@ def main() -> CInt | CExport:
city: str = city_p
lang: str = lang_p
stdio.printf("name=%s city=%s lang=%s\n", name, city, lang)
# i8* == 是指针地址比较(C-Like 语义),内容比较需显式 strcmp
# i8* == compares pointer addresses (C-like); use strcmp for content
testcheck.check(string.strcmp(name, "Alice") == 0, "ht str name OK", "ht str name FAILED")
testcheck.check(string.strcmp(city, "Beijing") == 0, "ht str city OK", "ht str city FAILED")
testcheck.check(string.strcmp(lang, "TransPyC") == 0, "ht str lang OK", "ht str lang FAILED")
# === Test 9: 扩容测试 ===
# === Test 9: expansion test ===
testcheck.section("Test 9: 扩容测试 (>16 个元素)")
ht3: hashtable.HashTable = hashtable.HashTable(bd)
for i in range(50):
@@ -135,7 +134,7 @@ def main() -> CInt | CExport:
stdio.printf("ht3 len=%lu (after 50 inserts)\n", n3)
testcheck.check(n3 == 50, "ht expand OK (50)", "ht expand FAILED")
# 验证几个值
# Verify some values
k5: str = stdlib.malloc(16)
stdio.sprintf(k5, "key5")
p5: t.CPtr = ht3[k5]
@@ -157,7 +156,7 @@ def main() -> CInt | CExport:
stdio.printf("ht3[key49]=%d\n", v49)
testcheck.check(v49 == 4900, "ht expand key49 OK", "ht expand key49 FAILED")
# === Test 10: 扩容后迭代 ===
# === Test 10: iterate after expansion ===
testcheck.section("Test 10: 扩容后迭代")
iter_count3: int = 0
for k in ht3:
@@ -165,7 +164,7 @@ def main() -> CInt | CExport:
stdio.printf("ht3 iter count=%d\n", iter_count3)
testcheck.check(iter_count3 == 50, "ht expand iter OK (50)", "ht expand iter FAILED")
# === Test 11: 删除后扩容 ===
# === Test 11: operations after batch delete ===
testcheck.section("Test 11: 批量删除后操作")
for j in range(25):
del_buf: str = stdlib.malloc(16)
@@ -175,7 +174,7 @@ def main() -> CInt | CExport:
stdio.printf("ht3 len=%lu (after 25 deletes)\n", n3b)
testcheck.check(n3b == 25, "ht after del OK (25)", "ht after del FAILED")
# 验证剩余的值
# Verify remaining values
k30: str = stdlib.malloc(16)
stdio.sprintf(k30, "key30")
p30: t.CPtr = ht3[k30]
@@ -183,13 +182,13 @@ def main() -> CInt | CExport:
stdio.printf("ht3[key30]=%d\n", v30)
testcheck.check(v30 == 3000, "ht key30 after del OK", "ht key30 after del FAILED")
# 验证已删除的 key 不存在
# Verify the deleted key is gone
k0: str = stdlib.malloc(16)
stdio.sprintf(k0, "key0")
has_k0: int = k0 in ht3
testcheck.check(has_k0 == 0, "ht key0 deleted OK", "ht key0 still exists FAILED")
# === Test 12: 空表操作 ===
# === Test 12: empty table operations ===
testcheck.section("Test 12: 空表操作")
ht4: hashtable.HashTable = hashtable.HashTable(bd)
testcheck.check(len(ht4) == 0, "empty ht len 0 OK", "empty ht len FAILED")