== Test 1: CRC-16/CCITT-FALSE test vector resmi == [PASS] crc16("123456789") === "29B1" == Test 2: Payload statis dummy (TLV konsisten, CRC ditanam dengan fungsi yang sama) == [PASS] payload statis lolos verifikasi CRC sendiri == Test 3: Transform ke dinamis (nominal 9753, ref XK42) == [PASS] tag 01 berubah 11 -> 12 [PASS] tag 54 = "9753.00" (format 2 desimal) [PASS] tag 62-05 berisi ref XK42 [PASS] CRC hasil valid == Test 4: Nominal dengan kode pengurangan (10000 - 247 = 9753) == [PASS] tag 54 = "9753.00" == Test 5: Nominal terkecil (tier 5 menit: 2000 - 499 = 1501) == [PASS] tag 54 = "1501.00" [PASS] CRC valid == Test 6: Tanpa ref == [PASS] tidak ada tag 62 (ref dihilangkan) [PASS] CRC valid == Test 7: Input rusak ditolak == [PASS] payload tidak valid -> exception [PASS] nominal 0 -> exception == Ringkasan == PASS: 13 FAIL: 0 Contoh payload dinamis (nominal 9753): 00020101021226270014com.example0208merchant5204581253033605802ID5909NASKH ART6007JAKARTA54079753.0062080504XK42630437DC