๐Ÿงช UT-01: Semua jawaban = 1 (CF_user = 0 untuk semua gejala) โœ… PASS: CF akhir harus 0% (0 โ‰ˆ 0) โœ… PASS: Kategori harus rendah ๐Ÿงช UT-02: Semua jawaban = 4 (CF_user = 1 untuk semua gejala) โœ… PASS: CF akhir harus 100% (100 โ‰ˆ 100) โœ… PASS: Kategori harus tinggi ๐Ÿงช UT-03: Kasus contoh ยง8.3 (G01=4, G02=3, G03=2, G04=3, G05=1) โœ… PASS: CF akhir harus 90.40% (ยฑ0.01) (90.4 โ‰ˆ 90.4) ๐Ÿงช UT-04: Kombinasi 2 nilai (0.333 & 0.444) โ†’ 0.629 โœ… PASS: CF akhir kombinasi harus 0.629 (ยฑ0.01) (0.629148 โ‰ˆ 0.629) ๐Ÿงช UT-05: Monoton naik (tambah gejala aktif tidak boleh menurunkan CF) โœ… PASS: CF setelah tambah gejala ke-2 harus >= CF awal โœ… PASS: CF setelah tambah gejala ke-3 harus >= CF sebelumnya ๐Ÿงช UT-06: Rentang (semua kombinasi acak harus 0 โ‰ค CF โ‰ค 1) โœ… PASS: Semua 1000 kasus acak menghasilkan CF dalam rentang 0-1 ๐Ÿงช UT-07: Konversi skala (nilai-1)/3 untuk nilai 1..4 โœ… PASS: CF_user(1) harus 0 (0 โ‰ˆ 0) โœ… PASS: CF_user(2) harus 0.3333 (0.33333333333333 โ‰ˆ 0.3333) โœ… PASS: CF_user(3) harus 0.6667 (0.66666666666667 โ‰ˆ 0.6667) โœ… PASS: CF_user(4) harus 1.0 (1 โ‰ˆ 1) โœ… PASS: CF_pakar(1) harus 1.0 (1 โ‰ˆ 1) โœ… PASS: CF_pakar(2) harus 0.6667 (0.66666666666667 โ‰ˆ 0.6667) โœ… PASS: CF_pakar(3) harus 0.3333 (0.33333333333333 โ‰ˆ 0.3333) โœ… PASS: CF_pakar(4) harus 0.0 (0 โ‰ˆ 0) ๐Ÿงช UT-08: Klasifikasi kategori โ€” 8 skenario S1-S8 โœ… PASS: S1: Persentase harus 0% (0 โ‰ˆ 0) โœ… PASS: S1: Kategori harus rendah โœ… PASS: S2: Persentase harus 30.9% (30.86 โ‰ˆ 30.9) โœ… PASS: S2: Kategori harus rendah โœ… PASS: S3: Persentase harus 56.8% (56.79 โ‰ˆ 56.8) โœ… PASS: S3: Kategori harus sedang โœ… PASS: S4: Persentase harus 66.7% (66.67 โ‰ˆ 66.7) โœ… PASS: S4: Kategori harus sedang โœ… PASS: S5: Persentase harus 76.1% (76.1 โ‰ˆ 76.1) โœ… PASS: S5: Kategori harus tinggi โœ… PASS: S6: Persentase harus 77.8% (77.78 โ‰ˆ 77.8) โœ… PASS: S6: Kategori harus tinggi โœ… PASS: S7: Persentase harus 97.3% (97.33 โ‰ˆ 97.3) โœ… PASS: S7: Kategori harus tinggi โœ… PASS: S8: Persentase harus 100% (100 โ‰ˆ 100) โœ… PASS: S8: Kategori harus tinggi ๐Ÿงช Validasi: Exception handling โœ… PASS: cfUser(0) throw InvalidArgumentException โœ… PASS: cfUser(5) throw InvalidArgumentException โœ… PASS: cfPakar(0) throw InvalidArgumentException โœ… PASS: cfPakar(5) throw InvalidArgumentException ============================================================ ๐Ÿงช HASIL AKHIR TEST CERTAINITY FACTOR ============================================================ โœ… Passed: 37 โŒ Failed: 0 ============================================================ ๐ŸŽ‰ SEMUA TEST LULUS! (37 test)