Sha256: 26bc73d7e5dc96476a18b9a55e337a1d2a49c99b16c37842e572b8b7fe841937

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

require 'socket'
require_relative '../spec_helper'
require_relative '../../lib/kamerling/addr'

module Kamerling
  describe Addr do
    let(:addr) { Addr['localhost', 1981, :TCP] }

    describe '#connectable?' do
      it 'is a predicate whether the (TCP) address is connectable' do
        server = TCPServer.new(*addr)
        addr.must_be :connectable?
        server.close
        addr.wont_be :connectable?
      end
    end

    describe '#to_a' do
      it 'returns host + port for splat use' do
        splat = *addr
        splat.must_equal ['localhost', 1981]
      end
    end

    describe '#to_h' do
      it 'returns a Hash with Integer and String values' do
        addr.to_h.must_equal host: 'localhost', port: 1981, prot: 'TCP'
      end
    end

    describe '#to_s' do
      it 'returns the Addr in URI notation' do
        addr.to_s.must_equal 'tcp://localhost:1981'
      end
    end

    describe '#uri' do
      it 'returns and URI representation of the Addr' do
        addr.uri.must_equal URI.parse('tcp://localhost:1981')
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kamerling-0.0.3 spec/kamerling/addr_spec.rb