PageRenderTime 49ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/test/zaozi_test.rb

https://bitbucket.org/mnyonpa/svghanzi
Ruby | 52 lines | 41 code | 11 blank | 0 comment | 0 complexity | 366340b9587f9d02b325b6d4c485d9e6 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. require 'minitest/autorun'
  2. require 'minitest/colorize'
  3. require './zaozi'
  4. describe ZaoZi do
  5. before do
  6. @z = ZaoZi.new
  7. end
  8. describe 'compose' do
  9. it 'should accept unary form for binary operators' do
  10. skip
  11. @z.compose('?',['?']).must_equal @z.compose('?',['?','?'])
  12. end
  13. it 'should accept unary form for ternary operators' do
  14. skip
  15. @z.compose('?',['?']).must_equal @z.compose('?',['?','?','?'])
  16. end
  17. it 'should replace radicals with alternative form' do
  18. @z.compose('?',['?','?']).must_equal @z.compose('?',['?','?'])
  19. end
  20. end
  21. describe 'normalize command' do
  22. it 'should leave normal command intact' do
  23. @z.normalize_command('????').must_equal ['?', ['?','?','?']]
  24. end
  25. it 'should normalize mnemonics' do
  26. @z.normalize_command('TR???').must_equal ['?', ['?','?','?']]
  27. end
  28. it 'should normalize codepoints' do
  29. @z.normalize_command('?+7f8a+5c0f+80e1').must_equal ['?', ['?','?','?']]
  30. end
  31. it 'should normalize codepoints with mnemonics' do
  32. @z.normalize_command('TR+7f8a+5c0f+80e1').must_equal ['?', ['?','?','?']]
  33. end
  34. it 'should normalize a mix of codepoints and characters' do
  35. @z.normalize_command('???+80e1').must_equal ['?', ['?','?','?']]
  36. end
  37. it 'should normalize a mix of codepoints and characters with mnemonics' do
  38. @z.normalize_command('TR?+5c0f?').must_equal ['?', ['?','?','?']]
  39. end
  40. end
  41. end