File: class_library/product/named_tuple_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: Product#14
  class: NamedTupleTest#16
inherits from
  Test ( Minitest )
has properties
method: setup #17
method: test_imess_show #22
method: test_imess_to_s #29
method: test_imess_equal #36
method: test_imess_less_than #63

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 Product
  15 
  16  class NamedTupleTest < 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, '(name:@Apple area:"Aomori").show'
  24          assert_instance_of VCA::String,                     value
  25          assert_equal       '(name:@Apple area:"Aomori")',   value.val
  26      end
  27 
  28 
  29      def test_imess_to_s
  30          value = Api.eval_expr @interp, '(name:@Apple area:"Aomori").to-s'
  31          assert_instance_of VCA::String,                 value
  32          assert_equal       '(name:Apple area:Aomori)',    value.val
  33      end
  34 
  35 
  36      def test_imess_equal
  37          value = Api.eval_expr @interp, <<-EOS
  38              (name:@Apple price:300).== (name:@Apple price:300)
  39              EOS
  40          assert_instance_of VCA::Bool,   value
  41          assert_equal       true,        value.val
  42 
  43          value = Api.eval_expr @interp, <<-EOS
  44              (name:@Apple price:300).== 4
  45              EOS
  46          assert_instance_of VCA::Bool,   value
  47          assert_equal       false,       value.val
  48 
  49          value = Api.eval_expr @interp, <<-EOS
  50              (name:@Apple price:300).== (name:@Banana price:300)
  51              EOS
  52          assert_instance_of VCA::Bool,   value
  53          assert_equal       false,       value.val
  54 
  55          value = Api.eval_expr @interp, <<-EOS
  56              (name:@Apple price:300).== (name:@Apple  price:500)
  57              EOS
  58          assert_instance_of VCA::Bool,   value
  59          assert_equal       false,       value.val
  60      end
  61 
  62 
  63      def test_imess_less_than
  64          value = Api.eval_expr @interp, <<-EOS
  65              (name:@Apple price:300).< (name:@Banana price:300)
  66              EOS
  67          assert_instance_of VCA::Bool,   value
  68          assert_equal       true,        value.val
  69 
  70          value = Api.eval_expr @interp, <<-EOS
  71              (name:@Apple price:300).< (name:@Apple  price:500)
  72              EOS
  73          assert_instance_of VCA::Bool,   value
  74          assert_equal       true,        value.val
  75 
  76          assert_raises(X::TypeError) do
  77              Api.eval_expr @interp, <<-EOS
  78                  (name:@Apple price:300).< 4
  79                  EOS
  80          end
  81 
  82          value = Api.eval_expr @interp, <<-EOS
  83              (name:@Apple  price:300).< (name:@Apple  price:300)
  84              EOS
  85          assert_instance_of VCA::Bool,   value
  86          assert_equal       false,       value.val
  87      end
  88  end
  89 
  90  end # Umu::Test::Library::Class::Product
  91 
  92  end # Umu::Test::Library::Class
  93 
  94  end # Umu::Test::Library
  95 
  96  end # Umu::Test
  97 
  98  end # Umu