public void FastExpandoCanBeCreatedFromObject() { FastExpando o = FastExpando.FromObject(new { Id = 1, Text = "foo" }); dynamic d = o; Assert.AreEqual(4, o.Count()); Assert.AreEqual(1, d["ID"]); Assert.AreEqual("foo", d["Text"]); }
public void FastExpandoCanExpandByObject() { FastExpando o = FastExpando.FromObject(new { Id = 1, Text = "foo" }); o.Expand(new { Id = 2, Guest = "boo" }); dynamic d = o; Assert.AreEqual(6, o.Count()); Assert.AreEqual(2, d["ID"]); Assert.AreEqual("foo", d["Text"]); Assert.AreEqual("boo", d["GUEST"]); }
public void FastExpandoCanBeUsedAsDynamic() { dynamic d = FastExpando.FromObject(new { Id = 1, Text = "foo" }); d["Property"] = "prop"; d.Expand(new { Id = 2, Guest = "boo" }); FastExpando o = (FastExpando)d; Assert.AreEqual(7, o.Count()); Assert.AreEqual(2, d["ID"]); Assert.AreEqual("foo", d["Text"]); Assert.AreEqual("prop", d["Property"]); }
public void TestConvenienceExpandoQueries() { // we have two objects with parameters in them var o = new { Id = 1, Text = "foo" }; var p = new { Id = 2, Guest = "boo" }; var list = Connection().QuerySql("SELECT ID=CONVERT (int, @ID), Text=@Text, Guest=@Guest", o.Expand(p)); FastExpando f = list[0]; dynamic d = f; Assert.AreEqual(3, f.Count()); Assert.AreEqual(2, d["ID"]); Assert.AreEqual("foo", d["Text"]); Assert.AreEqual("boo", d["GUEST"]); }
public void TestConvenienceExpandoQueriesWithDynamicObject() { // start with a dynamic object dynamic o = new FastExpando(); o["ID"] = 1; o["Text"] = "foo"; // expand the dynamic var p = new { Id = 2, Guest = "boo" }; var list = Connection().QuerySql("SELECT ID=CONVERT (int, @ID), Text=@Text, Guest=@Guest", (object)o.Expand(p)); FastExpando f = list[0]; dynamic d = f; Assert.AreEqual(3, f.Count()); Assert.AreEqual(2, d["ID"]); Assert.AreEqual("foo", d["Text"]); Assert.AreEqual("boo", d["GUEST"]); }