File: core_language/expression/entry/do_expression_test.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Umu#6
  module: Test#8
  module: Grammar#10
  module: CoreLanguage#12
  module: Expression#14
  module: Entry#16
  class: DoExpressionTest#18
inherits from
  Test ( Minitest )
has properties
method: setup #24
method: test_do_expression #29

Code

   1  # frozen_string_literal: true
   2 
   3  require "test_helper"
   4 
   5 
   6  module Umu
   7 
   8  module Test
   9 
  10  module Grammar
  11 
  12  module CoreLanguage
  13 
  14  module Expression
  15 
  16  module Entry
  17 
  18  class DoExpressionTest < Minitest::Test
  19  =begin
  20  <do-expression> ::= DO "(" {  "!" <expression> } "}" ;
  21  =end
  22 
  23 
  24      def setup
  25          @interp = Api.setup_interpreter
  26      end
  27 
  28 
  29      def test_do_expression
  30          value = Api.eval_expr @interp, "do ()"
  31          assert_instance_of  VC::Unit, value
  32 
  33          interp = Api.eval_decls @interp, "val rx = ref 3"
  34          value = Api.eval_expr interp, <<-EOS
  35              do (
  36                  ! rx := !!rx + 1
  37                  ! !!rx
  38              )
  39              EOS
  40          assert_instance_of  VCAN::Int, value
  41          assert_equal        4,         value.val
  42      end
  43  end
  44 
  45  end # Umu::Test::Grammar::CoreLanguage::Expression::Entry
  46 
  47  end # Umu::Test::Grammar::CoreLanguage::Expression
  48 
  49  end # Umu::Test::Grammar::CoreLanguage
  50 
  51  end # Umu::Test::Grammar
  52 
  53  end # Umu::Test
  54 
  55  end # Umu