File: class_library/atom/bool_test.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Umu#6
  module: Test#8
  module: Library#10
  module: Class#12
  module: Atom#14
  class: BoolTest#16
inherits from
  Test ( Minitest )
has properties
method: setup #17
method: test_cmess_make_true #22
method: test_cmess_make_false #29
method: test_imess_show #36
method: test_imess_to_s #47
method: test_imess_equal #58
method: test_imess_not_equal #77
method: test_imess_less_than #96
method: test_imess_less_equal #115
method: test_imess_greater_than #134
method: test_imess_greater_equal #153
method: test_imess_compare #172
method: test_imess_not #191
method: test_parameter_of_relation_operator_should_be_a_bool #204

Class Hierarchy

Code

   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 BoolTest < Minitest::Test
  17      def setup
  18          @interp = Api.setup_interpreter
  19      end
  20 
  21 
  22      def test_cmess_make_true
  23          value = Api.eval_expr @interp, "&Bool.true"
  24          assert_instance_of VCA::Bool,   value
  25          assert_equal       true,        value.val
  26      end
  27 
  28 
  29      def test_cmess_make_false
  30          value = Api.eval_expr @interp, "&Bool.false"
  31          assert_instance_of VCA::Bool,   value
  32          assert_equal       false,       value.val
  33      end
  34 
  35 
  36      def test_imess_show
  37          value = Api.eval_expr @interp, "TRUE.show"
  38          assert_instance_of VCA::String, value
  39          assert_equal       "TRUE",      value.val
  40 
  41          value = Api.eval_expr @interp, "FALSE.show"
  42          assert_instance_of VCA::String, value
  43          assert_equal       "FALSE",     value.val
  44      end
  45 
  46 
  47      def test_imess_to_s
  48          value = Api.eval_expr @interp, "TRUE.to-s"
  49          assert_instance_of VCA::String, value
  50          assert_equal       "TRUE",      value.val
  51 
  52          value = Api.eval_expr @interp, "FALSE.to-s"
  53          assert_instance_of VCA::String, value
  54          assert_equal       "FALSE",     value.val
  55      end
  56 
  57 
  58      def test_imess_equal
  59          value = Api.eval_expr @interp, "TRUE.== TRUE"
  60          assert_instance_of VCA::Bool,   value
  61          assert_equal       true,        value.val
  62 
  63          value = Api.eval_expr @interp, "FALSE.== FALSE"
  64          assert_instance_of VCA::Bool,   value
  65          assert_equal       true,        value.val
  66 
  67          value = Api.eval_expr @interp, "TRUE.== FALSE"
  68          assert_instance_of VCA::Bool,   value
  69          assert_equal       false,       value.val
  70 
  71          value = Api.eval_expr @interp, "FALSE.== TRUE"
  72          assert_instance_of VCA::Bool,   value
  73          assert_equal       false,       value.val
  74      end
  75 
  76 
  77      def test_imess_not_equal
  78          value = Api.eval_expr @interp, "TRUE.<> TRUE"
  79          assert_instance_of VCA::Bool,   value
  80          assert_equal       false,       value.val
  81 
  82          value = Api.eval_expr @interp, "FALSE.<> FALSE"
  83          assert_instance_of VCA::Bool,   value
  84          assert_equal       false,       value.val
  85 
  86          value = Api.eval_expr @interp, "TRUE.<> FALSE"
  87          assert_instance_of VCA::Bool,   value
  88          assert_equal       true,        value.val
  89 
  90          value = Api.eval_expr @interp, "FALSE.<> TRUE"
  91          assert_instance_of VCA::Bool,   value
  92          assert_equal       true,        value.val
  93      end
  94 
  95 
  96      def test_imess_less_than
  97          value = Api.eval_expr @interp, "TRUE.< TRUE"
  98          assert_instance_of VCA::Bool,   value
  99          assert_equal       false,       value.val
 100 
 101          value = Api.eval_expr @interp, "FALSE.< FALSE"
 102          assert_instance_of VCA::Bool,   value
 103          assert_equal       false,       value.val
 104 
 105          value = Api.eval_expr @interp, "TRUE.< FALSE"
 106          assert_instance_of VCA::Bool,   value
 107          assert_equal       true,        value.val
 108 
 109          value = Api.eval_expr @interp, "FALSE.< TRUE"
 110          assert_instance_of VCA::Bool,   value
 111          assert_equal       false,       value.val
 112      end
 113 
 114 
 115      def test_imess_less_equal
 116          value = Api.eval_expr @interp, "TRUE.<= TRUE"
 117          assert_instance_of VCA::Bool,   value
 118          assert_equal       true,        value.val
 119 
 120          value = Api.eval_expr @interp, "FALSE.<= FALSE"
 121          assert_instance_of VCA::Bool,   value
 122          assert_equal       true,        value.val
 123 
 124          value = Api.eval_expr @interp, "TRUE.<= FALSE"
 125          assert_instance_of VCA::Bool,   value
 126          assert_equal       true,        value.val
 127 
 128          value = Api.eval_expr @interp, "FALSE.<= TRUE"
 129          assert_instance_of VCA::Bool,   value
 130          assert_equal       false,       value.val
 131      end
 132 
 133 
 134      def test_imess_greater_than
 135          value = Api.eval_expr @interp, "TRUE.> TRUE"
 136          assert_instance_of VCA::Bool,   value
 137          assert_equal       false,       value.val
 138 
 139          value = Api.eval_expr @interp, "FALSE.> FALSE"
 140          assert_instance_of VCA::Bool,   value
 141          assert_equal       false,       value.val
 142 
 143          value = Api.eval_expr @interp, "TRUE.> FALSE"
 144          assert_instance_of VCA::Bool,   value
 145          assert_equal       false,       value.val
 146 
 147          value = Api.eval_expr @interp, "FALSE.> TRUE"
 148          assert_instance_of VCA::Bool,   value
 149          assert_equal       true,        value.val
 150      end
 151 
 152 
 153      def test_imess_greater_equal
 154          value = Api.eval_expr @interp, "TRUE.>= TRUE"
 155          assert_instance_of VCA::Bool,   value
 156          assert_equal       true,        value.val
 157 
 158          value = Api.eval_expr @interp, "FALSE.>= FALSE"
 159          assert_instance_of VCA::Bool,   value
 160          assert_equal       true,        value.val
 161 
 162          value = Api.eval_expr @interp, "TRUE.>= FALSE"
 163          assert_instance_of VCA::Bool,   value
 164          assert_equal       false,       value.val
 165 
 166          value = Api.eval_expr @interp, "FALSE.>= TRUE"
 167          assert_instance_of VCA::Bool,   value
 168          assert_equal       true,        value.val
 169      end
 170 
 171 
 172      def test_imess_compare
 173          value = Api.eval_expr @interp, "TRUE.<=> TRUE"
 174          assert_instance_of VCAN::Int,   value
 175          assert_equal       0,           value.val
 176 
 177          value = Api.eval_expr @interp, "FALSE.<=> FALSE"
 178          assert_instance_of VCAN::Int,   value
 179          assert_equal       0,           value.val
 180 
 181          value = Api.eval_expr @interp, "TRUE.<=> FALSE"
 182          assert_instance_of VCAN::Int,   value
 183          assert_equal       (-1),        value.val
 184 
 185          value = Api.eval_expr @interp, "FALSE.<=> TRUE"
 186          assert_instance_of VCAN::Int,   value
 187          assert_equal       1,           value.val
 188      end
 189 
 190 
 191      def test_imess_not
 192          value = Api.eval_expr @interp, "TRUE.not"
 193          assert_instance_of VCA::Bool,   value
 194          assert_equal       false,       value.val
 195 
 196          value = Api.eval_expr @interp, "FALSE.not"
 197          assert_instance_of VCA::Bool,   value
 198          assert_equal       true,        value.val
 199      end
 200 
 201 
 202      # Type Error
 203 
 204      def test_parameter_of_relation_operator_should_be_a_bool
 205          assert_raises(X::TypeError) do
 206              Api.eval_expr @interp, "TRUE.< ()"
 207          end
 208 
 209          assert_raises(X::TypeError) do
 210              Api.eval_expr @interp, "TRUE.< @Apple"
 211          end
 212 
 213          assert_raises(X::TypeError) do
 214              Api.eval_expr @interp, "TRUE.< 4"
 215          end
 216 
 217          assert_raises(X::TypeError) do
 218              Api.eval_expr @interp, "TRUE.<= ()"
 219          end
 220 
 221          assert_raises(X::TypeError) do
 222              Api.eval_expr @interp, "TRUE.<= @Apple"
 223          end
 224 
 225          assert_raises(X::TypeError) do
 226              Api.eval_expr @interp, "TRUE.<= 4"
 227          end
 228      end
 229  end
 230 
 231  end # Umu::Test::Library::Class::Atom
 232 
 233  end # Umu::Test::Library::Class
 234 
 235  end # Umu::Test::Library
 236 
 237  end # Umu::Test
 238 
 239  end # Umu