Thursday, June 04, 2026 1:47:41 AM
> test_transform_active_support.rb
# frozen_string_literal: true

require "test_helper"

# Ensure that the 'private' ActiveSupport methods don't break the other methods
class HashTransform < Minitest::Test
  def test_it_returns_enum_with_no_block
    assert_kind_of(Enumerator, {}.transform)
  end

  def test_it_transforms_key_and_value
    input = {a: 1, b: 2}
    result = input.transform { |k, v| [:"#{k}_key", v * 2] }

    refute_same(input, result)
    assert_equal({a_key: 2, b_key: 4}, result)
  end

  def test_it_transforms_key_and_value_in_place
    input = {a: 1, b: 2}

    result = input.transform! { |k, v| [:"#{k}_key", v * 2] }

    assert_same(input, result)
    assert_equal({a_key: 2, b_key: 4}, input)
  end
end
All opinions represented herein are my own
- © 2024 - 2026 itsthedevman
- build 4294fb2