File: test-auto_replace.1.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 (49 lines) | stat: -rw-r--r-- 749 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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
rm(list=ls())

assert('auto_replace.no_types_1a', {
  fib(0) %as% 2
  fib(0) %as% 1
  fib(1) %as% 1
  fib(n) %as% { fib(n-1) + fib(n-2) }
  seal(fib)

  act <- fib(3)
  act == 3
})

assert('auto_replace.no_types_1b', {
  fib(0) %as% 2
  fib(0) %as% 1
  fib(1) %as% 1
  fib(n) %as% { fib(n-1) - fib(n-2) }
  fib(n) %as% { fib(n-1) + fib(n-2) }
  seal(fib)

  act <- fib(3)
  act == 3
})

# Zero argument functions
assert('auto_replace.no_types_1c', {
  foo() %as% 2
  foo() %as% 1
  seal(foo)

  act <- foo()
  act == 1
})

# Zero argument functions as part of a multipart definition
assert('auto_replace.no_types_1c', {
  foo(n) %as% n
  foo() %as% 2
  foo() %as% 1
  seal(foo)

  act.1 <- foo()
  act.2 <- foo(5)

  (act.1 == 1)
  (act.2 == 5)
})