File: test-factorial.2.R

package info (click to toggle)
r-cran-lambda.r 1.2.4-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 284 kB
  • sloc: sh: 9; makefile: 2
file content (20 lines) | stat: -rw-r--r-- 495 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
rm(list=ls())

assert('factorial_2', {
  WholeNumber(x) %when% { x > 0 } %as% x

  fac(n) %::% WholeNumber : WholeNumber
  fac(0) %as% WholeNumber(1)
  fac(n) %when% { n > 0 } %as% { n * fac(n - 1) }

  fac(n) %::% numeric : WholeNumber
  fac(n) %as% fac(WholeNumber(n))

  (fac(WholeNumber(1)) == WholeNumber(1))
  (fac(WholeNumber(5)) == WholeNumber(120))
  (fac(1) == WholeNumber(1))
  (fac(5) == WholeNumber(120))

  act <- tryCatch(fac(-1), error=function(x) 'error')
  (act == 'error')
})