Files
HIS-GUI/tests/test_comprehensive.txt

236 lines
5.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ============================================================
# 综合测试脚本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