Sha256: 8b585d7c605dc8f9c2bd0d9d08a2f0fdb33ef13d56e0007885005fb5fedc9a5a

Contents?: true

Size: 1.09 KB

Versions: 35

Compression:

Stored size: 1.09 KB

Contents

require 'test_helper'
require 'tins'

module Tins
  class TokenTest < Test::Unit::TestCase
    def test_token_failures
      assert_raises(ArgumentError) { Tins::Token.new(bits: 0) }
      assert_raises(ArgumentError) { Tins::Token.new(length: 0) }
      assert_raises(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

35 entries across 33 versions & 4 rubygems

Version Path
tdiary-5.0.11 vendor/bundle/gems/tins-1.16.3/tests/token_test.rb
tdiary-5.0.9 vendor/bundle/gems/tins-1.16.3/tests/token_test.rb
tdiary-5.0.8 vendor/bundle/gems/tdiary-5.0.7/vendor/bundle/gems/tins-1.16.3/tests/token_test.rb
tdiary-5.0.7 vendor/bundle/gems/tins-1.16.3/tests/token_test.rb
tins-1.16.3 tests/token_test.rb
tins-1.16.2 tests/token_test.rb
tins-1.16.1 tests/token_test.rb
tins-1.16.0 tests/token_test.rb
tins-1.15.1 tests/token_test.rb
tdiary-5.0.6 vendor/bundle/gems/tins-1.15.0/tests/token_test.rb
tins-1.15.0 tests/token_test.rb
tdiary-5.0.5 vendor/bundle/gems/tins-1.13.2/tests/token_test.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/tins-1.13.2/tests/token_test.rb
tdiary-5.0.5 vendor/bundle/gems/tins-1.14.0/tests/token_test.rb
tins-1.14.0 tests/token_test.rb
tins-1.13.3 tests/token_test.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/tins-1.13.2/tests/token_test.rb
tdiary-5.0.4 vendor/bundle/gems/tins-1.13.2/tests/token_test.rb
tins-1.13.2 tests/token_test.rb
ivanvc-logstash-input-s3-3.1.1.4 vendor/local/gems/tins-1.13.0/tests/token_test.rb