Sha256: faa43040e9cdc97cb5a87bcdb4ad43d2ac4c4ce38f14748e635f089506be98af

Contents?: true

Size: 1.29 KB

Versions: 3

Compression:

Stored size: 1.29 KB

Contents

#! /usr/bin/env ruby
# coding: utf-8

require "helper"
require "stringio"

class Tefil::Calculator
  public :process_stream
end

class TC_Calculator < Test::Unit::TestCase
  def setup
    @is00 = Tefil::Calculator.new
  end

  def test_process_stream
    setup
    $stdin = StringIO.new
    $stdin.puts "1+2"
    $stdin.puts "0.1"
    $stdin.puts "-0.1"
    $stdin.puts "0.0"
    $stdin.rewind
    str = capture_stdout{}
    result = capture_stdout{ @is00.filter([])}
    correct =
      "3\n" +
      "0.1\n" +
      "-0.1\n" +
      "0.0\n"
    assert_equal(correct, result)

    setup
    $stdin = StringIO.new
    $stdin.puts "2^3"
    $stdin.rewind
    str = capture_stdout{}
    result = capture_stdout{ @is00.filter([])}
    correct = "8\n"
    assert_equal(correct, result)

    setup
    $stdin = StringIO.new
    $stdin.puts "2^{1+2}"
    $stdin.rewind
    str = capture_stdout{}
    result = capture_stdout{ @is00.filter([])}
    correct = "8\n"
    assert_equal(correct, result)

  end

  #なぜか変換されないが、コマンド経由ならいける。
  #def test_times
  #  setup
  #  $stdin = StringIO.new
  #  $stdin.puts "2 \times 3"
  #  $stdin.rewind
  #  str = capture_stdout{}
  #  result = capture_stdout{ @is00.filter([])}
  #  correct = "6\n"
  #  assert_equal(correct, result)
  #end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tefil-0.1.5 test/test_calculator.rb
tefil-0.1.4 test/test_calculator.rb
tefil-0.1.3 test/test_calculator.rb