Advertisement
alcidesfp

num-roman-test.lisp

Jan 17th, 2012
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.43 KB | None | 0 0
  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.     (loop for elem in pruebas do
  43.          (is (string-equal (car elem) (num-roman (cadr elem)))) ) ) )
  44.  
  45. (test prueba-millares
  46.   (let ((pruebas '(("MCMLXXIV" 1974)
  47.                    ("MCMLXXXV" 1985)
  48.                    ("MMXII" 2012)) ))
  49.     (loop for elem in pruebas do
  50.          (is (string-equal (car elem) (num-roman (cadr elem)))) ) ) )
  51.  
  52. ;; (fail "Prueba no implementada")
  53.  
  54. (run! 'num-roman-suite)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement