diff --git a/yamlpath/merger/mergerconfig.py b/yamlpath/merger/mergerconfig.py
index cafc0c3..394abac 100644
--- a/yamlpath/merger/mergerconfig.py
+++ b/yamlpath/merger/mergerconfig.py
@@ -4,7 +4,7 @@ Implement MergerConfig.
 Copyright 2020, 2021 William W. Kimball, Jr. MBA MSIS
 """
 import configparser
-from typing import Any, Dict, Union
+from typing import Any, Dict, Optional
 from argparse import Namespace
 
 from yamlpath.exceptions import YAMLPathException
@@ -24,23 +24,35 @@ from yamlpath.wrappers import ConsolePrinter, NodeCoords
 class MergerConfig:
     """Config file processor for the Merger."""
 
-    def __init__(self, logger: ConsolePrinter, args: Namespace) -> None:
+    def __init__(
+            self,
+            logger: ConsolePrinter,
+            args: Namespace,
+            **kwargs: Any,
+    ) -> None:
         """
         Instantiate this class into an object.
 
         Parameters:
         1. logger (ConsolePrinter) Instance of ConsoleWriter or subclass
         2. args (dict) Default options for merge rules
+        3. kwargs (dict) Overrides for config values
 
         Returns:  N/A
         """
         self.log = logger
         self.args = args
-        self.config: Union[None, configparser.ConfigParser] = None
+        self.config: Optional[configparser.ConfigParser] = None
         self.rules: Dict[NodeCoords, str] = {}
         self.keys: Dict[NodeCoords, str] = {}
+        config_overrides: Dict[str, Any] = {}
+
+        if "keys" in kwargs:
+            config_overrides["keys"] = kwargs.pop("keys")
+        if "rules" in kwargs:
+            config_overrides["rules"] = kwargs.pop("rules")
 
-        self._load_config()
+        self._load_config(config_overrides)
 
     def anchor_merge_mode(self) -> AnchorConflictResolutions:
         """
@@ -322,7 +334,7 @@ class MergerConfig:
                 "... NODE:", data=node_coord,
                 prefix="MergerConfig::_prepare_user_rules:  ")
 
-    def _load_config(self) -> None:
+    def _load_config(self, config_overrides: Dict[str, Any]) -> None:
         """Load the external configuration file."""
         config = configparser.ConfigParser()
 
@@ -334,8 +346,15 @@ class MergerConfig:
 
         if config_file:
             config.read(config_file)
