File: class_library/atom/string_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: StringTest#16
inherits from
  Test ( Minitest )
has properties
method: setup #17
method: test_imess_show #22
method: test_imess_to_s #29
method: test_imess_less_than #36
method: test_panic #47
method: test_imess_append #54
method: test_parameter_of_relation_operator_should_be_a_string #61

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 StringTest < Minitest::Test
  17      def setup
  18          @interp = Api.setup_interpreter
  19      end
  20 
  21 
  22      def test_imess_show
  23          value = Api.eval_expr @interp, '"Apple".show'
  24          assert_instance_of VCA::String, value
  25          assert_equal       '"Apple"',   value.val
  26      end
  27 
  28 
  29      def test_imess_to_s
  30          value = Api.eval_expr @interp, '"Apple".to-s'
  31          assert_instance_of VCA::String, value
  32          assert_equal       'Apple',     value.val
  33      end
  34 
  35 
  36      def test_imess_less_than
  37          value = Api.eval_expr @interp, '"Apple".< "Banana"'
  38          assert_instance_of VCA::Bool,   value
  39          assert_equal       true,        value.val
  40 
  41          value = Api.eval_expr @interp, '"Apple".< "Apple"'
  42          assert_instance_of VCA::Bool,   value
  43          assert_equal       false,       value.val
  44      end
  45 
  46 
  47      def test_panic
  48          assert_raises(X::Panic) do
  49              Api.eval_expr @interp, '"Foo".panic!'
  50          end
  51      end
  52 
  53 
  54      def test_imess_append
  55          value = Api.eval_expr @interp, '"Apple".^ "Banana"'
  56          assert_instance_of VCA::String,     value
  57          assert_equal       'AppleBanana',   value.val
  58      end
  59 
  60 
  61      def test_parameter_of_relation_operator_should_be_a_string
  62          assert_raises(X::TypeError) do
  63              Api.eval_expr @interp, '"Apple".< ()'
  64          end
  65 
  66          assert_raises(X::TypeError) do
  67              Api.eval_expr @interp, '"Apple".< 3'
  68          end
  69 
  70          assert_raises(X::TypeError) do
  71              Api.eval_expr @interp, '"Apple".<= ()'
  72          end
  73 
  74          assert_raises(X::TypeError) do
  75              Api.eval_expr @interp, '"Apple".<= 4'
  76          end
  77      end
  78  end
  79 
  80  end # Umu::Test::Library::Class::Atom
  81 
  82  end # Umu::Test::Library::Class
  83 
  84  end # Umu::Test::Library
  85 
  86  end # Umu::Test
  87 
  88  end # Umu