SHOW:
|
|
- or go back to the newest paste.
| 1 | ;; -*- coding: utf-8; mode: scheme -*- | |
| 2 | - | ;; num-roman-test.rkt |
| 2 | + | ;; $Id: num-roman-test.rkt,v 1.7 2012/02/04 21:45:32 alcides_fp Exp $ |
| 3 | #lang racket | |
| 4 | ||
| 5 | (require rackunit | |
| 6 | rackunit/text-ui | |
| 7 | "num-roman.rkt") | |
| 8 | ||
| 9 | (define-test-suite num-roman-suite | |
| 10 | ||
| 11 | (test-case "prueba-numerales" | |
| 12 | (let ((pruebas '(("I" 1 0)
| |
| 13 | ("II" 2 0)
| |
| 14 | ("III" 3 0)
| |
| 15 | ("IX" 9 0)
| |
| 16 | ("XX" 2 1)
| |
| 17 | ("CC" 2 2)
| |
| 18 | ("XXX" 3 1)
| |
| 19 | ("CCC" 3 2)
| |
| 20 | ("MMM" 3 3)))
| |
| 21 | (exp-val "") | |
| 22 | (act-val 0) | |
| 23 | (digit 0) | |
| 24 | (pos 0)) | |
| 25 | (for ((elem pruebas)) | |
| 26 | (set! exp-val (car elem)) | |
| 27 | (set! digit (list-ref elem 1)) | |
| 28 | (set! pos (list-ref elem 2)) | |
| 29 | (set! act-val (numeral digit pos)) | |
| 30 | (check-equal? act-val exp-val) ) ) ) | |
| 31 | ;;---------------------------------------------------------------------- | |
| 32 | (test-case "prueba-lista-cifras" | |
| 33 | ;;(fail "Prueba no implementada") | |
| 34 | (let ((numero 1234) | |
| 35 | (exp-val '(4 3 2 1)) | |
| 36 | (act-val '())) | |
| 37 | (set! act-val (dec->list numero)) | |
| 38 | (check-equal? act-val exp-val))) | |
| 39 | ;;---------------------------------------------------------------------- | |
| 40 | (test-case "prueba-unidades" | |
| 41 | (let ((pruebas '(("I" 1)
| |
| 42 | ("II" 2)
| |
| 43 | ("III" 3)
| |
| 44 | ("IV" 4)
| |
| 45 | ("V" 5)
| |
| 46 | ("IX" 9)) )
| |
| 47 | (exp-val "") | |
| 48 | (act-val "") | |
| 49 | (arabigo 0)) | |
| 50 | (for ((elem pruebas)) | |
| 51 | (set! exp-val (car elem)) | |
| 52 | (set! arabigo (cadr elem)) | |
| 53 | (set! act-val (num-roman arabigo)) | |
| 54 | (check-equal? act-val exp-val) ) ) ) | |
| 55 | ||
| 56 | (test-case "prueba-decenas" | |
| 57 | (let ((pruebas '(("X" 10)
| |
| 58 | ("XII" 12)
| |
| 59 | ("XIX" 19)
| |
| 60 | ("XX" 20)
| |
| 61 | ("XXIII" 23)
| |
| 62 | ("XXXVII" 37)
| |
| 63 | ("LXXXIV" 84)) )
| |
| 64 | (exp-val "") | |
| 65 | (act-val "") | |
| 66 | (arabigo 0)) | |
| 67 | (for ((elem pruebas)) | |
| 68 | (set! exp-val (car elem)) | |
| 69 | (set! arabigo (cadr elem)) | |
| 70 | (set! act-val (num-roman arabigo)) | |
| 71 | (check-equal? act-val exp-val) ) ) ) | |
| 72 | ||
| 73 | (test-case "prueba-centenas" | |
| 74 | (let ((pruebas '(("C" 100)
| |
| 75 | ("CXXIII" 123)
| |
| 76 | ("CCXIX" 219)
| |
| 77 | ("CDXXIII" 423)
| |
| 78 | ("DCXXXVII" 637)
| |
| 79 | ("DCCCLXXXIV" 884)
| |
| 80 | ("CMXCIX" 999)) )
| |
| 81 | (exp-val "") | |
| 82 | (act-val "") | |
| 83 | (arabigo 0)) | |
| 84 | (for ((elem pruebas)) | |
| 85 | (set! exp-val (car elem)) | |
| 86 | (set! arabigo (cadr elem)) | |
| 87 | (set! act-val (num-roman arabigo)) | |
| 88 | (check-equal? act-val exp-val) ) ) ) | |
| 89 | ||
| 90 | (test-case "prueba-millares" | |
| 91 | (let ((pruebas '(("MCMLXXIV" 1974)
| |
| 92 | ("MCMLXXXV" 1985)
| |
| 93 | ("MCMXCIX" 1999)
| |
| 94 | - | (check-equal? act-val exp-val) ) ) ) |
| 94 | + | |
| 95 | (exp-val "") | |
| 96 | - | ;;(test-case "caso prueba 1" |
| 96 | + | |
| 97 | - | ;; (fail "Prueba no implementada")) |
| 97 | + | |
| 98 | - | ) |
| 98 | + | |
| 99 | (set! exp-val (car elem)) | |
| 100 | (set! arabigo (cadr elem)) | |
| 101 | (set! act-val (num-roman arabigo)) | |
| 102 | (check-equal? act-val exp-val) ) ) ) ) | |
| 103 | ;;------------------------------------------------------------------------ | |
| 104 | (run-tests num-roman-suite) |