Sha256: b724ebc1b71e4b0e08a11647b1c9fe4117557266fa8fd9525100d9df0f048266

Contents?: true

Size: 1.07 KB

Versions: 6

Compression:

Stored size: 1.07 KB

Contents

require 'test_helper'

module Tins
  class TokenTest < Test::Unit::TestCase
    def test_token_failures
      assert_raise(ArgumentError) { Tins::Token.new(bits: 0) }
      assert_raise(ArgumentError) { Tins::Token.new(length: 0) }
      assert_raise(ArgumentError) { Tins::Token.new(alphabet: %w[0]) }
    end

    def test_token_for_length
      token = Tins::Token.new(length: 22)
      assert_equal 22, token.length
      assert_equal 130, token.bits
    end

    def test_token_for_bits
      token = Tins::Token.new(bits: 128)
      assert_equal 22, token.length
      # can differ from bits argument depending on alphabet:
      assert_equal 130, token.bits
    end

    def test_alphabet
      token = Tins::Token.new(alphabet: %w[0 1])
      assert_equal 128, token.length
      assert_equal 128, token.bits
      token = Tins::Token.new(alphabet: %w[0 1 2 3])
      assert_equal 64, token.length
      assert_equal 128, token.bits
      token = Tins::Token.new(length: 128, alphabet: %w[0 1 2 3])
      assert_equal 128, token.length
      assert_equal 256, token.bits
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
tins-1.38.0 tests/token_test.rb
tins-1.37.1 tests/token_test.rb
tins-1.37.0 tests/token_test.rb
tins-1.36.1 tests/token_test.rb
tins-1.36.0 tests/token_test.rb
tins-1.35.0 tests/token_test.rb