public void RegisterShouldSerialize_AddTAddTParentBothExist()
        {
            var xamlService = new XamlService();

            xamlService.RegisterShouldSerialize((int a) => true);
            xamlService.RegisterShouldSerialize((int a, string text) => false);

            #region Before

            Assert.True(xamlService.ShouldSerializeSettings.Count == 1);
            Assert.True(xamlService.ShouldSerializeSettings.TryGetValue(typeof(int), out var val));
            Assert.True(val.ShouldSerialize(2));
            Assert.True(val.ParentTypes.Count == 1);
            Assert.True(!val.ParentTypes[typeof(string)](2, "test"));

            #endregion Before

            xamlService.RegisterShouldSerialize((int a, string text) => false);
            xamlService.RegisterShouldSerialize((int a) => true);

            #region After

            Assert.True(xamlService.ShouldSerializeSettings.Count == 1);
            Assert.True(xamlService.ShouldSerializeSettings.TryGetValue(typeof(int), out val));
            Assert.True(val.ShouldSerialize(2));
            Assert.True(val.ParentTypes.Count == 1);
            Assert.True(!val.ParentTypes[typeof(string)](2, "test"));

            #endregion After
        }
        public void RegisterShouldSerialize_OnlyTWithoutOverwrite()
        {
            var xamlService = new XamlService();

            xamlService.RegisterShouldSerialize((int a) => true);

            #region Before

            Assert.True(xamlService.ShouldSerializeSettings.Count == 1);
            Assert.True(xamlService.ShouldSerializeSettings.ContainsKey(typeof(int)));
            Assert.True(xamlService.ShouldSerializeSettings[typeof(int)].ShouldSerialize(2));

            #endregion Before

            xamlService.RegisterShouldSerialize((long a) => false);

            #region After

            Assert.True(xamlService.ShouldSerializeSettings.Count == 2);
            Assert.True(xamlService.ShouldSerializeSettings.ContainsKey(typeof(int)));
            Assert.True(xamlService.ShouldSerializeSettings.ContainsKey(typeof(long)));
            Assert.True(xamlService.ShouldSerializeSettings[typeof(int)].ShouldSerialize(2));
            Assert.True(!xamlService.ShouldSerializeSettings[typeof(long)].ShouldSerialize((long)2));

            #endregion After
        }