Advertisement
alcidesfp

num-roman-test.lisp

Jan 19th, 2012
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;; -*- coding: utf-8; mode: common-lisp -*-
  2. ;; num-roman-test.lisp
  3.  
  4. (asdf:load-system :fiveam)
  5.  
  6. (defpackage :num-roman-test
  7.   (:use :cl :fiveam))
  8.  
  9. (in-package :num-roman-test)
  10.  
  11. (load "num-roman.lisp")
  12.  
  13. (def-suite num-roman-suite :description "Suite de pruebas unitarias.")
  14.  
  15. (in-suite num-roman-suite)
  16.  
  17. (test prueba-unidades
  18.   (let ((pruebas '(("I" 1)
  19.                    ("II" 2)
  20.                    ("III" 3)
  21.                    ("IV" 4)
  22.                    ("V" 5)
  23.                    ("IX" 9)) ))
  24.  
  25.     (loop for elem in pruebas do
  26.          (is (string-equal (car elem) (num-roman (cadr elem)))) ) ) )
  27.  
  28. (test prueba-decenas
  29.   (let ((pruebas '(("XI" 11)
  30.                    ("XXVIII" 28)
  31.                    ("XXXVII" 37)
  32.                    ("XLII" 42)
  33.                    ("XCIX" 99)) ))
  34.  
  35.     (loop for elem in pruebas do
  36.          (is (string-equal (car elem) (num-roman (cadr elem)))) ) ) )
  37.  
  38. (test prueba-centenas
  39.   (let ((pruebas '(("C" 100)
  40.                    ("CXXIII" 123)
  41.                    ("CCXLV" 245)
  42.                    ("CCCXXI" 321)
  43.                    ("CMXCIX" 999)) ))
  44.     (loop for elem in pruebas do
  45.          (is (string-equal (car elem) (num-roman (cadr elem)))) ) ) )
  46.  
  47. (test prueba-millares
  48.   (let ((pruebas '(("MCMLXXIV" 1974)
  49.                    ("MCMLXXXV" 1985)
  50.                    ("MCMXCIX" 1999)
  51.                    ("MMXII" 2012)) ))
  52.     (loop for elem in pruebas do
  53.          (is (string-equal (car elem) (num-roman (cadr elem)))) ) ) )
  54.  
  55. ;; (fail "Prueba no implementada")
  56.  
  57. (run! 'num-roman-suite)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement