public void TestGet() { var row = new ODataEntity(new Dictionary<string, object> { { "a", 1 }, { "b", "2" } }); row.Get<int>("A").ShouldEqual(1); row.Get<string>("b").ShouldEqual("2"); UnitTestHelpers.AssertThrows<InvalidCastException>(() => row.Get<string>("a")); UnitTestHelpers.AssertThrows<ArgumentException>(() => row.Get<string>("c")); }
public void TestGet() { var row = new ODataEntity(new Dictionary <string, object> { { "a", 1 }, { "b", "2" } }); row.Get <int>("A").ShouldEqual(1); row.Get <string>("b").ShouldEqual("2"); UnitTestHelpers.AssertThrows <InvalidCastException>(() => row.Get <string>("a")); UnitTestHelpers.AssertThrows <ArgumentException>(() => row.Get <string>("c")); }
public void ODataEntityTestNumericCastIssue() { var entity = new ODataEntity(new[] { new KeyValuePair <string, object>("x", 1.5), new KeyValuePair <string, object>("y", long.MaxValue) }); var ex = UnitTestHelpers.AssertThrows <InvalidCastException>(() => entity.Get <int>("x")); ex.Message.ShouldEqual("Failed to convert property 'x' value '1.5' of type System.Double to requested type System.Int32"); var ex2 = UnitTestHelpers.AssertThrows <InvalidCastException>(() => entity.Get <int>("y")); ex2.Message.ShouldEqual("Failed to convert property 'y' value '9223372036854775807' of type System.Int64 to requested type System.Int32"); }
public void ODataEntityTestIncompatibleGet() { var entity = new ODataEntity(new[] { KeyValuePair.Create("A", "100".As <object>()) }); var ex = UnitTestHelpers.AssertThrows <InvalidCastException>(() => entity.Get <double?>("A")); ex.Message.ShouldEqual("value '100' of type System.String for property 'A' is not compatible with requested type System.Nullable`1[System.Double]"); }
public void TestGetValuesFromODataEntity() { var entity = new ODataEntity(new Dictionary <string, object> { { "A", null }, { "B", 1 }, { "C", new ODataEntity(new Dictionary <string, object> { { "X", "abc" } }) }, { "D", ODataValue.FromObject(-1) }, { "F", 1.5 }, }); entity.Get <string>("A").ShouldEqual(null); entity.Get <int>("b").ShouldEqual(1); entity.Get <int?>("b").ShouldEqual(1); entity.Get <ODataValue>("B").Value.ShouldEqual(1); entity.Get <ODataEntity>("c").Get <string>("x").ShouldEqual("abc"); entity.Get <ODataObject>("C").GetType().ShouldEqual(typeof(ODataEntity)); entity.Get <int>("d").ShouldEqual(-1); UnitTestHelpers.AssertThrows <InvalidCastException>(() => entity.Get <int>("a")); UnitTestHelpers.AssertThrows <InvalidCastException>(() => entity.Get <long>("F")); }