public void TestFluentApiSerialization(bool useDom, bool enablePatterns, bool ignoreDisplacements)
        {
            ICheckSettings     settings           = Target.Window().Fully().UseDom(useDom).EnablePatterns(enablePatterns).IgnoreDisplacements(ignoreDisplacements);
            EyesBase           eyes               = new TestEyes();
            EyesScreenshot     screenshot         = new TestEyesScreenshot();
            ImageMatchSettings imageMatchSettings = MatchWindowTask.CreateImageMatchSettings((ICheckSettingsInternal)settings, eyes, screenshot);

            string json         = JsonConvert.SerializeObject(imageMatchSettings, Formatting.Indented);
            string expectedJson = CommonUtils.ReadResourceFile($"Test.Eyes.Sdk.Core.DotNet.Resources.SessionStartInfo_FluentApiSerialization_{useDom}_{enablePatterns}_{ignoreDisplacements}.json");

            Assert.AreEqual(expectedJson, json);
        }
        public void TestImageMatchSettingsSerialization(bool useDom, bool enablePatterns, bool ignoreDisplacements)
        {
            ICheckSettings settings = Target.Window().Fully().UseDom(useDom).EnablePatterns(enablePatterns).IgnoreDisplacements(ignoreDisplacements);
            EyesBase       eyes     = new TestEyes();

            eyes.DefaultMatchSettings = new ImageMatchSettings(MatchLevel.Exact, new ExactMatchSettings()
            {
                MatchThreshold = 0.5
            });
            ImageMatchSettings imageMatchSettings = MatchWindowTask.CreateImageMatchSettings(settings as ICheckSettingsInternal, eyes);

            string json         = JsonConvert.SerializeObject(imageMatchSettings, Formatting.Indented);
            string expectedJson = CommonUtils.ReadResourceFile($"Test.Eyes.Sdk.Core.DotNet.Resources.SessionStartInfo_FluentApiSerialization_NonDefaultIMS_{useDom}_{enablePatterns}_{ignoreDisplacements}.json");

            Assert.AreEqual(expectedJson, json);
        }