-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathprefix_test.nix
executable file
·71 lines (71 loc) · 1.35 KB
/
prefix_test.nix
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env -S nix-instantiate --eval
with builtins;
let
ftests = (import ./ftests.nix);
prefix = (import ./prefix.nix);
tests = [
{
descr = ''exec ""'';
fun = (x: prefix.exec x 0);
args = "";
expected = 0;
}
{
descr = ''exec "3"'';
fun = prefix.exec;
args = "3";
expected = 3;
}
{
descr = ''exec "+"'';
fun = (x: prefix.exec x 0 0);
args = "+";
expected = 0;
}
{
descr = ''exec "+12"'';
fun = (x: prefix.exec x 0);
args = "+12";
expected = 12;
}
{
descr = ''exec "+ 1 2"'';
fun = prefix.exec;
args = "+1 2";
expected = 3;
}
{
descr = ''exec "+1 + 2 33"'';
fun = prefix.exec;
args = "+1 + 2 33";
expected = 36;
}
{
descr = ''exec "*2 +1 + 2hello33"'';
fun = prefix.exec;
args = "*2 +1 + 2hello33";
expected = 72;
}
{
descr = ''exec "+ + 3 * 5 + 2 2 19"'';
fun = prefix.exec;
args = "+ + 3 * 5 + 2 2 19";
expected = 3+5*(2+2)+19;
}
{
descr = ''exec "*2.1 + 1 4.23"'';
fun = prefix.exec;
args = "*2.1 + 1 4.23";
expected = 10.983;
}
/*
This one is "naturally" an error:
{
descr = ''exec "+ 1 2 3"'';
fun = prefix.exec;
args = "+ 1 2 3";
expected = error;
}
*/
];
in ftests.run tests