示例#1
0
        public void TestIDictionaryProperties()
        {
            Customer customer = new Customer("Rodrigo", "Oliveira", new Address("Penny Lane", 64));

            customer.Properties["email"] = "*****@*****.**";

            XPathObjectNavigator navigator = new XPathObjectNavigator(customer);

            AssertEquals(customer.Properties["email"], navigator.SelectObject("Properties/email"));
        }
示例#2
0
        public void TestSelectByField()
        {
            Customer customer1 = new Customer("Rodrigo", "Oliveira", new Address("al. Calder�o Branco", 45));

            customer1.Email = "*****@*****.**";

            XPathObjectNavigator navigator = new XPathObjectNavigator(customer1);

            AssertSame(customer1.Email, navigator.SelectObject("Email"));

            AssertSame(customer1, navigator.SelectObject("/Customer[Email='*****@*****.**']"));
        }
示例#3
0
        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]");
            AssertEquals(2, actual.Length);
            AssertEquals(customer1, actual[0]);
            AssertEquals(customer2, actual[1]);
        }
示例#4
0
        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");

            AssertEquals(2, navigator.Select("//Order").Count);
            AssertEquals(2, navigator.Select("Order").Count);
            AssertEquals(o1, navigator.SelectObject("Order[1]"));
            AssertEquals(o2, navigator.SelectObject("Order[2]"));

            AssertEquals(o1, navigator.SelectObject("//Order[Customer/FirstName='Rodrigo']"));
            AssertEquals(o2, navigator.SelectObject("//Order[Customer/LastName='Longo']"));

            XPathNodeIterator i = navigator.Select("//Product[Name='egg']");

            AssertEquals(2, i.Count);
            AssertEquals(true, i.MoveNext());
            AssertEquals(p1, ((XPathObjectNavigator)i.Current).Node);

            AssertEquals(o2.Items[0], navigator.SelectObject("//OrderItem[Quantity>10]"));
            AssertEquals(p2, navigator.SelectObject("//Product[Categories/String='Silly Stuff']"));
        }
示例#5
0
        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");

            AssertEquals(1, i.Count);
            AssertEquals(true, i.MoveNext());
            AssertEquals(customer.Address.Street, i.Current.Value);
            AssertEquals(customer.Address.Street, ((XPathObjectNavigator)i.Current).Node);

            i = context.Select("FirstName");
            AssertEquals(1, i.Count);
            AssertEquals(true, i.MoveNext());
            AssertEquals(customer.FirstName, i.Current.Value);

            i = context.Select("/Customer/LastName");
            AssertEquals(true, i.MoveNext());
            AssertEquals(customer.LastName, i.Current.Value);
        }