Thursday, September 19, 2024 11:50:19 PM
> settings

Customize


Authenticate

> esms_util_array_map_spec.rb
# frozen_string_literal: true

describe "ESMs_util_array_map", :requires_connection, v2: true do
  include_context "connection"

  it "returns a new array" do
    response = execute_sqf!(
      <<~SQF
        private _result = [[1,2,3,4], { _this * 2 }] call ESMs_util_array_map;
        if (isNil "_result") exitWith { nil };

        _result
      SQF
    )

    expect(response).to eq([2, 4, 6, 8])
  end

  context "when 'filter' is used (acts like #filter_map)" do
    it "returns a new array without `nil` values" do
      response = execute_sqf!(
        <<~SQF
          private _evaluator = {
            if ((_this % 2) isEqualTo 0) then {
              _this
            };
          };

          private _result = [[1,2,3,4], _evaluator, true] call ESMs_util_array_map;
          if (isNil "_result") exitWith { nil };

          _result
        SQF
      )

      expect(response).to eq([2, 4])
    end
  end
end
All opinions represented herein are my own
- © 2024 itsthedevman
- build 3c15a1b