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 }
public void RegisterUrl_NothingFound() { var xamlService = new XamlService(); xamlService.RegisterUrl("test0", "http://zero", false, "test.zero", "test.0"); xamlService.RegisterUrl("test1", "http://one", false, "test.one", "test.1"); #region TestBefore Assert.True(xamlService.XmlnsDeclarations.Count == 2); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test0")); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test1")); var element0 = xamlService.XmlnsDeclarations.FirstOrDefault(o => o.Value.Declaration == "http://zero" && o.Value.Prefix == "test0" && o.Value.IsUrlDefinition).Value; Assert.True(element0 != null); Assert.True(element0.Namespaces.Count == 2); Assert.Contains("test.zero", element0.Namespaces); Assert.Contains("test.0", element0.Namespaces); var element1 = xamlService.XmlnsDeclarations.FirstOrDefault(o => o.Value.Declaration == "http://one" && o.Value.Prefix == "test1" && o.Value.IsUrlDefinition).Value; Assert.True(element1 != null); Assert.True(element1.Namespaces.Count == 2); Assert.Contains("test.one", element1.Namespaces); Assert.Contains("test.1", element1.Namespaces); #endregion TestBefore xamlService.RegisterUrl("test2", "http://two", false, "test.two", "test.2"); #region TestAfter Assert.True(xamlService.XmlnsDeclarations.Count == 3); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test0")); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test1")); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test2")); element0 = xamlService.XmlnsDeclarations.FirstOrDefault(o => o.Value.Declaration == "http://zero" && o.Value.Prefix == "test0" && o.Value.IsUrlDefinition).Value; Assert.True(element0 != null); Assert.True(element0.Namespaces.Count == 2); Assert.Contains("test.zero", element0.Namespaces); Assert.Contains("test.0", element0.Namespaces); element1 = xamlService.XmlnsDeclarations.FirstOrDefault(o => o.Value.Declaration == "http://one" && o.Value.Prefix == "test1" && o.Value.IsUrlDefinition).Value; Assert.True(element1 != null); Assert.True(element1.Namespaces.Count == 2); Assert.Contains("test.one", element1.Namespaces); Assert.Contains("test.1", element1.Namespaces); var element2 = xamlService.XmlnsDeclarations.FirstOrDefault(o => o.Value.Declaration == "http://two" && o.Value.Prefix == "test2" && o.Value.IsUrlDefinition).Value; Assert.True(element2 != null); Assert.True(element2.Namespaces.Count == 2); Assert.Contains("test.two", element2.Namespaces); Assert.Contains("test.2", element2.Namespaces); #endregion TestAfter }
public void RegisterUrlAndNamespace_UrlWithPrefixFromNsWithOverwrite() { var xamlService = new XamlService(); xamlService.RegisterUrl("test0", "http://zero", true, "test.zero", "test.0"); xamlService.RegisterNamespace("test1", "test.one", true); #region TestBefore Assert.True(xamlService.XmlnsDeclarations.Count == 2); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test0")); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test1")); var element0 = xamlService.XmlnsDeclarations.FirstOrDefault(o => o.Value.Declaration == "http://zero" && o.Value.Prefix == "test0" && o.Value.IsUrlDefinition).Value; Assert.True(element0 != null); Assert.True(element0.Namespaces.Count == 2); Assert.Contains("test.zero", element0.Namespaces); Assert.Contains("test.0", element0.Namespaces); var element1 = xamlService.XmlnsDeclarations.FirstOrDefault(o => o.Value.Declaration == "test.one" && o.Value.Prefix == "test1" && !o.Value.IsUrlDefinition).Value; Assert.True(element1 != null); Assert.True(element1.Namespaces.Count == 1); #endregion TestBefore xamlService.RegisterUrl("test1", "http://one", true, "test.one", "test.1"); #region TestAfter Assert.True(xamlService.XmlnsDeclarations.Count == 2); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test0")); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test1")); element0 = xamlService.XmlnsDeclarations.FirstOrDefault(o => o.Value.Declaration == "http://zero" && o.Value.Prefix == "test0" && o.Value.IsUrlDefinition).Value; Assert.True(element0 != null); Assert.True(element0.Namespaces.Count == 2); Assert.Contains("test.zero", element0.Namespaces); Assert.Contains("test.0", element0.Namespaces); element1 = xamlService.XmlnsDeclarations.FirstOrDefault(o => o.Value.Declaration == "http://one" && o.Value.Prefix == "test1" && o.Value.IsUrlDefinition).Value; Assert.True(element1 != null); Assert.True(element1.Namespaces.Count == 2); Assert.Contains("test.one", element1.Namespaces); Assert.Contains("test.1", element1.Namespaces); #endregion TestAfter }
public void RegisterNamespace_OnlyNamespaceWithoutOverwrite() { var xamlService = new XamlService(); xamlService.RegisterNamespace("test0", "test.zero"); xamlService.RegisterNamespace("test1", "test.one"); Assert.True(xamlService.XmlnsDeclarations.Count == 2); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test0")); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test1")); Assert.Contains(xamlService.XmlnsDeclarations, o => o.Value.Declaration == "test.zero" && o.Value.Prefix == "test0" && !o.Value.IsUrlDefinition); Assert.Contains(xamlService.XmlnsDeclarations, o => o.Value.Declaration == "test.one" && o.Value.Prefix == "test1" && !o.Value.IsUrlDefinition); xamlService.RegisterNamespace("test2", "test.one", false); Assert.True(xamlService.XmlnsDeclarations.Count == 2); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test0")); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test1")); Assert.Contains(xamlService.XmlnsDeclarations, o => o.Value.Declaration == "test.zero" && o.Value.Prefix == "test0" && !o.Value.IsUrlDefinition); Assert.Contains(xamlService.XmlnsDeclarations, o => o.Value.Declaration == "test.one" && o.Value.Prefix == "test1" && !o.Value.IsUrlDefinition); }
public void RegisterNamespace_NothingFound() { var xamlService = new XamlService(); xamlService.RegisterNamespace("test0", "test.zero"); xamlService.RegisterNamespace("test1", "test.one"); Assert.True(xamlService.XmlnsDeclarations.Count == 2); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test0")); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test1")); Assert.Contains(xamlService.XmlnsDeclarations, o => o.Value.Declaration == "test.zero" && o.Value.Prefix == "test0" && !o.Value.IsUrlDefinition); Assert.Contains(xamlService.XmlnsDeclarations, o => o.Value.Declaration == "test.one" && o.Value.Prefix == "test1" && !o.Value.IsUrlDefinition); xamlService.RegisterNamespace("test2", "test.two", true); Assert.True(xamlService.XmlnsDeclarations.Count == 3); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test0")); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test1")); Assert.True(xamlService.XmlnsDeclarations.ContainsKey("test2")); Assert.Contains(xamlService.XmlnsDeclarations, o => o.Value.Declaration == "test.zero" && o.Value.Prefix == "test0" && !o.Value.IsUrlDefinition); Assert.Contains(xamlService.XmlnsDeclarations, o => o.Value.Declaration == "test.one" && o.Value.Prefix == "test1" && !o.Value.IsUrlDefinition); Assert.Contains(xamlService.XmlnsDeclarations, o => o.Value.Declaration == "test.two" && o.Value.Prefix == "test2" && !o.Value.IsUrlDefinition); }