Sha256: e6a7f77d4c40cae78eab26fab6b52b2a96aa959f92b94ffe2ccab245dff7fc93

Contents?: true

Size: 1.61 KB

Versions: 343

Compression:

Stored size: 1.61 KB

Contents

(ql:quickload "lisp-unit")
#-xlisp-test (load "space-age")

(defpackage #:space-age-test
  (:use #:common-lisp #:lisp-unit))

(in-package #:space-age-test)

(defun rounds-to (expected actual)
  (flet ((to-2-places (n) (/ (fround (* 100 n)))))
    (assert-equal (to-2-places expected)
			(to-2-places actual))))

(define-test age-in-earth-years
  (rounds-to 31.69 (space-age:on-earth 1000000001)))

(define-test age-in-mercury-years
  (let ((seconds 2134835688))
    (rounds-to 67.65 (space-age:on-earth seconds))
    (rounds-to 280.88 (space-age:on-mercury seconds))))

(define-test age-in-venus-years
  (let ((seconds 189839836))
    (rounds-to 6.02 (space-age:on-earth seconds))
    (rounds-to 9.78 (space-age:on-venus seconds))))

(define-test age-on-mars
  (let ((seconds 2329871239))
    (rounds-to 73.83 (space-age:on-earth seconds))
    (rounds-to 39.25 (space-age:on-mars seconds))))

(define-test age-on-jupiter
  (let ((seconds 901876382))
    (rounds-to 28.58 (space-age:on-earth seconds))
    (rounds-to 2.41 (space-age:on-jupiter seconds))))

(define-test age-on-saturn
  (let ((seconds 3000000000))
    (rounds-to 95.06 (space-age:on-earth seconds))
    (rounds-to 3.23 (space-age:on-saturn seconds))))

(define-test age-on-uranus
  (let ((seconds 3210123456))
    (rounds-to 101.72 (space-age:on-earth seconds))
    (rounds-to 1.21 (space-age:on-uranus seconds))))

(define-test age-on-neptune
  (let ((seconds 8210123456))
    (rounds-to 260.16 (space-age:on-earth seconds))
    (rounds-to 1.58 (space-age:on-neptune seconds))))

#-xlisp-test
(let ((*print-errors* t)
      (*print-failures* t))
  (run-tests :all :space-age-test))

Version data entries

343 entries across 343 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.179 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.178 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.177 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.176 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.175 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.174 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.173 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.172 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.171 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.170 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.169 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.167 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.166 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.165 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.164 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.163 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.162 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.161 tracks/common-lisp/exercises/space-age/space-age-test.lisp
trackler-2.2.1.160 tracks/common-lisp/exercises/space-age/space-age-test.lisp