[Adapdev-commits] Adapdev/src/Adapdev.Tests/XPath XPathObjectNavigatorTest.cs,1.5,1.6
Status: Beta
Brought to you by:
intesar66
From: Sean M. <int...@us...> - 2006-02-21 04:31:30
|
Update of /cvsroot/adapdev/Adapdev/src/Adapdev.Tests/XPath In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9122/src/Adapdev.Tests/XPath Modified Files: XPathObjectNavigatorTest.cs Log Message: Index: XPathObjectNavigatorTest.cs =================================================================== RCS file: /cvsroot/adapdev/Adapdev/src/Adapdev.Tests/XPath/XPathObjectNavigatorTest.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** XPathObjectNavigatorTest.cs 26 Nov 2005 08:27:35 -0000 1.5 --- XPathObjectNavigatorTest.cs 21 Feb 2006 04:31:17 -0000 1.6 *************** *** 41,44 **** --- 41,148 ---- namespace Adapdev.XPath.Tests { + /// <summary> + /// Summary description for Class1. + /// </summary> + [TestFixture] + public class XPathObjectNavigatorTest + { + [Test] + public void TestSimpleProperties() + { + Address address = new Address("Al. Calder�o Branco", 784); + Customer customer = new Customer("Rodrigo", "Oliveira", address); + + XPathObjectNavigator context = new XPathObjectNavigator(customer); + XPathNodeIterator i = context.Select("/Customer/Address/Street"); + Assert.AreEqual(1, i.Count); + Assert.AreEqual(true, i.MoveNext()); + Assert.AreEqual(customer.Address.Street, i.Current.Value); + Assert.AreEqual(customer.Address.Street, ((XPathObjectNavigator)i.Current).Node); + + i = context.Select("FirstName"); + Assert.AreEqual(1, i.Count); + Assert.AreEqual(true, i.MoveNext()); + Assert.AreEqual(customer.FirstName, i.Current.Value); + + i = context.Select("/Customer/LastName"); + Assert.AreEqual(true, i.MoveNext()); + Assert.AreEqual(customer.LastName, i.Current.Value); + } + + [Test] + public void TestIListProperties() + { + Product p1 = new Product("egg"); + Product p2 = new Product("Monty Python Flying Circus Box"); + p2.Categories.Add("Silly Stuff"); + + Customer c1 = new Customer("Rodrigo", "Oliveira", new Address("Al. Ribeir�o Preto", 487)); + Customer c2 = new Customer("Marcia", "Longo", new Address("Al. Ribeir�o Preto", 487)); + + Order o1 = new Order(c1); + o1.Add(new OrderItem(p1, 10)); + o1.Add(new OrderItem(p2, 1)); + + Order o2 = new Order(c2); + o2.Add(new OrderItem(p1, 15)); + o2.Add(new OrderItem(p2, 1)); + + Order[] orders = new Order[] { o1, o2 }; + XPathObjectNavigator navigator = new XPathObjectNavigator(orders, "Orders"); + Assert.AreEqual(2, navigator.Select("//Order").Count); + Assert.AreEqual(2, navigator.Select("Order").Count); + Assert.AreEqual(o1, navigator.SelectObject("Order[1]")); + Assert.AreEqual(o2, navigator.SelectObject("Order[2]")); + + Assert.AreEqual(o1, navigator.SelectObject("//Order[Customer/FirstName='Rodrigo']")); + Assert.AreEqual(o2, navigator.SelectObject("//Order[Customer/LastName='Longo']")); + + XPathNodeIterator i = navigator.Select("//Product[Name='egg']"); + Assert.AreEqual(2, i.Count); + Assert.AreEqual(true, i.MoveNext()); + Assert.AreEqual(p1, ((XPathObjectNavigator)i.Current).Node); + + Assert.AreEqual(o2.Items[0], navigator.SelectObject("//OrderItem[Quantity>10]")); + Assert.AreEqual(p2, navigator.SelectObject("//Product[Categories/String='Silly Stuff']")); + } + + [Test] + public void TestIDictionaryProperties() + { + Customer customer = new Customer("Rodrigo", "Oliveira", new Address("Penny Lane", 64)); + customer.Properties["email"] = "rod...@us..."; + + XPathObjectNavigator navigator = new XPathObjectNavigator(customer); + Assert.AreEqual(customer.Properties["email"], navigator.SelectObject("Properties/email")); + } + + [Test] + public void TestSelectObjects() + { + Address address = new Address("Strawberry Street", 45); + Customer customer1 = new Customer("Rodrigo", "Oliveira", address); + Customer customer2 = new Customer("Marcia", "Longo", address); + + Customer[] customers = { customer1, customer2 }; + XPathObjectNavigator navigator = new XPathObjectNavigator(customers); + object[] actual = navigator.SelectObjects("Customer[Address/Number = 45]"); + Assert.AreEqual(2, actual.Length); + Assert.AreEqual(customer1, actual[0]); + Assert.AreEqual(customer2, actual[1]); + } + + [Test] + public void TestSelectByField() + { + Customer customer1 = new Customer("Rodrigo", "Oliveira", new Address("al. Calder�o Branco", 45)); + customer1.Email = "rb...@ac..."; + + XPathObjectNavigator navigator = new XPathObjectNavigator(customer1); + Assert.AreSame(customer1.Email, navigator.SelectObject("Email")); + + Assert.AreSame(customer1, navigator.SelectObject("/Customer[Email='rb...@ac...']")); + } + } + public class Address { *************** *** 215,320 **** } - /// <summary> - /// Summary description for Class1. - /// </summary> - [TestFixture] - public class XPathObjectNavigatorTest - { - [Test] - public void TestSimpleProperties() - { - Address address = new Address("Al. Calder�o Branco", 784); - Customer customer = new Customer("Rodrigo", "Oliveira", address); - - XPathObjectNavigator context = new XPathObjectNavigator(customer); - XPathNodeIterator i = context.Select("/Customer/Address/Street"); - Assert.AreEqual(1, i.Count); - Assert.AreEqual(true, i.MoveNext()); - Assert.AreEqual(customer.Address.Street, i.Current.Value); - Assert.AreEqual(customer.Address.Street, ((XPathObjectNavigator)i.Current).Node); - - i = context.Select("FirstName"); - Assert.AreEqual(1, i.Count); - Assert.AreEqual(true, i.MoveNext()); - Assert.AreEqual(customer.FirstName, i.Current.Value); - - i = context.Select("/Customer/LastName"); - Assert.AreEqual(true, i.MoveNext()); - Assert.AreEqual(customer.LastName, i.Current.Value); - } - - [Test] - public void TestIListProperties() - { - Product p1 = new Product("egg"); - Product p2 = new Product("Monty Python Flying Circus Box"); - p2.Categories.Add("Silly Stuff"); - - Customer c1 = new Customer("Rodrigo", "Oliveira", new Address("Al. Ribeir�o Preto", 487)); - Customer c2 = new Customer("Marcia", "Longo", new Address("Al. Ribeir�o Preto", 487)); - - Order o1 = new Order(c1); - o1.Add(new OrderItem(p1, 10)); - o1.Add(new OrderItem(p2, 1)); - - Order o2 = new Order(c2); - o2.Add(new OrderItem(p1, 15)); - o2.Add(new OrderItem(p2, 1)); - - Order[] orders = new Order[] { o1, o2 }; - XPathObjectNavigator navigator = new XPathObjectNavigator(orders, "Orders"); - Assert.AreEqual(2, navigator.Select("//Order").Count); - Assert.AreEqual(2, navigator.Select("Order").Count); - Assert.AreEqual(o1, navigator.SelectObject("Order[1]")); - Assert.AreEqual(o2, navigator.SelectObject("Order[2]")); - - Assert.AreEqual(o1, navigator.SelectObject("//Order[Customer/FirstName='Rodrigo']")); - Assert.AreEqual(o2, navigator.SelectObject("//Order[Customer/LastName='Longo']")); - - XPathNodeIterator i = navigator.Select("//Product[Name='egg']"); - Assert.AreEqual(2, i.Count); - Assert.AreEqual(true, i.MoveNext()); - Assert.AreEqual(p1, ((XPathObjectNavigator)i.Current).Node); - - Assert.AreEqual(o2.Items[0], navigator.SelectObject("//OrderItem[Quantity>10]")); - Assert.AreEqual(p2, navigator.SelectObject("//Product[Categories/String='Silly Stuff']")); - } - - [Test] - public void TestIDictionaryProperties() - { - Customer customer = new Customer("Rodrigo", "Oliveira", new Address("Penny Lane", 64)); - customer.Properties["email"] = "rod...@us..."; - - XPathObjectNavigator navigator = new XPathObjectNavigator(customer); - Assert.AreEqual(customer.Properties["email"], navigator.SelectObject("Properties/email")); - } - - [Test] - public void TestSelectObjects() - { - Address address = new Address("Strawberry Street", 45); - Customer customer1 = new Customer("Rodrigo", "Oliveira", address); - Customer customer2 = new Customer("Marcia", "Longo", address); - - Customer[] customers = { customer1, customer2 }; - XPathObjectNavigator navigator = new XPathObjectNavigator(customers); - object[] actual = navigator.SelectObjects("Customer[Address/Number = 45]"); - Assert.AreEqual(2, actual.Length); - Assert.AreEqual(customer1, actual[0]); - Assert.AreEqual(customer2, actual[1]); - } - - [Test] - public void TestSelectByField() - { - Customer customer1 = new Customer("Rodrigo", "Oliveira", new Address("al. Calder�o Branco", 45)); - customer1.Email = "rb...@ac..."; - - XPathObjectNavigator navigator = new XPathObjectNavigator(customer1); - Assert.AreSame(customer1.Email, navigator.SelectObject("Email")); - - Assert.AreSame(customer1, navigator.SelectObject("/Customer[Email='rb...@ac...']")); - } - } } --- 319,321 ---- |