# frozen_string_literal: true require 'core_extensions/hash' RSpec.describe CoreExtensions::Hash do before do Hash.include described_class end describe '#except' do it 'should return a copy of the original hash with the given keys removed' do tested_hash = { a: true, b: false, c: nil } expect(tested_hash.except(:c)).to eql({ a: true, b: false }) expect(tested_hash).to eql({ a: true, b: false, c: nil }) tested_hash = { a: 100, b: 200, c: 300 } expect(tested_hash.except(:a)).to eql({ b: 200, c: 300 }) expect(tested_hash.except(:a, :c)).to eql({ b: 200 }) expect(tested_hash).to eql({ a: 100, b: 200, c: 300 }) end end end