# encoding: utf-8 require_relative "faceter" require "abstract_mapper/rspec" # examples under the test describe "rspec examples" do include_context "Faceter" describe "Faceter::Rename" do let(:described_class) { Faceter::Rename } it_behaves_like :creating_immutable_node do let(:attributes) { { keys: {} } } end it_behaves_like :mapping_immutable_input do let(:attributes) { { keys: { foo: :bar } } } let(:input) { { foo: :FOO, baz: :BAZ } } let(:output) { { bar: :FOO, baz: :BAZ } } end end # describe Faceter::Rename describe "Faceter::List" do let(:described_class) { Faceter::List } it_behaves_like :creating_immutable_branch end # describe Faceter::List describe "Faceter::CompactLists" do let(:described_class) { Faceter::CompactLists } it_behaves_like :skipping_nodes do let(:input) { [Faceter::Rename.new(keys: {}), Faceter::List.new] } end it_behaves_like :optimizing_nodes do let(:input) { [Faceter::List.new { [1] }, Faceter::List.new { [2] }] } let(:output) { Faceter::List.new { [1, 2] } } end end # describe Faceter::CompactLists end # describe mapper definition