public void Ctor_NullValueInCategories_ThrowsArgumentNullException()
        {
            var categories = new CategoriesDocument[] { null };

            AssertExtensions.Throws <ArgumentNullException>("item", () => new ResourceCollectionInfo(new TextSyndicationContent("title"), new Uri("http://microsoft.com"), categories, true));
            AssertExtensions.Throws <ArgumentNullException>("item", () => new ResourceCollectionInfo(new TextSyndicationContent("title"), new Uri("http://microsoft.com"), categories, new string[0]));
        }
        public void Create_NullValueInCategories_ThrowsArgumentNullException()
        {
            var categories = new Collection <SyndicationCategory> {
                null
            };

            AssertExtensions.Throws <ArgumentNullException>("item", () => CategoriesDocument.Create(categories));
            AssertExtensions.Throws <ArgumentNullException>("item", () => CategoriesDocument.Create(categories, true, "scheme"));
        }
        public void Create_LinkToCategoriesDocument_ReturnsExpected(Uri linkToCategoriesDocument)
        {
            ReferencedCategoriesDocument document = CategoriesDocument.Create(linkToCategoriesDocument);

            Assert.Empty(document.AttributeExtensions);
            Assert.Null(document.BaseUri);
            Assert.Empty(document.ElementExtensions);
            Assert.Null(document.Language);
            Assert.Equal(linkToCategoriesDocument, document.Link);
        }
        public void WriteTo_HasDocument_SerializesExpected(CategoriesDocument document, string expected)
        {
            var formatter = new AtomPub10CategoriesDocumentFormatter(document);

            CompareHelper.AssertEqualWriteOutput(expected, writer => formatter.WriteTo(writer));
            CompareHelper.AssertEqualWriteOutput(expected, writer => document.Save(writer));
            CompareHelper.AssertEqualWriteOutput(expected, writer =>
            {
                writer.WriteStartElement("app", "categories", "http://www.w3.org/2007/app");
                ((IXmlSerializable)formatter).WriteXml(writer);
                writer.WriteEndElement();
            });
        }
        public void Create_CategoriesAdvanced_ReturnsExpected(IList <SyndicationCategory> categories, bool isFixed, string scheme)
        {
            Collection <SyndicationCategory> categoriesCollection = categories == null ? null : new Collection <SyndicationCategory>(categories);
            InlineCategoriesDocument         document             = CategoriesDocument.Create(categoriesCollection, isFixed, scheme);

            Assert.Empty(document.AttributeExtensions);
            Assert.Null(document.BaseUri);
            Assert.Equal(categoriesCollection?.Count ?? 0, document.Categories.Count);
            Assert.Empty(document.ElementExtensions);
            Assert.Equal(isFixed, document.IsFixed);
            Assert.Null(document.Language);
            Assert.Equal(scheme, document.Scheme);
        }
 public void SetDocumentEntryPoint(CategoriesDocument document) => SetDocument(document);
 public Formatter(CategoriesDocument documentToWrite) : base(documentToWrite)
 {
 }
        private static void VerifyRead <T>(string xmlString, Action <T> verifyAction) where T : CategoriesDocument
        {
            // ReadFrom.
            using (var stringReader = new StringReader(xmlString))
                using (XmlReader reader = XmlReader.Create(stringReader))
                {
                    var formatter = new AtomPub10CategoriesDocumentFormatter();
                    formatter.ReadFrom(reader);

                    T document = Assert.IsType <T>(formatter.Document);
                    verifyAction(document);
                }

            // ReadFrom with custom subclass.
            using (var stringReader = new StringReader(xmlString))
                using (XmlReader reader = XmlReader.Create(stringReader))
                {
                    var formatter = new AtomPub10CategoriesDocumentFormatter(typeof(InlineCategoriesDocumentSubclass), typeof(ReferencedCategoriesDocumentSubclass));
                    formatter.ReadFrom(reader);

                    if (typeof(T) == typeof(InlineCategoriesDocument))
                    {
                        InlineCategoriesDocumentSubclass document = Assert.IsType <InlineCategoriesDocumentSubclass>(formatter.Document);
                        verifyAction(document as T);
                    }
                    else
                    {
                        ReferencedCategoriesDocumentSubclass document = Assert.IsType <ReferencedCategoriesDocumentSubclass>(formatter.Document);
                        verifyAction(document as T);
                    }
                }

            // ReadXml.
            using (var stringReader = new StringReader(xmlString))
                using (XmlReader reader = XmlReader.Create(stringReader))
                {
                    reader.MoveToContent();

                    var formatter = new AtomPub10CategoriesDocumentFormatter();
                    ((IXmlSerializable)formatter).ReadXml(reader);

                    T document = Assert.IsType <T>(formatter.Document);
                    verifyAction(document);
                }

            // ReadXml with custom subclass.
            using (var stringReader = new StringReader(xmlString))
                using (XmlReader reader = XmlReader.Create(stringReader))
                {
                    reader.MoveToContent();

                    var formatter = new AtomPub10CategoriesDocumentFormatter(typeof(InlineCategoriesDocumentSubclass), typeof(ReferencedCategoriesDocumentSubclass));
                    ((IXmlSerializable)formatter).ReadXml(reader);

                    if (typeof(T) == typeof(InlineCategoriesDocument))
                    {
                        InlineCategoriesDocumentSubclass document = Assert.IsType <InlineCategoriesDocumentSubclass>(formatter.Document);
                        verifyAction(document as T);
                    }
                    else
                    {
                        ReferencedCategoriesDocumentSubclass document = Assert.IsType <ReferencedCategoriesDocumentSubclass>(formatter.Document);
                        verifyAction(document as T);
                    }
                }

            // Load.
            using (var stringReader = new StringReader(xmlString))
                using (XmlReader reader = XmlReader.Create(stringReader))
                {
                    T document = Assert.IsType <T>(CategoriesDocument.Load(reader));
                    verifyAction(document);
                }
        }
 public void Create_NullLinkToCategoriesDocument_ThrowsArgumentNullException()
 {
     AssertExtensions.Throws <ArgumentNullException>("link", () => CategoriesDocument.Create((Uri)null));
 }
