public void IListBind() { string data = @" cust.years = 2006 cust.years = 2007 cust.years = 2008 cust.years = 2009 " ; NameValueCollection args = TestUtils.ParseNameValueString(data); object instance = binder.BindObject(typeof(Customer2), "cust", builder.BuildSourceNode(args)); Assert.IsNotNull(instance); var cust = instance as Customer2; Assert.IsNotNull(cust); Assert.IsNotNull(cust.Years); Assert.AreEqual(4, cust.Years.Count); Assert.AreEqual(2006, cust.Years[0]); Assert.AreEqual(2007, cust.Years[1]); Assert.AreEqual(2008, cust.Years[2]); Assert.AreEqual(2009, cust.Years[3]); }
public void ValidateInheritedNestedNonEmpty() { var args = new NameValueCollection { { "customer.Email", "*****@*****.**" }, { "customer.ConfirmEmail", "*****@*****.**" }, { "customer.Address.Street", string.Empty } }; object instance = binder.BindObject(typeof(Customer), "customer", builder.BuildSourceNode(args)); Assert.IsNotNull(instance); Assert.AreEqual(1, binder.ErrorList.Count); }
public void IndexedContent() { var args = new NameValueCollection(); args.Add("customer[0].name", "hammett"); args.Add("customer[0].age", "26"); args.Add("customer[0].all", "yada yada yada"); args.Add("customer[10].name", "frasier"); args.Add("customer[10].age", "50"); args.Add("customer[10].all", "yada"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(args); var node = (IndexedNode)root.GetChildNode("customer"); Assert.IsNotNull(node); Assert.AreEqual(2, node.ChildrenCount); var cnode = (CompositeNode)node.GetChildNode("0"); Assert.AreEqual("hammett", ((LeafNode)cnode.GetChildNode("name")).Value); Assert.AreEqual("26", ((LeafNode)cnode.GetChildNode("age")).Value); Assert.AreEqual("yada yada yada", ((LeafNode)cnode.GetChildNode("all")).Value); cnode = (CompositeNode)node.GetChildNode("10"); Assert.AreEqual("frasier", ((LeafNode)cnode.GetChildNode("name")).Value); Assert.AreEqual("50", ((LeafNode)cnode.GetChildNode("age")).Value); Assert.AreEqual("yada", ((LeafNode)cnode.GetChildNode("all")).Value); }
public void IndexedFlatEntries() { var nameValueColl = new NameValueCollection(); nameValueColl.Add("emails[0]", "*****@*****.**"); nameValueColl.Add("emails[1]", "*****@*****.**"); nameValueColl.Add("emails[2]", "*****@*****.**"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); Assert.IsNotNull(root); Assert.AreEqual(1, root.ChildrenCount); var indexNode = (IndexedNode)root.GetChildNode("emails"); Assert.IsNotNull(indexNode); Assert.AreEqual(3, indexNode.ChildrenCount); Node[] entries = indexNode.ChildNodes; Assert.IsNotNull(entries); Assert.AreEqual(3, entries.Length); Assert.AreEqual("*****@*****.**", ((LeafNode)entries[0]).Value); Assert.AreEqual("*****@*****.**", ((LeafNode)entries[1]).Value); Assert.AreEqual("*****@*****.**", ((LeafNode)entries[2]).Value); }
public void EntriesStartingWithDotShouldBeConsideredSimple() { var nameValueColl = new NameValueCollection(); nameValueColl.Add(".name", "hammett"); nameValueColl.Add(".age", "27"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); Assert.IsNotNull(root); Assert.AreEqual(2, root.ChildrenCount); var entry = (LeafNode) root.GetChildNode(".name"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual(".name", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("hammett", entry.Value); entry = (LeafNode) root.GetChildNode(".age"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual(".age", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("27", entry.Value); }
public void CompositeEntries() { var nameValueColl = new NameValueCollection(); nameValueColl.Add("customer.name", "hammett"); nameValueColl.Add("customer.age", "27"); nameValueColl.Add("customer.age", "28"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); Assert.IsNotNull(root); Assert.AreEqual(1, root.ChildrenCount); var node = (CompositeNode)root.GetChildNode("customer"); Assert.IsNotNull(node); Assert.AreEqual("customer", node.Name); Assert.AreEqual(NodeType.Composite, node.NodeType); var entry = (LeafNode)node.GetChildNode("name"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual("name", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("hammett", entry.Value); entry = (LeafNode)node.GetChildNode("age"); Assert.IsNotNull(entry); Assert.IsTrue(entry.IsArray); Assert.AreEqual("age", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual(new[] { "27", "28" }, entry.Value); }
public void EntriesStartingWithDotShouldBeConsideredSimple() { var nameValueColl = new NameValueCollection(); nameValueColl.Add(".name", "hammett"); nameValueColl.Add(".age", "27"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); Assert.IsNotNull(root); Assert.AreEqual(2, root.ChildrenCount); var entry = (LeafNode)root.GetChildNode(".name"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual(".name", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("hammett", entry.Value); entry = (LeafNode)root.GetChildNode(".age"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual(".age", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("27", entry.Value); }
public void CompositeEntries() { var nameValueColl = new NameValueCollection(); nameValueColl.Add("customer.name", "hammett"); nameValueColl.Add("customer.age", "27"); nameValueColl.Add("customer.age", "28"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); Assert.IsNotNull(root); Assert.AreEqual(1, root.ChildrenCount); var node = (CompositeNode) root.GetChildNode("customer"); Assert.IsNotNull(node); Assert.AreEqual("customer", node.Name); Assert.AreEqual(NodeType.Composite, node.NodeType); var entry = (LeafNode) node.GetChildNode("name"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual("name", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("hammett", entry.Value); entry = (LeafNode) node.GetChildNode("age"); Assert.IsNotNull(entry); Assert.IsTrue(entry.IsArray); Assert.AreEqual("age", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual(new[] {"27", "28"}, entry.Value); }
public void IndexedContent() { var args = new NameValueCollection(); args.Add("customer[0].name", "hammett"); args.Add("customer[0].age", "26"); args.Add("customer[0].all", "yada yada yada"); args.Add("customer[10].name", "frasier"); args.Add("customer[10].age", "50"); args.Add("customer[10].all", "yada"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(args); var node = (IndexedNode) root.GetChildNode("customer"); Assert.IsNotNull(node); Assert.AreEqual(2, node.ChildrenCount); var cnode = (CompositeNode) node.GetChildNode("0"); Assert.AreEqual("hammett", ((LeafNode) cnode.GetChildNode("name")).Value); Assert.AreEqual("26", ((LeafNode) cnode.GetChildNode("age")).Value); Assert.AreEqual("yada yada yada", ((LeafNode) cnode.GetChildNode("all")).Value); cnode = (CompositeNode) node.GetChildNode("10"); Assert.AreEqual("frasier", ((LeafNode) cnode.GetChildNode("name")).Value); Assert.AreEqual("50", ((LeafNode) cnode.GetChildNode("age")).Value); Assert.AreEqual("yada", ((LeafNode) cnode.GetChildNode("all")).Value); }
public void TwoLevels() { var args = new NameValueCollection(); args.Add("customer.name", "hammett"); args.Add("customer.age", "26"); args.Add("customer.location.code", "pt-br"); args.Add("customer.location.country", "55"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(args); Assert.IsNotNull(root); var node = (CompositeNode)root.GetChildNode("customer"); Assert.IsNotNull(root); var locationNode = (CompositeNode)node.GetChildNode("location"); Assert.IsNotNull(locationNode); Assert.AreEqual("pt-br", ((LeafNode)locationNode.GetChildNode("code")).Value); Assert.AreEqual("55", ((LeafNode)locationNode.GetChildNode("country")).Value); }
public void SimpleEntries() { NameValueCollection nameValueColl = new NameValueCollection(); nameValueColl.Add("name", "hammett"); nameValueColl.Add("age", "27"); nameValueColl.Add("age", "28"); TreeBuilder builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); Assert.IsNotNull(root); Assert.AreEqual(2, root.ChildrenCount); LeafNode entry = (LeafNode) root.GetChildNode("name"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual("name", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("hammett", entry.Value); entry = (LeafNode) root.GetChildNode("age"); Assert.IsNotNull(entry); Assert.IsTrue(entry.IsArray); Assert.AreEqual("age", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual(new String[] { "27", "28" }, entry.Value); }
public static Config.Config ReadConfig() { var config = new Config.Config(); var builder = new TreeBuilder(); var tree = builder.BuildSourceNode(ConfigurationManager.AppSettings); var binder = new DataBinder(); binder.BindObjectInstance(config, "", tree); return(config); }
public void RepeatedNamesForNodes() { var nameValueColl = new NameValueCollection(); nameValueColl.Add("profile.Process", "test"); nameValueColl.Add("profile.Process.Id", "1"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); }
public void Bind_from_app_settings() { var builder = new TreeBuilder(); var tree = builder.BuildSourceNode(ConfigurationManager.AppSettings); var binder = new DataBinder(); var settings = new TestSettings(); binder.BindObjectInstance(settings, tree); Assert.That(settings.IntValue, Is.EqualTo(100)); Assert.That(binder.ErrorList.Count, Is.EqualTo(0)); }
public void NoValidEntries() { NameValueCollection args = new NameValueCollection(); args.Add("customername", "x"); args.Add("customerage", "x"); args.Add("customerall", "x"); TreeBuilder builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(args); Assert.IsNull(root.GetChildNode("customer")); }
public void SimpleEntries() { var nameValueColl = new NameValueCollection(); nameValueColl.Add("name", "hammett"); nameValueColl.Add("age", "27"); nameValueColl.Add("age", "28"); CompositeNode root = builder.BuildSourceNode(nameValueColl); Assert.AreEqual("hammett", binder.BindParameter(typeof(String), "name", root)); Assert.AreEqual(new[] { 27, 28 }, binder.BindParameter(typeof(int[]), "age", root)); }
public void NoValidEntries() { var args = new NameValueCollection(); args.Add("customername", "x"); args.Add("customerage", "x"); args.Add("customerall", "x"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(args); Assert.IsNull(root.GetChildNode("customer")); }
public void IndexedEntries() { var nameValueColl = new NameValueCollection(); nameValueColl.Add("customer[0].name", "hammett"); nameValueColl.Add("customer[0].age", "27"); nameValueColl.Add("customer[0].age", "28"); nameValueColl.Add("customer[1].name", "hamilton"); nameValueColl.Add("customer[1].age", "28"); nameValueColl.Add("customer[1].age", "29"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); Assert.IsNotNull(root); Assert.AreEqual(1, root.ChildrenCount); var indexNode = (IndexedNode)root.GetChildNode("customer"); Assert.IsNotNull(indexNode); Assert.AreEqual(2, indexNode.ChildrenCount); var node = (CompositeNode)indexNode.GetChildNode("0"); Assert.IsNotNull(node); Assert.AreEqual(2, node.ChildrenCount); var entry = (LeafNode)node.GetChildNode("name"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual("name", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("hammett", entry.Value); node = (CompositeNode)indexNode.GetChildNode("1"); Assert.IsNotNull(node); Assert.AreEqual(2, node.ChildrenCount); entry = (LeafNode)node.GetChildNode("name"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual("name", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("hamilton", entry.Value); }
public void BindObjectInstanceForUser(User instance, string prefix, string jsonSource) { var treeRoot = new CompositeNode("root"); if (jsonSource != null) { var builder = new TreeBuilder(); var collection = GetCollectionFromJson(jsonSource, "User"); treeRoot = builder.BuildSourceNode(collection); } else { treeRoot = Request.ObtainParamsNode(ParamStore.Params); } Binder.BindObjectInstance(instance, prefix, treeRoot); boundInstances[instance] = Binder.ErrorList; PopulateValidatorErrorSummary(instance, Binder.GetValidationSummary(instance)); }
public void OneLevelNode() { NameValueCollection args = new NameValueCollection(); args.Add("customer.name", "hammett"); args.Add("customer.age", "26"); args.Add("customer.all", "yada yada yada"); TreeBuilder builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(args); CompositeNode node = (CompositeNode) root.GetChildNode("customer"); Assert.IsNotNull(node); Assert.AreEqual("hammett", ((LeafNode)node.GetChildNode("name")).Value); Assert.AreEqual("26", ((LeafNode)node.GetChildNode("age")).Value); Assert.AreEqual("yada yada yada", ((LeafNode)node.GetChildNode("all")).Value); }
public void OneLevelNode() { var args = new NameValueCollection(); args.Add("customer.name", "hammett"); args.Add("customer.age", "26"); args.Add("customer.all", "yada yada yada"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(args); var node = (CompositeNode)root.GetChildNode("customer"); Assert.IsNotNull(node); Assert.AreEqual("hammett", ((LeafNode)node.GetChildNode("name")).Value); Assert.AreEqual("26", ((LeafNode)node.GetChildNode("age")).Value); Assert.AreEqual("yada yada yada", ((LeafNode)node.GetChildNode("all")).Value); }
public static void ReadDbConfig(Config.Config config) { if (SessionFactory == null) { return; } using (var session = SessionFactory.OpenSession()) { var collection = new NameValueCollection(); var rows = session.CreateSQLQuery("select `key`, `value` from Customers.AppConfig") .List <object[]>(); foreach (var row in rows) { collection.Add(row[0].ToString(), row[1].ToString()); } var builder = new TreeBuilder(); var tree = builder.BuildSourceNode(collection); var binder = new DataBinder(); binder.BindObjectInstance(config, "", tree); } }
public void TwoLevels() { NameValueCollection args = new NameValueCollection(); args.Add("customer.name", "hammett"); args.Add("customer.age", "26"); args.Add("customer.location.code", "pt-br"); args.Add("customer.location.country", "55"); TreeBuilder builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(args); Assert.IsNotNull(root); CompositeNode node = (CompositeNode) root.GetChildNode("customer"); Assert.IsNotNull(root); CompositeNode locationNode = (CompositeNode) node.GetChildNode("location"); Assert.IsNotNull(locationNode); Assert.AreEqual("pt-br", ((LeafNode)locationNode.GetChildNode("code")).Value); Assert.AreEqual("55", ((LeafNode)locationNode.GetChildNode("country")).Value); }
public void IndexedFlatEntries() { var nameValueColl = new NameValueCollection(); nameValueColl.Add("emails[0]", "*****@*****.**"); nameValueColl.Add("emails[1]", "*****@*****.**"); nameValueColl.Add("emails[2]", "*****@*****.**"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); Assert.IsNotNull(root); Assert.AreEqual(1, root.ChildrenCount); var indexNode = (IndexedNode) root.GetChildNode("emails"); Assert.IsNotNull(indexNode); Assert.AreEqual(3, indexNode.ChildrenCount); Node[] entries = indexNode.ChildNodes; Assert.IsNotNull(entries); Assert.AreEqual(3, entries.Length); Assert.AreEqual("*****@*****.**", ((LeafNode) entries[0]).Value); Assert.AreEqual("*****@*****.**", ((LeafNode) entries[1]).Value); Assert.AreEqual("*****@*****.**", ((LeafNode) entries[2]).Value); }
public void DateTimeBind() { var args = new NameValueCollection(); args.Add("person.DOBday", 1.ToString()); args.Add("person.DOBmonth", 12.ToString()); args.Add("person.DOByear", 2005.ToString()); object instance = binder.BindObject(typeof(Person), "person", builder.BuildSourceNode(args)); Assert.IsNotNull(instance); var p = (Person)instance; Assert.AreEqual(new DateTime(2005, 12, 1), p.DOB); args.Clear(); args.Add("person.DOBday", 2.ToString()); args.Add("person.DOBmonth", 1.ToString()); args.Add("person.DOByear", 2005.ToString()); instance = binder.BindObject(typeof(Person), "person", builder.BuildSourceNode(args)); Assert.IsNotNull(instance); p = (Person)instance; Assert.AreEqual(new DateTime(2005, 1, 2), p.DOB); }
public void CanHandleProtoTypeSimpleArray() { string data = @"abc[]=Foo,Bar"; NameValueCollection args = TestUtils.ParseNameValueString(data); object instance = binder.BindObject(typeof(string[]), "abc", builder.BuildSourceNode(args)); Assert.IsNotNull(instance); var sc = instance as string[]; Assert.IsNotNull(sc); Assert.AreEqual(2, sc.Length); Assert.AreEqual("Foo", sc[0]); Assert.AreEqual("Bar", sc[1]); }
public void RepeatedNamesForNodes() { var nameValueColl = new NameValueCollection(); nameValueColl.Add("profile.Process", "test"); nameValueColl.Add("profile.Process.Id", "1"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); }
public void IndexedEntries() { var nameValueColl = new NameValueCollection(); nameValueColl.Add("customer[0].name", "hammett"); nameValueColl.Add("customer[0].age", "27"); nameValueColl.Add("customer[0].age", "28"); nameValueColl.Add("customer[1].name", "hamilton"); nameValueColl.Add("customer[1].age", "28"); nameValueColl.Add("customer[1].age", "29"); var builder = new TreeBuilder(); CompositeNode root = builder.BuildSourceNode(nameValueColl); Assert.IsNotNull(root); Assert.AreEqual(1, root.ChildrenCount); var indexNode = (IndexedNode) root.GetChildNode("customer"); Assert.IsNotNull(indexNode); Assert.AreEqual(2, indexNode.ChildrenCount); var node = (CompositeNode) indexNode.GetChildNode("0"); Assert.IsNotNull(node); Assert.AreEqual(2, node.ChildrenCount); var entry = (LeafNode) node.GetChildNode("name"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual("name", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("hammett", entry.Value); node = (CompositeNode) indexNode.GetChildNode("1"); Assert.IsNotNull(node); Assert.AreEqual(2, node.ChildrenCount); entry = (LeafNode) node.GetChildNode("name"); Assert.IsNotNull(entry); Assert.IsFalse(entry.IsArray); Assert.AreEqual("name", entry.Name); Assert.AreEqual(NodeType.Leaf, entry.NodeType); Assert.AreEqual("hamilton", entry.Value); }