1 # frozen_string_literal: true
2
3 require "test_helper"
4
5
6 module Umu
7
8 module Test
9
10 module Library
11
12 module Class
13
14 module Atom
15
16 class AtomTest < Minitest::Test
17 def setup
18 @interp = Api.setup_interpreter
19 end
20
21
22 def test_imess_equal
23 value = Api.eval_expr @interp, "3.== 3"
24 assert_instance_of VCA::Bool, value
25 assert_equal true, value.val
26
27 value = Api.eval_expr @interp, "3.== 4"
28 assert_instance_of VCA::Bool, value
29 assert_equal false, value.val
30 end
31
32
33 def test_imess_not_equal
34 value = Api.eval_expr @interp, "3.<> 3"
35 assert_instance_of VCA::Bool, value
36 assert_equal false, value.val
37
38 value = Api.eval_expr @interp, "3.<> 4"
39 assert_instance_of VCA::Bool, value
40 assert_equal true, value.val
41 end
42
43
44 def test_imess_less_than
45 value = Api.eval_expr @interp, "3.< 3"
46 assert_instance_of VCA::Bool, value
47 assert_equal false, value.val
48
49 value = Api.eval_expr @interp, "3.< 4"
50 assert_instance_of VCA::Bool, value
51 assert_equal true, value.val
52
53 value = Api.eval_expr @interp, "4.< 3"
54 assert_instance_of VCA::Bool, value
55 assert_equal false, value.val
56 end
57
58
59 def test_imess_less_equal
60 value = Api.eval_expr @interp, "3.<= 3"
61 assert_instance_of VCA::Bool, value
62 assert_equal true, value.val
63
64 value = Api.eval_expr @interp, "3.<= 4"
65 assert_instance_of VCA::Bool, value
66 assert_equal true, value.val
67
68 value = Api.eval_expr @interp, "4.<= 3"
69 assert_instance_of VCA::Bool, value
70 assert_equal false, value.val
71 end
72
73
74 def test_imess_greater_than
75 value = Api.eval_expr @interp, "3.> 3"
76 assert_instance_of VCA::Bool, value
77 assert_equal false, value.val
78
79 value = Api.eval_expr @interp, "3.> 4"
80 assert_instance_of VCA::Bool, value
81 assert_equal false, value.val
82
83 value = Api.eval_expr @interp, "4.> 3"
84 assert_instance_of VCA::Bool, value
85 assert_equal true, value.val
86 end
87
88
89 def test_imess_greater_equal
90 value = Api.eval_expr @interp, "3.>= 3"
91 assert_instance_of VCA::Bool, value
92 assert_equal true, value.val
93
94 value = Api.eval_expr @interp, "3.>= 4"
95 assert_instance_of VCA::Bool, value
96 assert_equal false, value.val
97
98 value = Api.eval_expr @interp, "4.>= 3"
99 assert_instance_of VCA::Bool, value
100 assert_equal true, value.val
101 end
102
103
104 def test_imess_compare
105 value = Api.eval_expr @interp, "3.<=> 3"
106 assert_instance_of VCAN::Int, value
107 assert_equal 0, value.val
108
109 value = Api.eval_expr @interp, "3.<=> 4"
110 assert_instance_of VCAN::Int, value
111 assert_equal (-1), value.val
112
113 value = Api.eval_expr @interp, "4.<=> 3"
114 assert_instance_of VCAN::Int, value
115 assert_equal 1, value.val
116 end
117 end
118
119 end # Umu::Test::Library::Class::Atom
120
121 end # Umu::Test::Library::Class
122
123 end # Umu::Test::Library
124
125 end # Umu::Test
126
127 end # Umu