Пример #10
0
 public static void WriteElementExtensionsEntryPoint(XmlWriter writer, CategoriesDocument categories, string version)
 {
     WriteElementExtensions(writer, categories, version);
 }
Пример #11
0
 public static bool TryParseElementEntryPoint(XmlReader reader, CategoriesDocument categories, string version)
 {
     return(TryParseElement(reader, categories, version));
 }
Пример #12
0
 public static bool TryParseAttributeEntryPoint(string name, string ns, string value, CategoriesDocument categories, string version)
 {
     return(TryParseAttribute(name, ns, value, categories, version));
 }
Пример #13
0
 public static void LoadElementExtensionsEntryPoint(XmlReader reader, CategoriesDocument categories, int maxExtensionSize) => LoadElementExtensions(reader, categories, maxExtensionSize);
        public static IEnumerable <object[]> Ctor_TextSyndicationContent_Uri_Categories_Bool_TestData()
        {
            yield return(new object[] { new TextSyndicationContent(""), new Uri("http://microsoft.com"), null, true });

            yield return(new object[] { new TextSyndicationContent(""), new Uri("http://microsoft.com"), null, false });

            yield return(new object[] { new TextSyndicationContent("title", TextSyndicationContentKind.Html), new Uri("/relative", UriKind.Relative), new CategoriesDocument[0], true });

            yield return(new object[] { new TextSyndicationContent("title", TextSyndicationContentKind.Html), new Uri("/relative", UriKind.Relative), new CategoriesDocument[0], false });

            yield return(new object[] { new TextSyndicationContent("title", TextSyndicationContentKind.Html), new Uri("/relative", UriKind.Relative), new CategoriesDocument[] { CategoriesDocument.Create(new Uri("http://microsoft.com")) }, true });

            yield return(new object[] { new TextSyndicationContent("title", TextSyndicationContentKind.Html), new Uri("/relative", UriKind.Relative), new CategoriesDocument[] { CategoriesDocument.Create(new Uri("http://microsoft.com")) }, false });
        }
        public static IEnumerable <object[]> Ctor_TextSyndicationContent_Uri_Categories_Accepts_TestData()
        {
            yield return(new object[] { new TextSyndicationContent(""), new Uri("http://microsoft.com"), null, null });

            yield return(new object[] { new TextSyndicationContent("title", TextSyndicationContentKind.Html), new Uri("/relative", UriKind.Relative), new CategoriesDocument[0], new string[0] });

            yield return(new object[] { new TextSyndicationContent("title", TextSyndicationContentKind.Html), new Uri("/relative", UriKind.Relative), new CategoriesDocument[] { CategoriesDocument.Create(new Uri("http://microsoft.com")) }, new string[] { "accepts" } });
        }