public void PropertiesForObjectXmlTableTest() { var h = new ContentHandler(); var obj = h.ObjectFromTypeInAssemblyWithParams("xml", "RestTests.ManyTypes", "RestTests.dll", new[] { "true" }); var a = new PropertiesForObject(obj, "/ManyTypes/StringValue"); var expected = new[] { new[] { "report:Property", "report:Type", "report:Value" }, new[] { "report:/ManyTypes[1]/StringValue[1]", "report:System.String", "report:string value" } }; var myList = a.DoTable(new List <List <string> >()); AssertListEqualsArray(myList, expected); }
public void PropertiesForObjectQueryTest() { var h = new ContentHandler(); var obj = h.ObjectFromTypeInAssemblyWithParams("xml", "RestTests.FewTypes", "RestTests.dll", new[] { "true" }); var a = new PropertiesForObject(obj, "/FewTypes/StringValue"); var expected = new[] { new[] { "Property", "/FewTypes[1]/StringValue[1]" }, new[] { "Type", "System.String" }, new[] { "Value", "string value" } }; var myList = a.Query().First() as List <object>; Assert.IsNotNull(myList); AssertListEqualsArray(myList, expected); }
public void PropertiesForObjectJsonTableTest() { var h = new ContentHandler(); var obj = h.ObjectFromTypeInAssemblyWithParams("json", "RestTests.ManyTypes", "RestTests.dll", new[] { "true" }); var a = new PropertiesForObject(obj, "StringArray"); var expected = new[] { new[] { "report:Property", "report:Type", "report:Value" }, new[] { "report:StringArray", "report:Array", "report:[\"hi\",\"there\"]" }, new[] { "report:StringArray[0]", "report:String", "report:hi" }, new[] { "report:StringArray[1]", "report:String", "report:there" } }; var myList = a.DoTable(new List <List <string> >()); AssertListEqualsArray(myList, expected); }
public void PropertiesForObjectTextTableTest() { var h = new ContentHandler(); var obj = h.ObjectFrom("contains 21, 3000000000, 51.6 and no other true numbers"); const string regex = "((\\b\\d+(\\.\\d+)?)|true|numbers)"; var a = new PropertiesForObject(obj, regex); var multiPattern = string.Format(TextObject.MatchGroupPattern, regex, "{{0}}"); var expected = new[] { new[] { "report:Property", "report:Type", "report:Value" }, new[] { "report:" + string.Format(multiPattern, 1), "report:System.Int32", "report:21" }, new[] { "report:" + string.Format(multiPattern, 2), "report:System.Int64", "report:3000000000" }, new[] { "report:" + string.Format(multiPattern, 3), "report:System.Double", "report:51.6" }, new[] { "report:" + string.Format(multiPattern, 4), "report:System.Boolean", "report:true" }, new[] { "report:" + string.Format(multiPattern, 5), "report:System.String", "report:numbers" } }; var myList = a.DoTable(new List <List <string> >()); AssertListEqualsArray(myList, expected); }
public void PropertiesForObjectDecisionTest() { var h = new ContentHandler(); var obj = h.ObjectFromTypeInAssemblyWithParams("xml", "RestTests.FewTypes", "RestTests.dll", new[] { "true" }); var a = new PropertiesForObject(obj); a.Reset(); a.Execute(); Assert.IsFalse(a.ValueWasSet, "Value was not set after reset+execute"); Assert.IsNull(a.Value, "Value was null after reset+execute"); a.Property = "/FewTypes/IntValue"; a.Execute(); Assert.IsFalse(a.ValueWasSet, "Value was not set after execute with property set"); Assert.AreEqual("2147483647", a.Value, "Value was set correctly after setting property"); Assert.AreEqual(typeof(string).ToString(), a.Type, "Type was set correctly after setting property"); a.Value = "1"; a.Execute(); Assert.IsTrue(a.ValueWasSet, "Value was set after specifying Value"); Assert.AreEqual("1", a.Value, "Value was correctly set"); }