-            if config.sections():
-                self.config = config
+
+        if "keys" in config_overrides:
+            config["keys"] = config_overrides["keys"]
+
+        if "rules" in config_overrides:
+            config["rules"] = config_overrides["rules"]
+
+        if config.sections():
+            self.config = config
 
     def _get_config_for(self, node_coord: NodeCoords, section: dict) -> str:
         """

diff --git a/tests/test_merger_mergerconfig.py b/tests/test_merger_mergerconfig.py
index 96aaf93..a40196f 100644
--- a/tests/test_merger_mergerconfig.py
+++ b/tests/test_merger_mergerconfig.py
@@ -20,6 +20,7 @@ from tests.conftest import (
     create_temp_yaml_file
 )
 
+
 class Test_merger_MergerConfig():
     """Tests for the MergerConfig class."""
 
@@ -207,6 +208,83 @@ class Test_merger_MergerConfig():
         assert mc.hash_merge_mode(
             NodeCoords(node, parent, parentref)) == mode
 
+    @pytest.mark.parametrize("ini_rule, override_rule, mode", [
+        ("left", "right", HashMergeOpts.RIGHT),
+        ("right", "deep", HashMergeOpts.DEEP),
+        ("deep", "left", HashMergeOpts.LEFT),
+    ])
+    def test_hash_merge_mode_override_rule_overrides_ini_rule(
+        self, quiet_logger, tmp_path_factory, ini_rule, override_rule, mode
+    ):
+        config_file = create_temp_yaml_file(tmp_path_factory, """
+        [rules]
+        /hash = {}
+        """.format(ini_rule))
+        lhs_yaml_file = create_temp_yaml_file(tmp_path_factory, """---
+        hash:
+          lhs_exclusive: lhs value 1
+          merge_targets:
+            subkey: lhs value 2
+            subarray:
+              - one
+              - two
+        array_of_hashes:
+          - name: LHS Record 1
+            id: 1
+            prop: LHS value AoH 1
+          - name: LHS Record 2
+            id: 2
+            prop: LHS value AoH 2
+        """)
+        lhs_yaml = get_yaml_editor()
+        (lhs_data, lhs_loaded) = get_yaml_data(lhs_yaml, quiet_logger, lhs_yaml_file)
+
+        mc = MergerConfig(quiet_logger, SimpleNamespace(config=config_file), rules={"/hash": override_rule})
+        mc.prepare(lhs_data)
+
+        node = lhs_data["hash"]
+        parent = lhs_data
+        parentref = "hash"
+
+        assert mc.hash_merge_mode(
+            NodeCoords(node, parent, parentref)) == mode
+
+    @pytest.mark.parametrize("arg_rule, override_rule, mode", [
+        ("left", "right", HashMergeOpts.RIGHT),
+        ("right", "deep", HashMergeOpts.DEEP),
+        ("deep", "left", HashMergeOpts.LEFT),
+    ])
+    def test_hash_merge_mode_override_rule_overrides_arg_rule(
+        self, quiet_logger, tmp_path_factory, arg_rule, override_rule, mode
+    ):
+        lhs_yaml_file = create_temp_yaml_file(tmp_path_factory, """---
+        hash:
+          lhs_exclusive: lhs value 1
+          merge_targets:
+            subkey: lhs value 2
+            subarray:
+              - one
+              - two
+        array_of_hashes:
+          - name: LHS Record 1
+            id: 1
+            prop: LHS value AoH 1
+          - name: LHS Record 2
+            id: 2
+            prop: LHS value AoH 2
+        """)
+        lhs_yaml = get_yaml_editor()
+        (lhs_data, lhs_loaded) = get_yaml_data(lhs_yaml, quiet_logger, lhs_yaml_file)
+
+        mc = MergerConfig(quiet_logger, SimpleNamespace(hashes=arg_rule), rules={"/hash": override_rule})
+        mc.prepare(lhs_data)
+
+        node = lhs_data["hash"]
+        parent = lhs_data
+        parentref = "hash"
+
+        assert mc.hash_merge_mode(
+            NodeCoords(node, parent, parentref)) == mode
 
     ###
     # array_merge_mode
@@ -311,6 +389,93 @@ class Test_merger_MergerConfig():
         assert mc.array_merge_mode(
             NodeCoords(node, parent, parentref)) == mode
 
+    @pytest.mark.parametrize("ini_rule, override_rule, mode", [
+        ("left", "right", ArrayMergeOpts.RIGHT),
+        ("right", "unique", ArrayMergeOpts.UNIQUE),
+        ("unique", "all", ArrayMergeOpts.ALL),
+        ("all", "left", ArrayMergeOpts.LEFT),
+    ])
+    def test_array_merge_mode_override_rule_overrides_ini_rule(
+        self, quiet_logger, tmp_path_factory, ini_rule, override_rule, mode
+    ):
+        config_file = create_temp_yaml_file(tmp_path_factory, """
+        [rules]
+        /hash/merge_targets/subarray = {}
+        """.format(ini_rule))
+        lhs_yaml_file = create_temp_yaml_file(tmp_path_factory, """---
+        hash:
+          lhs_exclusive: lhs value 1
+          merge_targets:
+            subkey: lhs value 2
+            subarray:
+              - one
+              - two
+        array_of_hashes:
+          - name: LHS Record 1
+            id: 1
+            prop: LHS value AoH 1
+          - name: LHS Record 2
+            id: 2
+            prop: LHS value AoH 2
+        """)
+        lhs_yaml = get_yaml_editor()
+        (lhs_data, lhs_loaded) = get_yaml_data(lhs_yaml, quiet_logger, lhs_yaml_file)
+
+        mc = MergerConfig(
+            quiet_logger,
+            SimpleNamespace(config=config_file),
+            rules={"/hash/merge_targets/subarray": override_rule}
+        )
+        mc.prepare(lhs_data)
+
+        node = lhs_data["hash"]["merge_targets"]["subarray"]
+        parent = lhs_data["hash"]["merge_targets"]
+        parentref = "subarray"
+
+        assert mc.array_merge_mode(
+            NodeCoords(node, parent, parentref)) == mode
+
+    @pytest.mark.parametrize("arg_rule, override_rule, mode", [
+        ("left", "right", ArrayMergeOpts.RIGHT),
+        ("right", "unique", ArrayMergeOpts.UNIQUE),
+        ("unique", "all", ArrayMergeOpts.ALL),
+        ("all", "left", ArrayMergeOpts.LEFT),
+    ])
+    def test_array_merge_mode_override_rule_overrides_arg_rule(
+        self, quiet_logger, tmp_path_factory, arg_rule, override_rule, mode
+    ):
+        lhs_yaml_file = create_temp_yaml_file(tmp_path_factory, """---
+        hash:
+          lhs_exclusive: lhs value 1
+          merge_targets:
+            subkey: lhs value 2
+            subarray:
+              - one
+              - two
+        array_of_hashes:
+          - name: LHS Record 1
+            id: 1
+            prop: LHS value AoH 1
+          - name: LHS Record 2
+            id: 2
+            prop: LHS value AoH 2
+        """)
+        lhs_yaml = get_yaml_editor()
+        (lhs_data, lhs_loaded) = get_yaml_data(lhs_yaml, quiet_logger, lhs_yaml_file)
+
+        mc = MergerConfig(
+            quiet_logger,
+            SimpleNamespace(arrays=arg_rule),
+            rules={"/hash/merge_targets/subarray": override_rule}
+        )
+        mc.prepare(lhs_data)
+
+        node = lhs_data["hash"]["merge_targets"]["subarray"]
+        parent = lhs_data["hash"]["merge_targets"]
+        parentref = "subarray"
+
+        assert mc.array_merge_mode(
+            NodeCoords(node, parent, parentref)) == mode
 
     ###
     # aoh_merge_mode
@@ -419,6 +584,95 @@ class Test_merger_MergerConfig():
         assert mc.aoh_merge_mode(
             NodeCoords(node, parent, parentref)) == mode
 
+    @pytest.mark.parametrize("ini_rule, override_rule, mode", [
+        ("deep", "left", AoHMergeOpts.LEFT),
+        ("left", "right", AoHMergeOpts.RIGHT),
+        ("right", "unique", AoHMergeOpts.UNIQUE),
+        ("unique", "all", AoHMergeOpts.ALL),
+        ("all", "deep", AoHMergeOpts.DEEP),
+    ])
+    def test_array_merge_mode_override_rule_overrides_ini_rule(
+        self, quiet_logger, tmp_path_factory, ini_rule, override_rule, mode
+    ):
+        config_file = create_temp_yaml_file(tmp_path_factory, """
+        [rules]
+        /array_of_hashes = {}
+        """.format(ini_rule))
+        lhs_yaml_file = create_temp_yaml_file(tmp_path_factory, """---
+        hash:
+          lhs_exclusive: lhs value 1
+          merge_targets:
+            subkey: lhs value 2
+            subarray:
+              - one
+              - two
+        array_of_hashes:
+          - name: LHS Record 1
+            id: 1
+            prop: LHS value AoH 1
+          - name: LHS Record 2
+            id: 2
+            prop: LHS value AoH 2
+        """)
+        lhs_yaml = get_yaml_editor()
+        (lhs_data, lhs_loaded) = get_yaml_data(lhs_yaml, quiet_logger, lhs_yaml_file)
+
+        mc = MergerConfig(
+            quiet_logger,
+            SimpleNamespace(config=config_file),
+            rules={"/array_of_hashes": override_rule}
+        )
+        mc.prepare(lhs_data)
+
+        node = lhs_data["array_of_hashes"]
+        parent = lhs_data
+        parentref = "array_of_hashes"
+
+        assert mc.aoh_merge_mode(
+            NodeCoords(node, parent, parentref)) == mode
+
+    @pytest.mark.parametrize("arg_rule, override_rule, mode", [
+        ("deep", "left", AoHMergeOpts.LEFT),
+        ("left", "right", AoHMergeOpts.RIGHT),
+        ("right", "unique", AoHMergeOpts.UNIQUE),
+        ("unique", "all", AoHMergeOpts.ALL),
+        ("all", "deep", AoHMergeOpts.DEEP),
+    ])
+    def test_array_merge_mode_override_rule_overrides_arg_rule(
+        self, quiet_logger, tmp_path_factory, arg_rule, override_rule, mode
+    ):
+        lhs_yaml_file = create_temp_yaml_file(tmp_path_factory, """---
+        hash:
+          lhs_exclusive: lhs value 1
+          merge_targets:
+            subkey: lhs value 2
+            subarray:
+              - one
+              - two
+        array_of_hashes:
+          - name: LHS Record 1
+            id: 1
+            prop: LHS value AoH 1
+          - name: LHS Record 2
+            id: 2
+            prop: LHS value AoH 2
+        """)
+        lhs_yaml = get_yaml_editor()
+        (lhs_data, lhs_loaded) = get_yaml_data(lhs_yaml, quiet_logger, lhs_yaml_file)
+
+        mc = MergerConfig(
+            quiet_logger,
+            SimpleNamespace(aoh=arg_rule),
+            rules={"/array_of_hashes": override_rule}
+        )
+        mc.prepare(lhs_data)
+
+        node = lhs_data["array_of_hashes"]
+        parent = lhs_data
+        parentref = "array_of_hashes"
+
+        assert mc.aoh_merge_mode(
+            NodeCoords(node, parent, parentref)) == mode
 
     ###
     # aoh_merge_key
@@ -526,6 +780,40 @@ class Test_merger_MergerConfig():
         assert mc.aoh_merge_key(
             NodeCoords(node, parent, parentref), record) == "prop"
 
+    def test_aoh_merge_key_override_rule_overrides_ini(self, quiet_logger, tmp_path_factory):
+        config_file = create_temp_yaml_file(tmp_path_factory, """
+        [keys]
+        /array_of_hashes = name
+        """)
+        lhs_yaml_file = create_temp_yaml_file(tmp_path_factory, """---
+        hash:
+          lhs_exclusive: lhs value 1
+          merge_targets:
+            subkey: lhs value 2
+            subarray:
+              - one
+              - two
+        array_of_hashes:
+          - name: LHS Record 1
+            id: 1
+            prop: LHS value AoH 1
+          - name: LHS Record 2
+            id: 2
+            prop: LHS value AoH 2
+        """)
+        lhs_yaml = get_yaml_editor()
+        (lhs_data, lhs_loaded) = get_yaml_data(lhs_yaml, quiet_logger, lhs_yaml_file)
+
+        mc = MergerConfig(quiet_logger, SimpleNamespace(config=config_file), keys={"/array_of_hashes": "id"})
+        mc.prepare(lhs_data)
+
+        node = lhs_data["array_of_hashes"]
+        parent = lhs_data
+        parentref = "array_of_hashes"
+        record = node[0]
+
+        assert mc.aoh_merge_key(
+            NodeCoords(node, parent, parentref), record) == "id"
 
     ###
     # set_merge_mode

Difficulty using MergerConfig
Hey, first off, thanks for the awesome library. This project solves a huge recurring problem for me when trying to parse config files. I plan to use this in a lot of projects moving forward.

From my experience, it seems like this project is CLI-first rather than API-first. This makes the library a huge pain to integrate into other projects. For example, I'm trying to make a CLI program that merges some YAML files, overwriting only specific nodes. It seems like the only way to specify these exceptions using this project is to write out a config file with a list of rules (which in my case changes on every run). This adds unnecessary complexity as I should be able to just pass these options to the `MergerConfig` class directly.

Additionally, the YAML path rules I'm writing into the config include the `:` character, which `ConfigParse` likes to convert to `=`. Then the code in `MergerConfig` assumes that the `=` symbol is part of the value, not the key. I've solve this problem by using the following nasty hack:
```python
        old_init = configparser.ConfigParser.__init__

        def new_init(self):
            old_init(self, delimiters="=")

        configparser.ConfigParser.__init__ = new_init
```

Both of these problems can be solved by allowing rules, defaults, and key to be specified in the class constructor, and only loading from a config file in the event these values are absent.
tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_override_rule_overrides_ini_rule[left-right-HashMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_override_rule_overrides_ini_rule[right-deep-HashMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_override_rule_overrides_ini_rule[deep-left-HashMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_override_rule_overrides_arg_rule[left-right-HashMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_override_rule_overrides_arg_rule[right-deep-HashMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_override_rule_overrides_arg_rule[deep-left-HashMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_override_rule_overrides_ini_rule[deep-left-AoHMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_override_rule_overrides_ini_rule[left-right-AoHMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_override_rule_overrides_ini_rule[right-unique-AoHMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_override_rule_overrides_ini_rule[unique-all-AoHMergeOpts.ALL] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_override_rule_overrides_ini_rule[all-deep-AoHMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_override_rule_overrides_arg_rule[deep-left-AoHMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_override_rule_overrides_arg_rule[left-right-AoHMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_override_rule_overrides_arg_rule[right-unique-AoHMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_override_rule_overrides_arg_rule[unique-all-AoHMergeOpts.ALL] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_override_rule_overrides_arg_rule[all-deep-AoHMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_key_override_rule_overrides_ini
tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_get_insertion_point_default tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_get_insertion_point_cli tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_get_document_format tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_get_multidoc_mode_default tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_get_multidoc_mode_cli tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_default tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_cli[left-AnchorConflictResolutions.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_cli[rename-AnchorConflictResolutions.RENAME] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_cli[right-AnchorConflictResolutions.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_cli[stop-AnchorConflictResolutions.STOP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_ini[left-AnchorConflictResolutions.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_ini[rename-AnchorConflictResolutions.RENAME] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_ini[right-AnchorConflictResolutions.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_ini[stop-AnchorConflictResolutions.STOP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_cli_overrides_ini[left-stop-AnchorConflictResolutions.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_cli_overrides_ini[rename-stop-AnchorConflictResolutions.RENAME] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_cli_overrides_ini[right-stop-AnchorConflictResolutions.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_anchor_merge_mode_cli_overrides_ini[stop-rename-AnchorConflictResolutions.STOP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_default tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_cli[deep-HashMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_cli[left-HashMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_cli[right-HashMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_ini[deep-HashMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_ini[left-HashMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_ini[right-HashMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_cli_overrides_ini_defaults[deep-left-HashMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_cli_overrides_ini_defaults[left-right-HashMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_cli_overrides_ini_defaults[right-deep-HashMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_ini_rule_overrides_cli[deep-left-right-HashMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_ini_rule_overrides_cli[left-right-deep-HashMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_hash_merge_mode_ini_rule_overrides_cli[right-deep-left-HashMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_default tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_cli[all-ArrayMergeOpts.ALL] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_cli[left-ArrayMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_cli[right-ArrayMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_cli[unique-ArrayMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_ini[all-ArrayMergeOpts.ALL] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_ini[left-ArrayMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_ini[right-ArrayMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_ini[unique-ArrayMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_cli_overrides_ini_defaults[all-left-ArrayMergeOpts.ALL] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_cli_overrides_ini_defaults[left-right-ArrayMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_cli_overrides_ini_defaults[right-unique-ArrayMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_cli_overrides_ini_defaults[unique-all-ArrayMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_ini_rule_overrides_cli[all-left-right-ArrayMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_ini_rule_overrides_cli[left-right-unique-ArrayMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_ini_rule_overrides_cli[right-unique-all-ArrayMergeOpts.ALL] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_array_merge_mode_ini_rule_overrides_cli[unique-all-left-ArrayMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_default tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_cli[all-AoHMergeOpts.ALL] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_cli[deep-AoHMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_cli[left-AoHMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_cli[right-AoHMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_cli[unique-AoHMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_ini[all-AoHMergeOpts.ALL] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_ini[deep-AoHMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_ini[left-AoHMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_ini[right-AoHMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_ini[unique-AoHMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_cli_overrides_ini_defaults[all-deep-AoHMergeOpts.ALL] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_cli_overrides_ini_defaults[deep-left-AoHMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_cli_overrides_ini_defaults[left-right-AoHMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_cli_overrides_ini_defaults[right-unique-AoHMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_cli_overrides_ini_defaults[unique-all-AoHMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_ini_rule_overrides_cli[all-deep-left-AoHMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_ini_rule_overrides_cli[deep-left-right-AoHMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_ini_rule_overrides_cli[left-right-unique-AoHMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_ini_rule_overrides_cli[right-unique-all-AoHMergeOpts.ALL] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_mode_ini_rule_overrides_cli[unique-all-deep-AoHMergeOpts.DEEP] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_key_default tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_key_ini tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_aoh_merge_key_ini_inferred_parent tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_default tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_cli[left-SetMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_cli[right-SetMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_cli[unique-SetMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_ini[left-SetMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_ini[right-SetMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_ini[unique-SetMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_cli_overrides_ini_defaults[left-right-SetMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_cli_overrides_ini_defaults[right-unique-SetMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_cli_overrides_ini_defaults[unique-all-SetMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_ini_rule_overrides_cli[left-right-unique-SetMergeOpts.UNIQUE] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_ini_rule_overrides_cli[right-unique-left-SetMergeOpts.LEFT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_set_merge_mode_ini_rule_overrides_cli[unique-left-right-SetMergeOpts.RIGHT] tests/test_merger_mergerconfig.py::Test_merger_MergerConfig::test_warn_when_rules_matches_zero_nodes