Sha256: 91b60b9ab1df31ba3ae321286be2de4f06aaa1ea82c3350598027590cacbf153

Contents?: true

Size: 1.37 KB

Versions: 3

Compression:

Stored size: 1.37 KB

Contents

# By Michael Neumann

require 'test/unit'
require 'facet/byteorder'

class TC_ByteOrder < Test::Unit::TestCase

  def test_equal
    assert_equal ByteOrder.little?, ByteOrder.little_endian?
    assert_equal ByteOrder.big?, ByteOrder.big_endian?
    assert_equal ByteOrder.network?, ByteOrder.big_endian?
    assert_equal ByteOrder.byte_order, ByteOrder.byteorder

    assert_equal ByteOrder::Big, ByteOrder::BigEndian
    assert_equal ByteOrder::Network, ByteOrder::BigEndian
    assert_equal ByteOrder::Little, ByteOrder::LittleEndian

    assert_equal ByteOrder.byte_order, ByteOrder::LittleEndian if ByteOrder.little?
    assert_equal ByteOrder.byte_order, ByteOrder::BigEndian if ByteOrder.big?
  end

  def test_uname_byteorder
    assert_equal(ByteOrder.little?, true) if `uname -m` =~ /i386/
  end

  def test_byteorder
    if ByteOrder.little?
      assert_equal "\x12\x34\x56\x78".unpack("L").first, 0x78563412
      assert_equal "\x78\x56\x34\x12".unpack("L").first, 0x12345678
      assert_equal [0x12345678].pack("L"), "\x78\x56\x34\x12"
      assert_equal [0x78563412].pack("L"), "\x12\x34\x56\x78"
    else
      assert_equal "\x12\x34\x56\x78".unpack("L").first, 0x12345678
      assert_equal "\x78\x56\x34\x12".unpack("L").first, 0x78563412 
      assert_equal [0x12345678].pack("L"), "\x12\x34\x56\x78"
      assert_equal [0x78563412].pack("L"), "\x78\x56\x34\x12"
    end
  end

end
 

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
facets-0.7.0 test/tc_byteorder.rb
facets-0.7.1 test/tc_byteorder.rb
facets-0.7.2 test/tc_byteorder.rb