public void CanRead_DetailCollection(IEnumerable values) { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); DetailCollection dc = item.GetDetailCollection("Details", true); foreach (object detail in values) { dc.Add(detail); } ContentItem readItem = Mangle(item); DetailCollection readCollection = readItem.GetDetailCollection("Details", false); Assert.IsNotNull(readCollection); foreach (object detail in values) { if (detail is string) { EnumerableAssert.Contains(readCollection, HttpUtility.HtmlEncode((string)detail)); } else { EnumerableAssert.Contains(readCollection, detail); } } }
public void CanReReadProperties() { XmlableItem parent = CreateOneItem <XmlableItem>(1, "parent", null); XmlableItem item = CreateOneItem <XmlableItem>(2, "two", parent); item.Title = "xml item"; item.ZoneName = "danger"; item.Created = new DateTime(2000, 1, 1); item.Updated = new DateTime(2001, 1, 1); item.Published = new DateTime(2002, 1, 1); item.Expires = new DateTime(2003, 1, 1); item.SortOrder = 2; item.Visible = false; item.SavedBy = "cristian"; ContentItem readItem = Mangle(item); Assert.IsNull(readItem.Parent); Assert.AreEqual("xml item", readItem.Title); Assert.AreEqual("danger", readItem.ZoneName); Assert.AreEqual(new DateTime(2000, 1, 1), readItem.Created); Assert.AreEqual(new DateTime(2001, 1, 1), readItem.Updated); Assert.AreEqual(new DateTime(2002, 1, 1), readItem.Published); Assert.AreEqual(new DateTime(2003, 1, 1), readItem.Expires); Assert.AreEqual(2, readItem.SortOrder); Assert.IsFalse(readItem.Visible); Assert.AreEqual("cristian", readItem.SavedBy); }
public void WriteItem_WithMultipleAttributes() { XmlableItem parent = CreateOneItem <XmlableItem>(1, "parent", null); XmlableItem item = CreateOneItem <XmlableItem>(2, "two", parent); item.Title = "xml item"; item.ZoneName = "danger"; item.Created = new DateTime(2000, 1, 1); item.Updated = new DateTime(2000, 1, 1); item.Published = new DateTime(2000, 1, 1); item.Expires = new DateTime(2000, 1, 1); item.SortOrder = 2; item.Visible = false; item.SavedBy = "cristian"; XPathNavigator xpn = WriteToStreamAndNavigate(item); string theMillenium = new DateTime(2000, 1, 1).ToUniversalTime().ToString(System.Globalization.CultureInfo.InvariantCulture); Assert.AreEqual(1, xpn.Select("//item[@id='2']").Count); Assert.AreEqual(1, xpn.Select("//item[@parent='1']").Count); Assert.AreEqual(1, xpn.Select("//item[@name='two']").Count); Assert.AreEqual(1, xpn.Select("//item[@title='xml item']").Count); Assert.AreEqual(1, xpn.Select("//item[@zoneName='danger']").Count); Assert.AreEqual(1, xpn.Select("//item[@created='" + theMillenium + "']").Count); Assert.AreEqual(1, xpn.Select("//item[@updated='" + theMillenium + "']").Count); Assert.AreEqual(1, xpn.Select("//item[@published='" + theMillenium + "']").Count); Assert.AreEqual(1, xpn.Select("//item[@expires='" + theMillenium + "']").Count); Assert.AreEqual(1, xpn.Select("//item[@sortOrder='2']").Count); Assert.AreEqual(1, xpn.Select("//item[@visible='False']").Count); Assert.AreEqual(1, xpn.Select("//item[@savedBy='cristian']").Count); Assert.AreEqual(1, xpn.Select("//item[@typeName='" + string.Format("{0},{1}", typeof(XmlableItem).AssemblyQualifiedName.Split(',')) + "']").Count); Assert.AreEqual(1, xpn.Select("//item[@discriminator='" + typeof(XmlableItem).Name + "']").Count); }
public void CanExport_SimpleItem_WithFileAttachment() { XmlableItem destination = new XmlableItem(); XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item.TextFile = "/Serialization/TestFile.txt"; string xml = ExportToString(item, CreateExporter(), ExportOptions.Default); string path = AppDomain.CurrentDomain.BaseDirectory + @"\Serialization\TestFile.txt"; File.Delete(path); IImportRecord record = ImportFromString(xml, CreateImporter()); XmlableItem readItem = (XmlableItem)record.RootItem; Assert.AreEqual(item.ID, readItem.ID); Assert.That(!File.Exists(path)); CreateImporter().Import(record, destination, ImportOption.All); Assert.AreEqual(0, readItem.ID); Assert.AreEqual(item.Title, readItem.Title); Assert.AreEqual(item.Name, readItem.Name); Assert.AreEqual("/Serialization/TestFile.txt", readItem.TextFile); Assert.That(File.Exists(path)); Assert.AreEqual("Just a little file.", File.ReadAllText(path)); }
public void CanRead_WithCollectionOfLinks() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); CreateOneItem <XmlableItem>(2, "child1", item); CreateOneItem <XmlableItem>(3, "child2", item); CreateOneItem <XmlableItem>(4, "child3", item); CreateOneItem <XmlableItem>(5, "child4", item); CreateOneItem <XmlableItem>(6, "child5", item); foreach (ContentItem child in item.Children) { DetailCollection dc = child.GetDetailCollection("Siblings", true); foreach (ContentItem sibling in item.Children) { if (sibling != child) { dc.Add(sibling); } } } ContentItem readItem = Mangle(item); foreach (ContentItem child in readItem.Children) { Assert.IsNotNull(child.GetDetailCollection("Siblings", false)); Assert.AreEqual(4, child.GetDetailCollection("Siblings", false).Count); } }
public void ExportedImportedItem_MaintainsSameType() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); ContentItem readItem = ExportAndImport(item, ExportOptions.Default); Assert.That(readItem, Is.TypeOf(typeof(XmlableItem))); }
public void WriteSingleItem() { XmlableItem item = CreateOneItem <XmlableItem>(1, "one", null); Console.WriteLine(WriteToStreamAndReturn(item)); //Assert.AreEqual(1, xpn.Select("//item[@id='1']").Count); //Assert.AreEqual(1, xpn.Select("//item[@name='one']").Count); }
public void WriteSingleItem() { XmlableItem item = CreateOneItem <XmlableItem>(1, "one", null); XPathNavigator xpn = WriteToStreamAndNavigate(item); Assert.AreEqual(1, xpn.Select("//item[@id='1']").Count); Assert.AreEqual(1, xpn.Select("//item[@name='one']").Count); }
public void CanRead_ItemWithUnicodeStringDetail(string text) { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item["MysticText"] = text; ContentItem readItem = Mangle(item); Assert.AreEqual(text, readItem["MysticText"]); }
public void CanRead_ItemWithStringDetail() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item["Greeting"] = "Hello World!"; ContentItem readItem = Mangle(item); Assert.AreEqual("Hello World!", readItem["Greeting"]); }
public void CanRead_ItemWithBooleanDetail() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item["Nasty"] = true; ContentItem readItem = Mangle(item); Assert.IsTrue((bool)readItem["Nasty"]); }
public void ExportedImportedItem_CanContain_XDocumentProperties_CastingToString() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item.Xml = XDocument.Parse("<root>hello</root>"); XmlableItem readItem = ExportAndImport(item, ExportOptions.Default); Assert.That(readItem.Xml.ToString(), Is.EqualTo("<root>hello</root>")); }
public void ExportedImportedItem_KeepsBasicAttributes() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); ContentItem readItem = ExportAndImport(item, ExportOptions.Default); Assert.AreEqual(item.ID, readItem.ID); Assert.AreEqual(item.Title, readItem.Title); Assert.AreEqual(item.Name, readItem.Name); }
public void CanDeserializeAttachment() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item.ImageUrl = "/my/special/image.jpg"; ContentItem readItem = Mangle(item); Assert.IsTrue((bool)readItem["wasRead"]); }
public void ExportedImportedItem_KeepsState() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item.State = ContentState.Deleted; ContentItem readItem = ExportAndImport(item, ExportOptions.Default); Assert.AreEqual(item.State, readItem.State); }
public void CanRead_ItemWithDoubleDetail() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item["Temperature"] = 22.4; ContentItem readItem = Mangle(item); Assert.AreEqual(22.4, (double)readItem["Temperature"]); }
public void WriteItem_WithNoAuthorizedRoles() { XmlableItem item = CreateOneItem <XmlableItem>(1, "one", null); XPathNavigator xpn = WriteToStreamAndNavigate(item); XPathNodeIterator nodes = xpn.Select("//item/authorized/role"); Assert.AreEqual(0, nodes.Count); }
public void CanRead_ItemWithIntegerDetail() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item["Score"] = 4; ContentItem readItem = Mangle(item); Assert.AreEqual(4, (int)readItem["Score"]); }
public void ExportedImportedItem_ClearsNames_SameAsOldId() { XmlableItem item = CreateOneItem <XmlableItem>(1, "1", null); ContentItem readItem = ExportAndImport(item, ExportOptions.Default); readItem.ID = 0; Assert.That(readItem.Name, Is.Null); }
public void ExportedImportedItem_CanContain_ComplexProperties_CastingToString() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item.Version = new Version(2, 0); XmlableItem readItem = ExportAndImport(item, ExportOptions.Default); Assert.That(readItem.Version, Is.EqualTo(new Version(2, 0))); }
public void ExportedImportedItem_KeepsTranslationKey() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item.TranslationKey = 123; ContentItem readItem = ExportAndImport(item, ExportOptions.Default); Assert.AreEqual(item.TranslationKey, readItem.TranslationKey); }
public void CanRead_ItemWithAuthorizedRoles() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item.AuthorizedRoles.Add(new AuthorizedRole(item, "Administrators")); ContentItem readItem = Mangle(item); Assert.AreEqual(1, readItem.AuthorizedRoles.Count); Assert.AreEqual("Administrators", readItem.AuthorizedRoles[0].Role); }
public void CanExport_SimpleItem_WithFakeAttachment_ExcludingAttachments() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item.ImageUrl = "/hello.jpg"; XmlableItem readItem = ExportAndImport(item, ExportOptions.ExcludeAttachments); Assert.AreEqual("/hello.jpg", readItem.ImageUrl); Assert.That(item["wasWritten"], Is.Null, "Attachment was written."); Assert.That(readItem["wasRead"], Is.Null, "Attachment was read."); }
public void WriteItem_WithIntegerDetail() { XmlableItem item = CreateOneItem <XmlableItem>(1, "one", null); item["Age"] = 28; Console.WriteLine(WriteToStreamAndReturn(item)); //XPathNodeIterator nodes = xpn.Select("//item/details/detail[@name='Age']"); //nodes.MoveNext(); //Assert.AreEqual(1, nodes.Count); //Assert.AreEqual(28.ToString(), nodes.Current.Value); }
public void WriteItem_WithAuthorizedRole() { XmlableItem item = CreateOneItem <XmlableItem>(1, "one", null); item.AuthorizedRoles.Add(new AuthorizedRole(item, "Administrator")); XPathNavigator xpn = WriteToStreamAndNavigate(item); XPathNodeIterator nodes = xpn.Select("//item/authorizations/role"); Assert.AreEqual(1, nodes.Count); Assert.AreEqual("Administrator", nodes.Current.Value); }
public void CanExport_SimpleItem_WithAttachment() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item.ImageUrl = "/hello.jpg"; ContentItem readItem = ExportAndImport(item, ExportOptions.Default); Assert.AreEqual(item.ID, readItem.ID); Assert.AreEqual(item.Title, readItem.Title); Assert.AreEqual(item.Name, readItem.Name); Assert.AreEqual("/hello.jpg", item.ImageUrl); }
public void WriteItem_WithBooleanDetail() { XmlableItem item = CreateOneItem <XmlableItem>(1, "one", null); item["Exists"] = true; Console.WriteLine(WriteToStreamAndReturn(item)); //XPathNodeIterator nodes = xpn.Select("//item/details/detail[@name='Exists']"); //nodes.MoveNext(); //Assert.AreEqual(1, nodes.Count); //Assert.AreEqual("True", nodes.Current.Value); }
public void CanReReadBasicProperties() { XmlableItem item = CreateOneItem <XmlableItem>(1, "the item", null); XPathNavigator sr = SerializeAndReadOutput(item); ItemXmlReader reader = CreateReader(); ContentItem readItem = reader.Read(sr).RootItem; Assert.AreNotSame(item, readItem); Assert.AreEqual(typeof(XmlableItem), readItem.GetContentType()); Assert.AreEqual(1, readItem.ID); Assert.AreEqual("the item", readItem.Name); }
public void WriteItem_WithDoubleDetail() { XmlableItem item = CreateOneItem <XmlableItem>(1, "one", null); item["Weight"] = 73.4; XPathNavigator xpn = WriteToStreamAndNavigate(item); XPathNodeIterator nodes = xpn.Select("//item/details/detail[@name='Weight']"); Assert.AreEqual(1, nodes.Count); Assert.AreEqual(73.4.ToString(), nodes.Current.Value); }
public void CanRead_ItemWithObjectDetail() { XmlableItem item = CreateOneItem <XmlableItem>(1, "item", null); item["Pair"] = new Pair("First", 2); ContentItem readItem = Mangle(item); Pair p = (Pair)readItem["Pair"]; Assert.AreEqual("First", p.First); Assert.AreEqual(2, p.Second); }