/test/zaozi_test.rb
Ruby | 52 lines | 41 code | 11 blank | 0 comment | 0 complexity | 366340b9587f9d02b325b6d4c485d9e6 MD5 | raw file
Possible License(s): BSD-3-Clause
- require 'minitest/autorun'
- require 'minitest/colorize'
- require './zaozi'
- describe ZaoZi do
- before do
- @z = ZaoZi.new
- end
-
- describe 'compose' do
- it 'should accept unary form for binary operators' do
- skip
- @z.compose('?',['?']).must_equal @z.compose('?',['?','?'])
- end
-
- it 'should accept unary form for ternary operators' do
- skip
- @z.compose('?',['?']).must_equal @z.compose('?',['?','?','?'])
- end
-
- it 'should replace radicals with alternative form' do
- @z.compose('?',['?','?']).must_equal @z.compose('?',['?','?'])
- end
- end
-
- describe 'normalize command' do
-
- it 'should leave normal command intact' do
- @z.normalize_command('????').must_equal ['?', ['?','?','?']]
- end
-
- it 'should normalize mnemonics' do
- @z.normalize_command('TR???').must_equal ['?', ['?','?','?']]
- end
-
- it 'should normalize codepoints' do
- @z.normalize_command('?+7f8a+5c0f+80e1').must_equal ['?', ['?','?','?']]
- end
-
- it 'should normalize codepoints with mnemonics' do
- @z.normalize_command('TR+7f8a+5c0f+80e1').must_equal ['?', ['?','?','?']]
- end
-
- it 'should normalize a mix of codepoints and characters' do
- @z.normalize_command('???+80e1').must_equal ['?', ['?','?','?']]
- end
-
- it 'should normalize a mix of codepoints and characters with mnemonics' do
- @z.normalize_command('TR?+5c0f?').must_equal ['?', ['?','?','?']]
- end
- end
- end