HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/src/ruby-2.7.4/tool/test/test_jisx0208.rb
require 'test/unit'

require_relative '../lib/jisx0208'

class Test_JISX0208_Char < Test::Unit::TestCase
  def test_create_with_row_cell
    assert_equal JISX0208::Char.new(0x2121), JISX0208::Char.new(1, 1)
  end

  def test_succ
    assert_equal JISX0208::Char.new(0x2221), JISX0208::Char.new(0x217e).succ
    assert_equal JISX0208::Char.new(2, 1), JISX0208::Char.new(1, 94).succ
    assert_equal JISX0208::Char.new(0x7f21), JISX0208::Char.new(0x7e7e).succ
  end

  def test_to_shift_jis
    assert_equal 0x895C, JISX0208::Char.new(0x313D).to_sjis
    assert_equal 0x895C, JISX0208::Char.from_sjis(0x895C).to_sjis
    assert_equal 0xF3DE, JISX0208::Char.from_sjis(0xF3DE).to_sjis
    assert_equal 0xFC40, JISX0208::Char.from_sjis(0xFC40).to_sjis
  end

  def test_from_sjis
    assert_raise(ArgumentError) { JISX0208::Char.from_sjis(-1) }
    assert_raise(ArgumentError) { JISX0208::Char.from_sjis(0x10000) }
    assert_nothing_raised { JISX0208::Char.from_sjis(0x8140) }
    assert_nothing_raised { JISX0208::Char.from_sjis(0xFCFC) }
    assert_equal JISX0208::Char.new(0x313D), JISX0208::Char.from_sjis(0x895C)
  end

  def test_row
    assert_equal 1, JISX0208::Char.new(0x2121).row
    assert_equal 94, JISX0208::Char.new(0x7E7E).row
  end

  def test_cell
    assert_equal 1, JISX0208::Char.new(0x2121).cell
    assert_equal 94, JISX0208::Char.new(0x7E7E).cell
  end
end