Sha256: 376e513b4ba1729ca279502825698a6d7c6e16a667f77ff04f9b8ae34a5b3ef8

Contents?: true

Size: 1.77 KB

Versions: 12

Compression:

Stored size: 1.77 KB

Contents

# frozen_string_literal: true

# Copyright (c) 2024 Yegor Bugayenko
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the 'Software'), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

require 'minitest/autorun'
require_relative '../../lib/factbase'
require_relative '../../lib/factbase/flatten'

# Test.
# Author:: Yegor Bugayenko (yegor256@gmail.com)
# Copyright:: Copyright (c) 2024 Yegor Bugayenko
# License:: MIT
class TestFlatten < Minitest::Test
  def test_mapping
    maps = [{ 'b' => [42], 'i' => 1 }, { 'a' => 33, 'i' => 0 }, { 'c' => %w[hey you], 'i' => 2 }]
    to = Factbase::Flatten.new(maps, 'i').it
    assert(33, to[0]['a'])
    assert(42, to[1]['b'])
    assert(2, to[2]['c'].size)
  end

  def test_without_sorter
    maps = [{ 'b' => [42], 'i' => [44] }, { 'a' => 33 }]
    to = Factbase::Flatten.new(maps, 'i').it
    assert(33, to[0]['a'])
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
factbase-0.4.0 test/factbase/test_flatten.rb
factbase-0.3.0 test/factbase/test_flatten.rb
factbase-0.2.1 test/factbase/test_flatten.rb
factbase-0.2.0 test/factbase/test_flatten.rb
factbase-0.1.1 test/factbase/test_flatten.rb
factbase-0.1.0 test/factbase/test_flatten.rb
factbase-0.0.60 test/factbase/test_flatten.rb
factbase-0.0.59 test/factbase/test_flatten.rb
factbase-0.0.58 test/factbase/test_flatten.rb
factbase-0.0.57 test/factbase/test_flatten.rb
factbase-0.0.56 test/factbase/test_flatten.rb
factbase-0.0.55 test/factbase/test_flatten.rb