Sha256: 2a1106dcdf58f9ebaca7f51c1a84af257b116c9bae570865385d229a610f99a0
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
require 'test/unit' require 'langscan/brainfuck' class TestScan < Test::Unit::TestCase def assert_yield(recv, meth, *args) yielded = false recv.__send__(meth, *args) {|*block_args| yielded = true yield(*block_args) } assert(yielded, "block not yielded") end def assert_not_yield(recv, meth, *args) yielded = false recv.__send__(meth, *args) {|*block_args| assert(false, "block yielded") } end def assert_yield_any(recv, meth, *args) success = false recv.__send__(meth, *args) {|*block_args| if yield(*block_args) assert(true) success = true break end } assert(false, "no expected yields") unless success end def assert_yield_all(recv, meth, *args) recv.__send__(meth, *args) {|*block_args| if !yield(*block_args) assert(false, "unexpected yields") return end } assert(true) end def test_scan assert_yield_all(LangScan::Brainfuck, :scan, "+-.,<>[]") {|f| f.type == :ident && f.text.length==1 } assert_yield_all(LangScan::Brainfuck, :scan, "+++") {|f| f.type == :ident && f.text.length==1 } assert_yield_all(LangScan::Brainfuck, :scan, "I love you") {|f| f.type == :comment } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
langscan-1.2-x86-mswin32-60 | test/langscan/brainfuck/test/test_scan.rb |
langscan-1.2 | test/langscan/brainfuck/test/test_scan.rb |