Sha256: a2a10fd9e748e12bd0f01fa635bd28c7a173635eeb5535545cc89f39355b8cf5

Contents?: true

Size: 1.26 KB

Versions: 6

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

require_relative '../../../lib/zenlish/feature/identifier_domain' # Load the class under test

module Zenlish
  module Feature
    describe IdentifierDomain do
      subject { IdentifierDomain.instance }

      context 'Initialization:' do
        it 'should be instantiated without argument' do
          expect { IdentifierDomain.instance }.not_to raise_error
        end
      end # context

      context 'Provided services:' do
        it 'should know whether a value is in domain' do
          expect(subject.include?('CommonForm')).to be_truthy
          expect(subject.include?('Common Form')).to be_falsey
          expect(subject.include?('+123')).to be_falsey
        end 
        
        it 'should provide a factory method for identifier values' do
          expect(subject.build_value('CommonForm')).to be_kind_of(IdentifierValue)
          expect(subject.build_value('Common_Form')).to be_kind_of(IdentifierValue)
        end

        it 'should complain when asked to build an invalid identifier' do
          err = StandardError
          err_msg = "?1234 isn't a valid identifier."
          expect { subject.build_value('?1234') }.to raise_error(err, err_msg)
        end
      end # context
    end # describe
  end # module
end # module

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
zenlish-0.2.05 spec/zenlish/feature/identifier_domain_spec.rb
zenlish-0.2.04 spec/zenlish/feature/identifier_domain_spec.rb
zenlish-0.2.03 spec/zenlish/feature/identifier_domain_spec.rb
zenlish-0.2.02 spec/zenlish/feature/identifier_domain_spec.rb
zenlish-0.2.01 spec/zenlish/feature/identifier_domain_spec.rb
zenlish-0.2.00 spec/zenlish/feature/identifier_domain_spec.rb