236 lines
5.9 KiB
Plaintext
236 lines
5.9 KiB
Plaintext
# ============================================================
|
||
# 综合测试脚本:CRUD + 边界 + 数据范围 + 崩溃检测
|
||
# ============================================================
|
||
|
||
# 1. 基础 Patient CRUD
|
||
echo "=== 1. PATIENT BASIC CRUD ==="
|
||
patient add p001 zhangsan 30 male 1234567890
|
||
patient add p002 lisi 40 female 0987654321
|
||
patient list
|
||
echo ""
|
||
|
||
# 2. Patient Update - 基本更新(不改状态)
|
||
echo "=== 2. PATIENT UPDATE BASIC ==="
|
||
patient update p001 zhangsan_updated 31 male 1234567890
|
||
patient list
|
||
echo ""
|
||
|
||
# 3. Patient Update - 修改到 Inpatient(这是刚修复的功能)
|
||
echo "=== 3. PATIENT UPDATE STATUS -> INPATIENT ==="
|
||
patient update p001 zhangsan_v2 32 male 1234567890 Inpatient
|
||
patient list
|
||
echo ""
|
||
|
||
# 4. Patient Update - 修改状态到 Discharged
|
||
echo "=== 4. PATIENT UPDATE STATUS -> DISCHARGED ==="
|
||
patient update p002 lisi_discharge 41 female 0987654321 Discharged
|
||
patient list
|
||
echo ""
|
||
|
||
# 5. Patient Update - 无效状态(应错)
|
||
echo "=== 5. PATIENT UPDATE INVALID STATUS (EXPECT ERROR) ==="
|
||
patient update p001 test 30 male phone InvalidStatus
|
||
echo ""
|
||
|
||
# 6. Patient 边界测试:负数年龄
|
||
echo "=== 6. PATIENT ADD NEGATIVE AGE (EXPECT ERROR) ==="
|
||
patient add p999 test -5 male phone
|
||
echo ""
|
||
|
||
# 7. Patient 边界测试:0 岁
|
||
echo "=== 7. PATIENT ADD AGE 0 (EXPECT OK) ==="
|
||
patient add p_age0 baby 0 male phone
|
||
patient list
|
||
echo ""
|
||
|
||
# 8. Patient 边界测试:非常大的年龄
|
||
echo "=== 8. PATIENT ADD VERY OLD AGE ==="
|
||
patient add p_age_max testold 150 male phone
|
||
patient list
|
||
echo ""
|
||
|
||
# 9. Patient 边界测试:特殊字符名字
|
||
echo "=== 9. PATIENT ADD SPECIAL CHARS IN NAME ==="
|
||
patient add p_special "zhang@san#123" 25 male "123-456-7890"
|
||
patient list
|
||
echo ""
|
||
|
||
# 10. Patient 边界测试:空联系方式
|
||
echo "=== 10. PATIENT ADD EMPTY CONTACT ==="
|
||
patient add p_nocont student 20 male ""
|
||
patient list
|
||
echo ""
|
||
|
||
# 11. Patient Remove - 正常删除(非住院)
|
||
echo "=== 11. PATIENT REMOVE OUTPATIENT ==="
|
||
patient rm p999
|
||
echo ""
|
||
|
||
# 12. Patient Remove - 尝试删除不存在的患者(应错)
|
||
echo "=== 12. PATIENT REMOVE NON-EXISTENT (EXPECT ERROR) ==="
|
||
patient rm p_not_exist
|
||
echo ""
|
||
|
||
# 13. Medicine CRUD 基础
|
||
echo "=== 13. MEDICINE BASIC CRUD ==="
|
||
medicine add m001 aspirin Aspirin dep1 100 1.5
|
||
medicine add m002 paracetamol Paracetamol dep1 50 2.0
|
||
medicine add m003 ibuprofen Ibuprofen dep2 0 3.5
|
||
medicine list
|
||
echo ""
|
||
|
||
# 14. Medicine Update(已支持)- 如果实现了
|
||
echo "=== 14. MEDICINE UPDATE TEST ==="
|
||
# 暂时跳过,看是否有 update 命令
|
||
echo ""
|
||
|
||
# 15. Medicine 库存操作:增加
|
||
echo "=== 15. MEDICINE STOCK INCREASE ==="
|
||
medicine stock inc m001 50
|
||
medicine list
|
||
echo ""
|
||
|
||
# 16. Medicine 库存操作:减少
|
||
echo "=== 16. MEDICINE STOCK DECREASE ==="
|
||
medicine stock dec m001 20
|
||
medicine list
|
||
echo ""
|
||
|
||
# 17. Medicine 库存边界:减少超过库存(应失败)
|
||
echo "=== 17. MEDICINE STOCK DEC OVER LIMIT (EXPECT ERROR) ==="
|
||
medicine stock dec m001 1000
|
||
echo ""
|
||
|
||
# 18. Medicine 库存边界:减为 0
|
||
echo "=== 18. MEDICINE STOCK DEC TO ZERO ==="
|
||
medicine stock dec m001 130
|
||
medicine list
|
||
echo ""
|
||
|
||
# 19. Medicine 库存:0 库存时再减(应失败)
|
||
echo "=== 19. MEDICINE STOCK DEC FROM ZERO (EXPECT ERROR) ==="
|
||
medicine stock dec m001 1
|
||
echo ""
|
||
|
||
# 20. Medicine 库存:负数增加(应失败或无效)
|
||
echo "=== 20. MEDICINE STOCK INC NEGATIVE (EXPECT ERROR) ==="
|
||
medicine stock inc m002 -10
|
||
echo ""
|
||
|
||
# 21. Medicine 价格边界:0 价格
|
||
echo "=== 21. MEDICINE ADD ZERO PRICE ==="
|
||
medicine add m_free free_sample FreeVersion dep3 10 0
|
||
medicine list
|
||
echo ""
|
||
|
||
# 22. Medicine 价格边界:非常高的价格
|
||
echo "=== 22. MEDICINE ADD VERY HIGH PRICE ==="
|
||
medicine add m_expensive expensive_drug Gold dep3 5 999999.99
|
||
medicine list
|
||
echo ""
|
||
|
||
# 23. Medicine 搜索:通用名
|
||
echo "=== 23. MEDICINE SEARCH GENERIC NAME ==="
|
||
medicine find aspirin
|
||
echo ""
|
||
|
||
# 24. Medicine 搜索:商品名
|
||
echo "=== 24. MEDICINE SEARCH BRAND NAME ==="
|
||
medicine find Aspirin
|
||
echo ""
|
||
|
||
# 25. Medicine 搜索:不存在的药
|
||
echo "=== 25. MEDICINE SEARCH NON-EXISTENT ==="
|
||
medicine find xyz_not_found
|
||
echo ""
|
||
|
||
# 26. Doctor CRUD
|
||
echo "=== 26. DOCTOR BASIC CRUD ==="
|
||
doctor add d001 wangdoctor Cardiology Chief "Mon AM"
|
||
doctor add d002 liudoctor Neurology Attending "Tue PM"
|
||
doctor list
|
||
echo ""
|
||
|
||
# 27. Doctor 特殊字符
|
||
echo "=== 27. DOCTOR ADD SPECIAL CHARS ==="
|
||
doctor add d_special "dr.@wang!" Dept Chief "Any"
|
||
doctor list
|
||
echo ""
|
||
|
||
# 28. Doctor 无效职称
|
||
echo "=== 28. DOCTOR ADD INVALID TITLE (EXPECT ERROR) ==="
|
||
doctor add d_bad testdoc dep InvalidTitle "Mon"
|
||
echo ""
|
||
|
||
# 29. Ward 基础
|
||
echo "=== 29. WARD BASIC CRUD ==="
|
||
ward add w001 Dept1 Normal 10
|
||
ward bed add w001 b001
|
||
ward bed add w001 b002
|
||
ward list
|
||
echo ""
|
||
|
||
# 30. Ward 床位操作
|
||
echo "=== 30. WARD BED OPERATIONS ==="
|
||
ward list
|
||
echo ""
|
||
|
||
# 31. Ward 超大床位数
|
||
echo "=== 31. WARD ADD MAX BEDS ==="
|
||
ward add w_big Dept2 ICU 1000
|
||
ward list
|
||
echo ""
|
||
|
||
# 32. Ward 0 床位数(应失败或处理)
|
||
echo "=== 32. WARD ADD ZERO BEDS (CHECK BEHAVIOR) ==="
|
||
ward add w_zero Dept3 Normal 0
|
||
echo ""
|
||
|
||
# 33. 交互测试:患者入院
|
||
echo "=== 33. PATIENT ADMIT TO WARD ==="
|
||
patient admit w001 p001
|
||
patient list
|
||
echo ""
|
||
|
||
# 34. 查看 Ward 状态
|
||
echo "=== 34. WARD STATUS ==="
|
||
ward list
|
||
echo ""
|
||
|
||
# 35. 保存所有数据
|
||
echo "=== 35. SAVE ALL DATA ==="
|
||
doctor save
|
||
patient save
|
||
medicine save
|
||
ward save
|
||
echo ""
|
||
|
||
# 36. 清空并重新加载
|
||
echo "=== 36. LOAD ALL DATA ==="
|
||
doctor load
|
||
patient load
|
||
medicine load
|
||
ward load
|
||
echo ""
|
||
|
||
# 37. 重新查询验证数据完整性
|
||
echo "=== 37. VERIFY RELOADED DATA ==="
|
||
patient list
|
||
medicine list
|
||
echo ""
|
||
|
||
# 38. 长字符串测试
|
||
echo "=== 38. VERY LONG STRING TEST ==="
|
||
patient add p_long "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" 25 male "phone"
|
||
echo ""
|
||
|
||
# 39. 特殊 Unicode 字符(如果支持)
|
||
echo "=== 39. UNICODE TEST ==="
|
||
patient add p_unicode 张龙 30 男 "1234567890"
|
||
patient find 张
|
||
echo ""
|
||
|
||
# 40. 结束
|
||
echo "=== 40. END TEST ==="
|
||
exit
|