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 class ObjectTest < Minitest::Test
15 def setup
16 @interp = Api.setup_interpreter
17 end
18
19
20 def test_imess_show
21 value = Api.eval_expr @interp, "@Apple.show"
22 assert_instance_of VCA::String, value
23 assert_equal "@Apple", value.val
24 end
25
26
27 def test_imess_to_string
28 value = Api.eval_expr @interp, "@Apple.to-s"
29 assert_instance_of VCA::String, value
30 assert_equal "Apple", value.val
31 end
32
33
34 def test_imess_contents
35 value = Api.eval_expr @interp, "[3].contents"
36 assert_instance_of VCP::Tuple, value
37
38 head_value, tail_value = value.values
39 assert_instance_of VCAN::Int, head_value
40 assert_equal 3, head_value.val
41 assert_instance_of VCM::List::Nil, tail_value
42 end
43
44
45 def test_imess_is_equal
46 value = Api.eval_expr @interp, "3.== 3"
47 assert_instance_of VCA::Bool, value
48 assert_equal true, value.val
49
50 value = Api.eval_expr @interp, "3.== 4"
51 assert_instance_of VCA::Bool, value
52 assert_equal false, value.val
53 end
54
55
56 def test_imess_is_less_than
57 value = Api.eval_expr @interp, "3.< 3"
58 assert_instance_of VCA::Bool, value
59 assert_equal false, value.val
60
61 value = Api.eval_expr @interp, "3.< 4"
62 assert_instance_of VCA::Bool, value
63 assert_equal true, value.val
64 end
65
66
67 def test_imess_force
68 value = Api.eval_expr @interp, "3.force"
69 assert_instance_of VCAN::Int, value
70 assert_equal 3, value.val
71 end
72 end
73
74 end # Umu::Test::Library::Class
75
76 end # Umu::Test::Library
77
78 end # Umu::Test
79
80 end # Umu