Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/aspnetwebstack.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraghuramn <ranadimi@microsoft.com>2012-10-13 03:47:42 +0400
committerraghuramn <ranadimi@microsoft.com>2012-10-13 04:50:01 +0400
commite0115a823029e7f62cb36cd21992f8088a1aacc9 (patch)
tree32dc20178faaad838f58be69f028e8acaea612af
parentfb7632d7eaf7121c58ef8e43371187de69dcfc83 (diff)
cleanup disabled odata tests.
1) removing tests that are not relevant 2) enabling tests that are relevant and can run.
-rw-r--r--test/System.Web.Http.OData.Test/BaselineResource.Designer.cs47
-rw-r--r--test/System.Web.Http.OData.Test/BaselineResource.resx508
-rw-r--r--test/System.Web.Http.OData.Test/OData/Formatter/Serialization/CollectionTest.cs70
-rw-r--r--test/System.Web.Http.OData.Test/OData/Formatter/Serialization/ComplexTypeTest.cs42
-rw-r--r--test/System.Web.Http.OData.Test/OData/Formatter/Serialization/EntityTypeTest.cs58
-rw-r--r--test/System.Web.Http.OData.Test/OData/Formatter/Serialization/FeedTest.cs43
-rw-r--r--test/System.Web.Http.OData.Test/System.Web.Http.OData.Test.csproj1
-rw-r--r--test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/Attributed/Person.cs8
-rw-r--r--test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/POCO/Address.cs6
-rw-r--r--test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/POCO/PhoneNumber.cs8
-rw-r--r--test/System.Web.Http.OData.Test/TestCommon/Models/EntityTypes/Attributed/Employee.cs10
-rw-r--r--test/System.Web.Http.OData.Test/TestCommon/Models/EntityTypes/Attributed/MultipleKeyEmployee.cs30
-rw-r--r--test/System.Web.Http.OData.Test/TestCommon/TypeInitializer.cs4
13 files changed, 300 insertions, 535 deletions
diff --git a/test/System.Web.Http.OData.Test/BaselineResource.Designer.cs b/test/System.Web.Http.OData.Test/BaselineResource.Designer.cs
index c0210cc4..5dca918f 100644
--- a/test/System.Web.Http.OData.Test/BaselineResource.Designer.cs
+++ b/test/System.Web.Http.OData.Test/BaselineResource.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:4.0.30319.18003
+// Runtime Version:4.0.30319.18010
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -354,11 +354,11 @@ namespace System.Web.Http.OData {
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
- ///&lt;ArrayOfboolean xmlns=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot;&gt;
+ ///&lt;property xmlns=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot;&gt;
/// &lt;element m:type=&quot;Edm.Boolean&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot;&gt;true&lt;/element&gt;
/// &lt;element m:type=&quot;Edm.Boolean&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot;&gt;false&lt;/element&gt;
/// &lt;element m:type=&quot;Edm.Boolean&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot;&gt;true&lt;/element&gt;
- /// &lt;element m:type=&quot;Edm.Boole [rest of string was truncated]&quot;;.
+ /// &lt;element m:type=&quot;Edm.Boolean&quot; xm [rest of string was truncated]&quot;;.
/// </summary>
internal static string TestArrayOfBools {
get {
@@ -368,11 +368,11 @@ namespace System.Web.Http.OData {
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
- ///&lt;ArrayOfint xmlns=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot;&gt;
+ ///&lt;property xmlns=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot;&gt;
/// &lt;element m:type=&quot;Edm.Int32&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot;&gt;10&lt;/element&gt;
/// &lt;element m:type=&quot;Edm.Int32&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot;&gt;20&lt;/element&gt;
/// &lt;element m:type=&quot;Edm.Int32&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot;&gt;30&lt;/element&gt;
- /// &lt;element m:type=&quot;Edm.Int32&quot; xmlns:m=&quot;http:/ [rest of string was truncated]&quot;;.
+ /// &lt;element m:type=&quot;Edm.Int32&quot; xmlns:m=&quot;http://s [rest of string was truncated]&quot;;.
/// </summary>
internal static string TestArrayOfInts {
get {
@@ -382,14 +382,13 @@ namespace System.Web.Http.OData {
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
- ///&lt;ArrayOfPerson xmlns=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot;&gt;
- /// &lt;element m:type=&quot;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Person&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot;&gt;
+ ///&lt;property xmlns=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot; xmlns:georss=&quot;http://www.georss.org/georss&quot; xmlns:gml=&quot;http://www.opengis.net/gml&quot;&gt;
+ /// &lt;element m:type=&quot;System.Web.Http.OData.TestCommon.Models.Person&quot;&gt;
/// &lt;Age m:type=&quot;Edm.Int32&quot;&gt;20&lt;/Age&gt;
- /// &lt;FavoriteHobby m:type=&quot;HobbyActivity&quot;&gt;
- /// &lt;ActivityName&gt;Xbox Gaming&lt;/ActivityName&gt;
- /// &lt;/FavoriteHobby&gt;
+ /// &lt;Gender&gt;Male&lt;/Gender&gt;
/// &lt;FirstName&gt;Frank&lt;/FirstName&gt;
- /// &lt;Gender&gt;Ma [rest of string was truncated]&quot;;.
+ /// &lt;Alias m:type=&quot;Collection(Edm.String)&quot;&gt;
+ /// &lt;d:element xmlns:d=&quot;htt [rest of string was truncated]&quot;;.
/// </summary>
internal static string TestCollectionOfPerson {
get {
@@ -399,13 +398,12 @@ namespace System.Web.Http.OData {
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
- ///&lt;d:Person xmlns:d=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot; m:type=&quot;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Person&quot;&gt;
+ ///&lt;d:property xmlns:d=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot; xmlns:georss=&quot;http://www.georss.org/georss&quot; xmlns:gml=&quot;http://www.opengis.net/gml&quot; m:type=&quot;System.Web.Http.OData.TestCommon.Models.Person&quot;&gt;
/// &lt;d:Age m:type=&quot;Edm.Int32&quot;&gt;20&lt;/d:Age&gt;
- /// &lt;d:FavoriteHobby m:type=&quot;HobbyActivity&quot;&gt;
- /// &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
- /// &lt;/d:FavoriteHobby&gt;
+ /// &lt;d:Gender&gt;Male&lt;/d:Gender&gt;
/// &lt;d:FirstName&gt;Frank&lt;/d:FirstName&gt;
- /// &lt;d:Gender&gt;Male&lt;/d:Gend [rest of string was truncated]&quot;;.
+ /// &lt;d:Alias m:type=&quot;Collection(Edm.String)&quot;&gt;
+ /// &lt;d:element&gt;Alias0&lt;/d:element [rest of string was truncated]&quot;;.
/// </summary>
internal static string TestComplexTypePerson {
get {
@@ -430,8 +428,9 @@ namespace System.Web.Http.OData {
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
- ///&lt;entry xml:base=&quot;http://www.tempuri.org/&quot; xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:d=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot; xmlns:georss=&quot;http://www.georss.org/georss&quot; xmlns:gml=&quot;http://www.opengis.net/gml&quot;&gt;
- /// &lt;link rel=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/related/http://schemas.microsoft.com/ado/2007/08/dataservices/related/CurrentWorkItem&quot; type=&quot;application/ [rest of string was truncated]&quot;;.
+ ///&lt;entry xml:base=&quot;http://localhost/&quot; xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:d=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot; xmlns:georss=&quot;http://www.georss.org/georss&quot; xmlns:gml=&quot;http://www.opengis.net/gml&quot;&gt;
+ /// &lt;id&gt;http://localhost/employees(0L)&lt;/id&gt;
+ /// &lt;category term=&quot;System.Web.Http.OData.TestCommon.Models.Employee&quot; scheme=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/schem [rest of string was truncated]&quot;;.
/// </summary>
internal static string TestEntityTypeBasic {
get {
@@ -476,9 +475,13 @@ namespace System.Web.Http.OData {
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
- ///&lt;feed xml:base=&quot;http://www.tempuri.org/&quot; xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:d=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot; xmlns:georss=&quot;http://www.georss.org/georss&quot; xmlns:gml=&quot;http://www.opengis.net/gml&quot;&gt;
+ ///&lt;feed xml:base=&quot;http://localhost/&quot; xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:d=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot; xmlns:m=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&quot; xmlns:georss=&quot;http://www.georss.org/georss&quot; xmlns:gml=&quot;http://www.opengis.net/gml&quot;&gt;
+ /// &lt;id&gt;http://schemas.datacontract.org/2004/07/&lt;/id&gt;
+ /// &lt;title /&gt;
+ /// &lt;updated&gt;UpdatedTime&lt;/updated&gt;
+ /// &lt;link rel=&quot;self&quot; href=&quot;http://localhost/employees&quot; /&gt;
/// &lt;entry&gt;
- /// &lt;link rel=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices/related/http://schemas.microsoft.com/ado/2007/08/dataservices/related/CurrentWorkItem&quot; type=&quot; [rest of string was truncated]&quot;;.
+ /// &lt;id&gt;htt [rest of string was truncated]&quot;;.
/// </summary>
internal static string TestFeedOfEmployee {
get {
@@ -488,12 +491,12 @@ namespace System.Web.Http.OData {
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
- ///&lt;ArrayOfstring xmlns=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot;&gt;
+ ///&lt;property xmlns=&quot;http://schemas.microsoft.com/ado/2007/08/dataservices&quot;&gt;
/// &lt;element&gt;Frank&lt;/element&gt;
/// &lt;element&gt;Steve&lt;/element&gt;
/// &lt;element&gt;Tom&lt;/element&gt;
/// &lt;element&gt;Chandler&lt;/element&gt;
- ///&lt;/ArrayOfstring&gt;.
+ ///&lt;/property&gt;.
/// </summary>
internal static string TestListOfStrings {
get {
diff --git a/test/System.Web.Http.OData.Test/BaselineResource.resx b/test/System.Web.Http.OData.Test/BaselineResource.resx
index 320f74cb..07372441 100644
--- a/test/System.Web.Http.OData.Test/BaselineResource.resx
+++ b/test/System.Web.Http.OData.Test/BaselineResource.resx
@@ -527,122 +527,122 @@
</data>
<data name="TestArrayOfBools" xml:space="preserve">
<value>&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;ArrayOfboolean xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;
+&lt;property xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;
&lt;element m:type="Edm.Boolean" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;true&lt;/element&gt;
&lt;element m:type="Edm.Boolean" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;false&lt;/element&gt;
&lt;element m:type="Edm.Boolean" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;true&lt;/element&gt;
&lt;element m:type="Edm.Boolean" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;false&lt;/element&gt;
-&lt;/ArrayOfboolean&gt;</value>
+&lt;/property&gt;</value>
</data>
<data name="TestArrayOfInts" xml:space="preserve">
<value>&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;ArrayOfint xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;
+&lt;property xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;
&lt;element m:type="Edm.Int32" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;10&lt;/element&gt;
&lt;element m:type="Edm.Int32" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;20&lt;/element&gt;
&lt;element m:type="Edm.Int32" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;30&lt;/element&gt;
&lt;element m:type="Edm.Int32" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;40&lt;/element&gt;
&lt;element m:type="Edm.Int32" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;50&lt;/element&gt;
-&lt;/ArrayOfint&gt;</value>
+&lt;/property&gt;</value>
</data>
<data name="TestCollectionOfPerson" xml:space="preserve">
<value>&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;ArrayOfPerson xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;
- &lt;element m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Person" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;
+&lt;property xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"&gt;
+ &lt;element m:type="System.Web.Http.OData.TestCommon.Models.Person"&gt;
&lt;Age m:type="Edm.Int32"&gt;20&lt;/Age&gt;
- &lt;FavoriteHobby m:type="HobbyActivity"&gt;
- &lt;ActivityName&gt;Xbox Gaming&lt;/ActivityName&gt;
- &lt;/FavoriteHobby&gt;
- &lt;FirstName&gt;Frank&lt;/FirstName&gt;
&lt;Gender&gt;Male&lt;/Gender&gt;
- &lt;HomeAddress m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Address"&gt;
- &lt;City&gt;Redmond&lt;/City&gt;
- &lt;State&gt;WA&lt;/State&gt;
- &lt;StreetAddress&gt;4850 156th Ave NE&lt;/StreetAddress&gt;
- &lt;ZipCode m:type="Edm.Int32"&gt;98052&lt;/ZipCode&gt;
- &lt;/HomeAddress&gt;
- &lt;HomeNumber m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/PhoneNumber"&gt;
- &lt;AreaCode m:type="Edm.Int32"&gt;425&lt;/AreaCode&gt;
+ &lt;FirstName&gt;Frank&lt;/FirstName&gt;
+ &lt;Alias m:type="Collection(Edm.String)"&gt;
+ &lt;d:element xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;Alias0&lt;/d:element&gt;
+ &lt;/Alias&gt;
+ &lt;Address m:type="System.Web.Http.OData.TestCommon.Models.Address"&gt;
+ &lt;StreetAddress&gt;StreetAddress1&lt;/StreetAddress&gt;
+ &lt;City&gt;City1&lt;/City&gt;
+ &lt;State&gt;State1&lt;/State&gt;
+ &lt;ZipCode m:type="Edm.Int32"&gt;1&lt;/ZipCode&gt;
+ &lt;/Address&gt;
+ &lt;HomeNumber m:type="System.Web.Http.OData.TestCommon.Models.PhoneNumber"&gt;
&lt;CountryCode m:type="Edm.Int32"&gt;1&lt;/CountryCode&gt;
+ &lt;AreaCode m:type="Edm.Int32"&gt;425&lt;/AreaCode&gt;
&lt;Number m:type="Edm.Int32"&gt;9879089&lt;/Number&gt;
&lt;PhoneType&gt;HomePhone&lt;/PhoneType&gt;
&lt;/HomeNumber&gt;
- &lt;OtherNames &gt;
- &lt;d:element xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;Alias0&lt;/d:element&gt;
- &lt;/OtherNames&gt;
- &lt;/element&gt;
- &lt;element m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Person" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;
- &lt;Age m:type="Edm.Int32"&gt;21&lt;/Age&gt;
- &lt;FavoriteHobby m:type="HobbyActivity"&gt;
+ &lt;FavoriteHobby m:type="System.Web.Http.OData.TestCommon.Models.IActivity"&gt;
&lt;ActivityName&gt;Xbox Gaming&lt;/ActivityName&gt;
&lt;/FavoriteHobby&gt;
- &lt;FirstName&gt;Steve&lt;/FirstName&gt;
+ &lt;/element&gt;
+ &lt;element m:type="System.Web.Http.OData.TestCommon.Models.Person"&gt;
+ &lt;Age m:type="Edm.Int32"&gt;21&lt;/Age&gt;
&lt;Gender&gt;Male&lt;/Gender&gt;
- &lt;HomeAddress m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Address"&gt;
- &lt;City&gt;Redmond&lt;/City&gt;
- &lt;State&gt;WA&lt;/State&gt;
- &lt;StreetAddress&gt;4851 157th Ave NE&lt;/StreetAddress&gt;
- &lt;ZipCode m:type="Edm.Int32"&gt;98053&lt;/ZipCode&gt;
- &lt;/HomeAddress&gt;
- &lt;HomeNumber m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/PhoneNumber"&gt;
- &lt;AreaCode m:type="Edm.Int32"&gt;425&lt;/AreaCode&gt;
+ &lt;FirstName&gt;Steve&lt;/FirstName&gt;
+ &lt;Alias m:type="Collection(Edm.String)"&gt;
+ &lt;d:element xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;Alias1&lt;/d:element&gt;
+ &lt;/Alias&gt;
+ &lt;Address m:type="System.Web.Http.OData.TestCommon.Models.Address"&gt;
+ &lt;StreetAddress&gt;StreetAddress2&lt;/StreetAddress&gt;
+ &lt;City&gt;City2&lt;/City&gt;
+ &lt;State&gt;State2&lt;/State&gt;
+ &lt;ZipCode m:type="Edm.Int32"&gt;2&lt;/ZipCode&gt;
+ &lt;/Address&gt;
+ &lt;HomeNumber m:type="System.Web.Http.OData.TestCommon.Models.PhoneNumber"&gt;
&lt;CountryCode m:type="Edm.Int32"&gt;1&lt;/CountryCode&gt;
+ &lt;AreaCode m:type="Edm.Int32"&gt;425&lt;/AreaCode&gt;
&lt;Number m:type="Edm.Int32"&gt;9879090&lt;/Number&gt;
&lt;PhoneType&gt;HomePhone&lt;/PhoneType&gt;
&lt;/HomeNumber&gt;
- &lt;OtherNames &gt;
- &lt;d:element xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;Alias1&lt;/d:element&gt;
- &lt;/OtherNames&gt;
- &lt;/element&gt;
- &lt;element m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Person" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"&gt;
- &lt;Age m:type="Edm.Int32"&gt;22&lt;/Age&gt;
- &lt;FavoriteHobby m:type="HobbyActivity"&gt;
+ &lt;FavoriteHobby m:type="System.Web.Http.OData.TestCommon.Models.IActivity"&gt;
&lt;ActivityName&gt;Xbox Gaming&lt;/ActivityName&gt;
&lt;/FavoriteHobby&gt;
- &lt;FirstName&gt;Tom&lt;/FirstName&gt;
+ &lt;/element&gt;
+ &lt;element m:type="System.Web.Http.OData.TestCommon.Models.Person"&gt;
+ &lt;Age m:type="Edm.Int32"&gt;22&lt;/Age&gt;
&lt;Gender&gt;Male&lt;/Gender&gt;
- &lt;HomeAddress m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Address"&gt;
- &lt;City&gt;Redmond&lt;/City&gt;
- &lt;State&gt;WA&lt;/State&gt;
- &lt;StreetAddress&gt;4852 158th Ave NE&lt;/StreetAddress&gt;
- &lt;ZipCode m:type="Edm.Int32"&gt;98054&lt;/ZipCode&gt;
- &lt;/HomeAddress&gt;
- &lt;HomeNumber m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/PhoneNumber"&gt;
- &lt;AreaCode m:type="Edm.Int32"&gt;425&lt;/AreaCode&gt;
+ &lt;FirstName&gt;Tom&lt;/FirstName&gt;
+ &lt;Alias m:type="Collection(Edm.String)"&gt;
+ &lt;d:element xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;Alias2&lt;/d:element&gt;
+ &lt;/Alias&gt;
+ &lt;Address m:type="System.Web.Http.OData.TestCommon.Models.Address"&gt;
+ &lt;StreetAddress&gt;StreetAddress3&lt;/StreetAddress&gt;
+ &lt;City&gt;City3&lt;/City&gt;
+ &lt;State&gt;State3&lt;/State&gt;
+ &lt;ZipCode m:type="Edm.Int32"&gt;3&lt;/ZipCode&gt;
+ &lt;/Address&gt;
+ &lt;HomeNumber m:type="System.Web.Http.OData.TestCommon.Models.PhoneNumber"&gt;
&lt;CountryCode m:type="Edm.Int32"&gt;1&lt;/CountryCode&gt;
+ &lt;AreaCode m:type="Edm.Int32"&gt;425&lt;/AreaCode&gt;
&lt;Number m:type="Edm.Int32"&gt;9879091&lt;/Number&gt;
&lt;PhoneType&gt;HomePhone&lt;/PhoneType&gt;
&lt;/HomeNumber&gt;
- &lt;OtherNames &gt;
- &lt;d:element xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;Alias2&lt;/d:element&gt;
- &lt;/OtherNames&gt;
+ &lt;FavoriteHobby m:type="System.Web.Http.OData.TestCommon.Models.IActivity"&gt;
+ &lt;ActivityName&gt;Xbox Gaming&lt;/ActivityName&gt;
+ &lt;/FavoriteHobby&gt;
&lt;/element&gt;
-&lt;/ArrayOfPerson&gt;</value>
+&lt;/property&gt;</value>
</data>
<data name="TestComplexTypePerson" xml:space="preserve">
<value>&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;d:Person xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Person"&gt;
+&lt;d:property xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" m:type="System.Web.Http.OData.TestCommon.Models.Person"&gt;
&lt;d:Age m:type="Edm.Int32"&gt;20&lt;/d:Age&gt;
- &lt;d:FavoriteHobby m:type="HobbyActivity"&gt;
- &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
- &lt;/d:FavoriteHobby&gt;
- &lt;d:FirstName&gt;Frank&lt;/d:FirstName&gt;
&lt;d:Gender&gt;Male&lt;/d:Gender&gt;
- &lt;d:HomeAddress m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Address"&gt;
- &lt;d:City&gt;Redmond&lt;/d:City&gt;
- &lt;d:State&gt;WA&lt;/d:State&gt;
- &lt;d:StreetAddress&gt;4850 156th Ave NE&lt;/d:StreetAddress&gt;
- &lt;d:ZipCode m:type="Edm.Int32"&gt;98052&lt;/d:ZipCode&gt;
- &lt;/d:HomeAddress&gt;
- &lt;d:HomeNumber m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/PhoneNumber"&gt;
- &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
+ &lt;d:FirstName&gt;Frank&lt;/d:FirstName&gt;
+ &lt;d:Alias m:type="Collection(Edm.String)"&gt;
+ &lt;d:element&gt;Alias0&lt;/d:element&gt;
+ &lt;/d:Alias&gt;
+ &lt;d:Address m:type="System.Web.Http.OData.TestCommon.Models.Address"&gt;
+ &lt;d:StreetAddress&gt;StreetAddress1&lt;/d:StreetAddress&gt;
+ &lt;d:City&gt;City1&lt;/d:City&gt;
+ &lt;d:State&gt;State1&lt;/d:State&gt;
+ &lt;d:ZipCode m:type="Edm.Int32"&gt;1&lt;/d:ZipCode&gt;
+ &lt;/d:Address&gt;
+ &lt;d:HomeNumber m:type="System.Web.Http.OData.TestCommon.Models.PhoneNumber"&gt;
&lt;d:CountryCode m:type="Edm.Int32"&gt;1&lt;/d:CountryCode&gt;
+ &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
&lt;d:Number m:type="Edm.Int32"&gt;9879089&lt;/d:Number&gt;
&lt;d:PhoneType&gt;HomePhone&lt;/d:PhoneType&gt;
&lt;/d:HomeNumber&gt;
- &lt;d:OtherNames &gt;
- &lt;d:element&gt;Alias0&lt;/d:element&gt;
- &lt;/d:OtherNames&gt;
-&lt;/d:Person&gt;</value>
+ &lt;d:FavoriteHobby m:type="System.Web.Http.OData.TestCommon.Models.IActivity"&gt;
+ &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
+ &lt;/d:FavoriteHobby&gt;
+&lt;/d:property&gt;</value>
</data>
<data name="TestDictionary" xml:space="preserve">
<value>&lt;?xml version="1.0" encoding="utf-8"?&gt;
@@ -667,44 +667,14 @@
</data>
<data name="TestEntityTypeBasic" xml:space="preserve">
<value>&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;entry xml:base="http://www.tempuri.org/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"&gt;
- &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/http://schemas.microsoft.com/ado/2007/08/dataservices/related/CurrentWorkItem" type="application/atom+xml;type=entry" title="http://schemas.microsoft.com/ado/2007/08/dataservices/related/CurrentWorkItem" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(0)/CurrentWorkItem"&gt;
- &lt;m:inline&gt;
- &lt;entry&gt;
- &lt;id&gt;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem(25)&lt;/id&gt;
- &lt;category term="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /&gt;
- &lt;link rel="self" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem(25)" /&gt;
- &lt;title /&gt;
- &lt;updated&gt;UpdatedTime&lt;/updated&gt;
- &lt;author&gt;
- &lt;name /&gt;
- &lt;/author&gt;
- &lt;content type="application/xml"&gt;
- &lt;m:properties&gt;
- &lt;d:EmployeeID m:type="Edm.Int32"&gt;0&lt;/d:EmployeeID&gt;
- &lt;d:IsCompleted m:type="Edm.Boolean"&gt;false&lt;/d:IsCompleted&gt;
- &lt;d:NumberOfHours m:type="Edm.Single"&gt;16&lt;/d:NumberOfHours&gt;
- &lt;d:WorkItemID m:type="Edm.Int32"&gt;25&lt;/d:WorkItemID&gt;
- &lt;/m:properties&gt;
- &lt;/content&gt;
- &lt;/entry&gt;
- &lt;/m:inline&gt;
- &lt;/link&gt;
- &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/http://schemas.microsoft.com/ado/2007/08/dataservices/related/DirectReports" type="application/atom+xml;type=feed" title="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DirectReports" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(0)/DirectReports"&gt;
- &lt;m:inline&gt;
- &lt;feed&gt;
- &lt;id&gt;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee&lt;/id&gt;
- &lt;title /&gt;
- &lt;updated&gt;UpdatedTime&lt;/updated&gt;
- &lt;author&gt;
- &lt;name /&gt;
- &lt;/author&gt;
- &lt;/feed&gt;
- &lt;/m:inline&gt;
- &lt;/link&gt;
- &lt;id&gt;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(0)&lt;/id&gt;
- &lt;category term="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /&gt;
- &lt;link rel="self" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(0)" /&gt;
+&lt;entry xml:base="http://localhost/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"&gt;
+ &lt;id&gt;http://localhost/employees(0L)&lt;/id&gt;
+ &lt;category term="System.Web.Http.OData.TestCommon.Models.Employee" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /&gt;
+ &lt;link rel="edit" href="http://localhost/employees(0L)" /&gt;
+ &lt;link rel="self" href="http://localhost/employees(0L)" /&gt;
+ &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Manager" type="application/atom+xml;type=entry" title="Manager" href="http://localhost/employees(0L)/Manager" /&gt;
+ &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DirectReports" type="application/atom+xml;type=feed" title="DirectReports" href="http://localhost/employees(0L)/DirectReports" /&gt;
+ &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/WorkItem" type="application/atom+xml;type=entry" title="WorkItem" href="http://localhost/employees(0L)/WorkItem" /&gt;
&lt;title /&gt;
&lt;updated&gt;UpdatedTime&lt;/updated&gt;
&lt;author&gt;
@@ -712,69 +682,28 @@
&lt;/author&gt;
&lt;content type="application/xml"&gt;
&lt;m:properties&gt;
+ &lt;d:EmployeeId m:type="Edm.Int64"&gt;0&lt;/d:EmployeeId&gt;
&lt;d:Age m:type="Edm.Int32"&gt;20&lt;/d:Age&gt;
- &lt;d:FavoriteHobby m:type="HobbyActivity"&gt;
- &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
- &lt;/d:FavoriteHobby&gt;
- &lt;d:FirstName&gt;Frank&lt;/d:FirstName&gt;
&lt;d:Gender&gt;Male&lt;/d:Gender&gt;
- &lt;d:HomeAddress m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Address"&gt;
- &lt;d:City&gt;Redmond&lt;/d:City&gt;
- &lt;d:State&gt;WA&lt;/d:State&gt;
- &lt;d:StreetAddress&gt;4850 156th Ave NE&lt;/d:StreetAddress&gt;
- &lt;d:ZipCode m:type="Edm.Int32"&gt;98052&lt;/d:ZipCode&gt;
- &lt;/d:HomeAddress&gt;
- &lt;d:HomeNumber m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/PhoneNumber"&gt;
- &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
+ &lt;d:FirstName&gt;Frank&lt;/d:FirstName&gt;
+ &lt;d:Alias m:type="Collection(Edm.String)"&gt;
+ &lt;d:element&gt;Alias0&lt;/d:element&gt;
+ &lt;/d:Alias&gt;
+ &lt;d:Address m:type="System.Web.Http.OData.TestCommon.Models.Address"&gt;
+ &lt;d:StreetAddress&gt;StreetAddress1&lt;/d:StreetAddress&gt;
+ &lt;d:City&gt;City1&lt;/d:City&gt;
+ &lt;d:State&gt;State1&lt;/d:State&gt;
+ &lt;d:ZipCode m:type="Edm.Int32"&gt;1&lt;/d:ZipCode&gt;
+ &lt;/d:Address&gt;
+ &lt;d:HomeNumber m:type="System.Web.Http.OData.TestCommon.Models.PhoneNumber"&gt;
&lt;d:CountryCode m:type="Edm.Int32"&gt;1&lt;/d:CountryCode&gt;
+ &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
&lt;d:Number m:type="Edm.Int32"&gt;9879089&lt;/d:Number&gt;
&lt;d:PhoneType&gt;HomePhone&lt;/d:PhoneType&gt;
&lt;/d:HomeNumber&gt;
- &lt;d:OtherNames &gt;
- &lt;d:element&gt;Alias0&lt;/d:element&gt;
- &lt;/d:OtherNames&gt;
- &lt;d:EmployeeId m:type="Edm.Int64"&gt;0&lt;/d:EmployeeId&gt;
- &lt;d:Manager m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee"&gt;
- &lt;d:Age m:type="Edm.Int32"&gt;21&lt;/d:Age&gt;
- &lt;d:FavoriteHobby m:type="HobbyActivity"&gt;
- &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
- &lt;/d:FavoriteHobby&gt;
- &lt;d:FirstName&gt;Steve&lt;/d:FirstName&gt;
- &lt;d:Gender&gt;Male&lt;/d:Gender&gt;
- &lt;d:HomeAddress m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Address"&gt;
- &lt;d:City&gt;Redmond&lt;/d:City&gt;
- &lt;d:State&gt;WA&lt;/d:State&gt;
- &lt;d:StreetAddress&gt;4851 157th Ave NE&lt;/d:StreetAddress&gt;
- &lt;d:ZipCode m:type="Edm.Int32"&gt;98053&lt;/d:ZipCode&gt;
- &lt;/d:HomeAddress&gt;
- &lt;d:HomeNumber m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/PhoneNumber"&gt;
- &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
- &lt;d:CountryCode m:type="Edm.Int32"&gt;1&lt;/d:CountryCode&gt;
- &lt;d:Number m:type="Edm.Int32"&gt;9879090&lt;/d:Number&gt;
- &lt;d:PhoneType&gt;HomePhone&lt;/d:PhoneType&gt;
- &lt;/d:HomeNumber&gt;
- &lt;d:OtherNames &gt;
- &lt;d:element&gt;Alias1&lt;/d:element&gt;
- &lt;/d:OtherNames&gt;
- &lt;d:CurrentWorkItem m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem"&gt;
- &lt;d:EmployeeID m:type="Edm.Int32"&gt;1&lt;/d:EmployeeID&gt;
- &lt;d:IsCompleted m:type="Edm.Boolean"&gt;false&lt;/d:IsCompleted&gt;
- &lt;d:NumberOfHours m:type="Edm.Single"&gt;17&lt;/d:NumberOfHours&gt;
- &lt;d:WorkItemID m:type="Edm.Int32"&gt;26&lt;/d:WorkItemID&gt;
- &lt;/d:CurrentWorkItem&gt;
-
- &lt;d:EmployeeId m:type="Edm.Int64"&gt;1&lt;/d:EmployeeId&gt;
- &lt;d:Manager m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee"&gt;
- &lt;d:Age m:type="Edm.Int32"&gt;22&lt;/d:Age&gt;
- &lt;d:FirstName&gt;Tom&lt;/d:FirstName&gt;
- &lt;d:Gender&gt;Male&lt;/d:Gender&gt;
- &lt;d:OtherNames &gt;
- &lt;d:element&gt;Alias2&lt;/d:element&gt;
- &lt;/d:OtherNames&gt;
-
- &lt;d:EmployeeId m:type="Edm.Int64"&gt;2&lt;/d:EmployeeId&gt;
- &lt;/d:Manager&gt;
- &lt;/d:Manager&gt;
+ &lt;d:FavoriteHobby m:type="System.Web.Http.OData.TestCommon.Models.IActivity"&gt;
+ &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
+ &lt;/d:FavoriteHobby&gt;
&lt;/m:properties&gt;
&lt;/content&gt;
&lt;/entry&gt;</value>
@@ -909,45 +838,19 @@
</data>
<data name="TestFeedOfEmployee" xml:space="preserve">
<value>&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;feed xml:base="http://www.tempuri.org/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"&gt;
+&lt;feed xml:base="http://localhost/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"&gt;
+ &lt;id&gt;http://schemas.datacontract.org/2004/07/&lt;/id&gt;
+ &lt;title /&gt;
+ &lt;updated&gt;UpdatedTime&lt;/updated&gt;
+ &lt;link rel="self" href="http://localhost/employees" /&gt;
&lt;entry&gt;
- &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/http://schemas.microsoft.com/ado/2007/08/dataservices/related/CurrentWorkItem" type="application/atom+xml;type=entry" title="http://schemas.microsoft.com/ado/2007/08/dataservices/related/CurrentWorkItem" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(0)/CurrentWorkItem"&gt;
- &lt;m:inline&gt;
- &lt;entry&gt;
- &lt;id&gt;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem(25)&lt;/id&gt;
- &lt;category term="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /&gt;
- &lt;link rel="self" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem(25)" /&gt;
- &lt;title /&gt;
- &lt;updated&gt;UpdatedTime&lt;/updated&gt;
- &lt;author&gt;
- &lt;name /&gt;
- &lt;/author&gt;
- &lt;content type="application/xml"&gt;
- &lt;m:properties&gt;
- &lt;d:EmployeeID m:type="Edm.Int32"&gt;0&lt;/d:EmployeeID&gt;
- &lt;d:IsCompleted m:type="Edm.Boolean"&gt;false&lt;/d:IsCompleted&gt;
- &lt;d:NumberOfHours m:type="Edm.Single"&gt;16&lt;/d:NumberOfHours&gt;
- &lt;d:WorkItemID m:type="Edm.Int32"&gt;25&lt;/d:WorkItemID&gt;
- &lt;/m:properties&gt;
- &lt;/content&gt;
- &lt;/entry&gt;
- &lt;/m:inline&gt;
- &lt;/link&gt;
- &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/http://schemas.microsoft.com/ado/2007/08/dataservices/related/DirectReports" type="application/atom+xml;type=feed" title="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DirectReports" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(0)/DirectReports"&gt;
- &lt;m:inline&gt;
- &lt;feed&gt;
- &lt;id&gt;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee&lt;/id&gt;
- &lt;title /&gt;
- &lt;updated&gt;UpdatedTime&lt;/updated&gt;
- &lt;author&gt;
- &lt;name /&gt;
- &lt;/author&gt;
- &lt;/feed&gt;
- &lt;/m:inline&gt;
- &lt;/link&gt;
- &lt;id&gt;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(0)&lt;/id&gt;
- &lt;category term="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /&gt;
- &lt;link rel="self" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(0)" /&gt;
+ &lt;id&gt;http://localhost/employees(0L)&lt;/id&gt;
+ &lt;category term="System.Web.Http.OData.TestCommon.Models.Employee" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /&gt;
+ &lt;link rel="edit" href="http://localhost/employees(0L)" /&gt;
+ &lt;link rel="self" href="http://localhost/employees(0L)" /&gt;
+ &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Manager" type="application/atom+xml;type=entry" title="Manager" href="http://localhost/employees(0L)/Manager" /&gt;
+ &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DirectReports" type="application/atom+xml;type=feed" title="DirectReports" href="http://localhost/employees(0L)/DirectReports" /&gt;
+ &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/WorkItem" type="application/atom+xml;type=entry" title="WorkItem" href="http://localhost/employees(0L)/WorkItem" /&gt;
&lt;title /&gt;
&lt;updated&gt;UpdatedTime&lt;/updated&gt;
&lt;author&gt;
@@ -955,110 +858,39 @@
&lt;/author&gt;
&lt;content type="application/xml"&gt;
&lt;m:properties&gt;
+ &lt;d:EmployeeId m:type="Edm.Int64"&gt;0&lt;/d:EmployeeId&gt;
&lt;d:Age m:type="Edm.Int32"&gt;20&lt;/d:Age&gt;
- &lt;d:FavoriteHobby m:type="HobbyActivity"&gt;
- &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
- &lt;/d:FavoriteHobby&gt;
- &lt;d:FirstName&gt;Frank&lt;/d:FirstName&gt;
&lt;d:Gender&gt;Male&lt;/d:Gender&gt;
- &lt;d:HomeAddress m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Address"&gt;
- &lt;d:City&gt;Redmond&lt;/d:City&gt;
- &lt;d:State&gt;WA&lt;/d:State&gt;
- &lt;d:StreetAddress&gt;4850 156th Ave NE&lt;/d:StreetAddress&gt;
- &lt;d:ZipCode m:type="Edm.Int32"&gt;98052&lt;/d:ZipCode&gt;
- &lt;/d:HomeAddress&gt;
- &lt;d:HomeNumber m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/PhoneNumber"&gt;
- &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
+ &lt;d:FirstName&gt;Frank&lt;/d:FirstName&gt;
+ &lt;d:Alias m:type="Collection(Edm.String)"&gt;
+ &lt;d:element&gt;Alias0&lt;/d:element&gt;
+ &lt;/d:Alias&gt;
+ &lt;d:Address m:type="System.Web.Http.OData.TestCommon.Models.Address"&gt;
+ &lt;d:StreetAddress&gt;StreetAddress1&lt;/d:StreetAddress&gt;
+ &lt;d:City&gt;City1&lt;/d:City&gt;
+ &lt;d:State&gt;State1&lt;/d:State&gt;
+ &lt;d:ZipCode m:type="Edm.Int32"&gt;1&lt;/d:ZipCode&gt;
+ &lt;/d:Address&gt;
+ &lt;d:HomeNumber m:type="System.Web.Http.OData.TestCommon.Models.PhoneNumber"&gt;
&lt;d:CountryCode m:type="Edm.Int32"&gt;1&lt;/d:CountryCode&gt;
+ &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
&lt;d:Number m:type="Edm.Int32"&gt;9879089&lt;/d:Number&gt;
&lt;d:PhoneType&gt;HomePhone&lt;/d:PhoneType&gt;
&lt;/d:HomeNumber&gt;
- &lt;d:OtherNames &gt;
- &lt;d:element&gt;Alias0&lt;/d:element&gt;
- &lt;/d:OtherNames&gt;
- &lt;d:EmployeeId m:type="Edm.Int64"&gt;0&lt;/d:EmployeeId&gt;
- &lt;d:Manager m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee"&gt;
- &lt;d:Age m:type="Edm.Int32"&gt;21&lt;/d:Age&gt;
- &lt;d:FavoriteHobby m:type="HobbyActivity"&gt;
- &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
- &lt;/d:FavoriteHobby&gt;
- &lt;d:FirstName&gt;Steve&lt;/d:FirstName&gt;
- &lt;d:Gender&gt;Male&lt;/d:Gender&gt;
- &lt;d:HomeAddress m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Address"&gt;
- &lt;d:City&gt;Redmond&lt;/d:City&gt;
- &lt;d:State&gt;WA&lt;/d:State&gt;
- &lt;d:StreetAddress&gt;4851 157th Ave NE&lt;/d:StreetAddress&gt;
- &lt;d:ZipCode m:type="Edm.Int32"&gt;98053&lt;/d:ZipCode&gt;
- &lt;/d:HomeAddress&gt;
- &lt;d:HomeNumber m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/PhoneNumber"&gt;
- &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
- &lt;d:CountryCode m:type="Edm.Int32"&gt;1&lt;/d:CountryCode&gt;
- &lt;d:Number m:type="Edm.Int32"&gt;9879090&lt;/d:Number&gt;
- &lt;d:PhoneType&gt;HomePhone&lt;/d:PhoneType&gt;
- &lt;/d:HomeNumber&gt;
- &lt;d:OtherNames &gt;
- &lt;d:element&gt;Alias1&lt;/d:element&gt;
- &lt;/d:OtherNames&gt;
- &lt;d:CurrentWorkItem m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem"&gt;
- &lt;d:EmployeeID m:type="Edm.Int32"&gt;1&lt;/d:EmployeeID&gt;
- &lt;d:IsCompleted m:type="Edm.Boolean"&gt;false&lt;/d:IsCompleted&gt;
- &lt;d:NumberOfHours m:type="Edm.Single"&gt;17&lt;/d:NumberOfHours&gt;
- &lt;d:WorkItemID m:type="Edm.Int32"&gt;26&lt;/d:WorkItemID&gt;
- &lt;/d:CurrentWorkItem&gt;
-
- &lt;d:EmployeeId m:type="Edm.Int64"&gt;1&lt;/d:EmployeeId&gt;
- &lt;d:Manager m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee"&gt;
- &lt;d:Age m:type="Edm.Int32"&gt;22&lt;/d:Age&gt;
- &lt;d:FirstName&gt;Tom&lt;/d:FirstName&gt;
- &lt;d:Gender&gt;Male&lt;/d:Gender&gt;
- &lt;d:OtherNames &gt;
- &lt;d:element&gt;Alias2&lt;/d:element&gt;
- &lt;/d:OtherNames&gt;
-
- &lt;d:EmployeeId m:type="Edm.Int64"&gt;2&lt;/d:EmployeeId&gt;
- &lt;/d:Manager&gt;
- &lt;/d:Manager&gt;
+ &lt;d:FavoriteHobby m:type="System.Web.Http.OData.TestCommon.Models.IActivity"&gt;
+ &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
+ &lt;/d:FavoriteHobby&gt;
&lt;/m:properties&gt;
&lt;/content&gt;
&lt;/entry&gt;
&lt;entry&gt;
- &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/http://schemas.microsoft.com/ado/2007/08/dataservices/related/CurrentWorkItem" type="application/atom+xml;type=entry" title="http://schemas.microsoft.com/ado/2007/08/dataservices/related/CurrentWorkItem" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(1)/CurrentWorkItem"&gt;
- &lt;m:inline&gt;
- &lt;entry&gt;
- &lt;id&gt;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem(26)&lt;/id&gt;
- &lt;category term="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /&gt;
- &lt;link rel="self" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem(26)" /&gt;
- &lt;title /&gt;
- &lt;updated&gt;UpdatedTime&lt;/updated&gt;
- &lt;author&gt;
- &lt;name /&gt;
- &lt;/author&gt;
- &lt;content type="application/xml"&gt;
- &lt;m:properties&gt;
- &lt;d:EmployeeID m:type="Edm.Int32"&gt;1&lt;/d:EmployeeID&gt;
- &lt;d:IsCompleted m:type="Edm.Boolean"&gt;false&lt;/d:IsCompleted&gt;
- &lt;d:NumberOfHours m:type="Edm.Single"&gt;17&lt;/d:NumberOfHours&gt;
- &lt;d:WorkItemID m:type="Edm.Int32"&gt;26&lt;/d:WorkItemID&gt;
- &lt;/m:properties&gt;
- &lt;/content&gt;
- &lt;/entry&gt;
- &lt;/m:inline&gt;
- &lt;/link&gt;
- &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/http://schemas.microsoft.com/ado/2007/08/dataservices/related/DirectReports" type="application/atom+xml;type=feed" title="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DirectReports" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(1)/DirectReports"&gt;
- &lt;m:inline&gt;
- &lt;feed&gt;
- &lt;id&gt;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee&lt;/id&gt;
- &lt;title /&gt;
- &lt;updated&gt;UpdatedTime&lt;/updated&gt;
- &lt;author&gt;
- &lt;name /&gt;
- &lt;/author&gt;
- &lt;/feed&gt;
- &lt;/m:inline&gt;
- &lt;/link&gt;
- &lt;id&gt;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(1)&lt;/id&gt;
- &lt;category term="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /&gt;
- &lt;link rel="self" href="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee(1)" /&gt;
+ &lt;id&gt;http://localhost/employees(1L)&lt;/id&gt;
+ &lt;category term="System.Web.Http.OData.TestCommon.Models.Employee" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /&gt;
+ &lt;link rel="edit" href="http://localhost/employees(1L)" /&gt;
+ &lt;link rel="self" href="http://localhost/employees(1L)" /&gt;
+ &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Manager" type="application/atom+xml;type=entry" title="Manager" href="http://localhost/employees(1L)/Manager" /&gt;
+ &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DirectReports" type="application/atom+xml;type=feed" title="DirectReports" href="http://localhost/employees(1L)/DirectReports" /&gt;
+ &lt;link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/WorkItem" type="application/atom+xml;type=entry" title="WorkItem" href="http://localhost/employees(1L)/WorkItem" /&gt;
&lt;title /&gt;
&lt;updated&gt;UpdatedTime&lt;/updated&gt;
&lt;author&gt;
@@ -1066,85 +898,41 @@
&lt;/author&gt;
&lt;content type="application/xml"&gt;
&lt;m:properties&gt;
+ &lt;d:EmployeeId m:type="Edm.Int64"&gt;1&lt;/d:EmployeeId&gt;
&lt;d:Age m:type="Edm.Int32"&gt;21&lt;/d:Age&gt;
- &lt;d:FavoriteHobby m:type="HobbyActivity"&gt;
- &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
- &lt;/d:FavoriteHobby&gt;
- &lt;d:FirstName&gt;Steve&lt;/d:FirstName&gt;
&lt;d:Gender&gt;Male&lt;/d:Gender&gt;
- &lt;d:HomeAddress m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Address"&gt;
- &lt;d:City&gt;Redmond&lt;/d:City&gt;
- &lt;d:State&gt;WA&lt;/d:State&gt;
- &lt;d:StreetAddress&gt;4851 157th Ave NE&lt;/d:StreetAddress&gt;
- &lt;d:ZipCode m:type="Edm.Int32"&gt;98053&lt;/d:ZipCode&gt;
- &lt;/d:HomeAddress&gt;
- &lt;d:HomeNumber m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/PhoneNumber"&gt;
- &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
+ &lt;d:FirstName&gt;Steve&lt;/d:FirstName&gt;
+ &lt;d:Alias m:type="Collection(Edm.String)"&gt;
+ &lt;d:element&gt;Alias1&lt;/d:element&gt;
+ &lt;/d:Alias&gt;
+ &lt;d:Address m:type="System.Web.Http.OData.TestCommon.Models.Address"&gt;
+ &lt;d:StreetAddress&gt;StreetAddress2&lt;/d:StreetAddress&gt;
+ &lt;d:City&gt;City2&lt;/d:City&gt;
+ &lt;d:State&gt;State2&lt;/d:State&gt;
+ &lt;d:ZipCode m:type="Edm.Int32"&gt;2&lt;/d:ZipCode&gt;
+ &lt;/d:Address&gt;
+ &lt;d:HomeNumber m:type="System.Web.Http.OData.TestCommon.Models.PhoneNumber"&gt;
&lt;d:CountryCode m:type="Edm.Int32"&gt;1&lt;/d:CountryCode&gt;
+ &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
&lt;d:Number m:type="Edm.Int32"&gt;9879090&lt;/d:Number&gt;
&lt;d:PhoneType&gt;HomePhone&lt;/d:PhoneType&gt;
&lt;/d:HomeNumber&gt;
- &lt;d:OtherNames &gt;
- &lt;d:element&gt;Alias1&lt;/d:element&gt;
- &lt;/d:OtherNames&gt;
- &lt;d:EmployeeId m:type="Edm.Int64"&gt;1&lt;/d:EmployeeId&gt;
- &lt;d:Manager m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee"&gt;
- &lt;d:Age m:type="Edm.Int32"&gt;22&lt;/d:Age&gt;
- &lt;d:FavoriteHobby m:type="HobbyActivity"&gt;
- &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
- &lt;/d:FavoriteHobby&gt;
- &lt;d:FirstName&gt;Tom&lt;/d:FirstName&gt;
- &lt;d:Gender&gt;Male&lt;/d:Gender&gt;
- &lt;d:HomeAddress m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/Address"&gt;
- &lt;d:City&gt;Redmond&lt;/d:City&gt;
- &lt;d:State&gt;WA&lt;/d:State&gt;
- &lt;d:StreetAddress&gt;4852 158th Ave NE&lt;/d:StreetAddress&gt;
- &lt;d:ZipCode m:type="Edm.Int32"&gt;98054&lt;/d:ZipCode&gt;
- &lt;/d:HomeAddress&gt;
- &lt;d:HomeNumber m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.ComplexTypes/PhoneNumber"&gt;
- &lt;d:AreaCode m:type="Edm.Int32"&gt;425&lt;/d:AreaCode&gt;
- &lt;d:CountryCode m:type="Edm.Int32"&gt;1&lt;/d:CountryCode&gt;
- &lt;d:Number m:type="Edm.Int32"&gt;9879091&lt;/d:Number&gt;
- &lt;d:PhoneType&gt;HomePhone&lt;/d:PhoneType&gt;
- &lt;/d:HomeNumber&gt;
- &lt;d:OtherNames &gt;
- &lt;d:element&gt;Alias2&lt;/d:element&gt;
- &lt;/d:OtherNames&gt;
- &lt;d:CurrentWorkItem m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/WorkItem"&gt;
- &lt;d:EmployeeID m:type="Edm.Int32"&gt;2&lt;/d:EmployeeID&gt;
- &lt;d:IsCompleted m:type="Edm.Boolean"&gt;false&lt;/d:IsCompleted&gt;
- &lt;d:NumberOfHours m:type="Edm.Single"&gt;18&lt;/d:NumberOfHours&gt;
- &lt;d:WorkItemID m:type="Edm.Int32"&gt;27&lt;/d:WorkItemID&gt;
- &lt;/d:CurrentWorkItem&gt;
-
- &lt;d:EmployeeId m:type="Edm.Int64"&gt;2&lt;/d:EmployeeId&gt;
- &lt;d:Manager m:type="http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee"&gt;
- &lt;d:Age m:type="Edm.Int32"&gt;23&lt;/d:Age&gt;
- &lt;d:FirstName&gt;Chandler&lt;/d:FirstName&gt;
- &lt;d:Gender&gt;Male&lt;/d:Gender&gt;
- &lt;d:OtherNames &gt;
- &lt;d:element&gt;Alias3&lt;/d:element&gt;
- &lt;/d:OtherNames&gt;
-
- &lt;d:EmployeeId m:type="Edm.Int64"&gt;3&lt;/d:EmployeeId&gt;
- &lt;/d:Manager&gt;
- &lt;/d:Manager&gt;
+ &lt;d:FavoriteHobby m:type="System.Web.Http.OData.TestCommon.Models.IActivity"&gt;
+ &lt;d:ActivityName&gt;Xbox Gaming&lt;/d:ActivityName&gt;
+ &lt;/d:FavoriteHobby&gt;
&lt;/m:properties&gt;
&lt;/content&gt;
&lt;/entry&gt;
- &lt;id&gt;http://schemas.datacontract.org/2004/07/System.Net.Http.Formatting.OData.Test.EntityTypes/Employee&lt;/id&gt;
- &lt;title /&gt;
- &lt;updated&gt;UpdatedTime&lt;/updated&gt;
&lt;/feed&gt;</value>
</data>
<data name="TestListOfStrings" xml:space="preserve">
<value>&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;ArrayOfstring xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;
+&lt;property xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices"&gt;
&lt;element&gt;Frank&lt;/element&gt;
&lt;element&gt;Steve&lt;/element&gt;
&lt;element&gt;Tom&lt;/element&gt;
&lt;element&gt;Chandler&lt;/element&gt;
-&lt;/ArrayOfstring&gt;</value>
+&lt;/property&gt;</value>
</data>
<data name="TimeSpan" xml:space="preserve">
<value>&lt;?xml version="1.0" encoding="utf-8"?&gt;
diff --git a/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/CollectionTest.cs b/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/CollectionTest.cs
index 791e19f5..c8589504 100644
--- a/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/CollectionTest.cs
+++ b/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/CollectionTest.cs
@@ -3,21 +3,22 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Net.Http;
+using System.Web.Http.Hosting;
+using System.Web.Http.OData.Builder;
using System.Web.Http.OData.TestCommon.Models;
-using Microsoft.Data.OData;
+using Microsoft.Data.Edm;
using Microsoft.TestCommon;
namespace System.Web.Http.OData.Formatter.Serialization
{
public class CollectionTest
{
- ODataMediaTypeFormatter _formatter = new ODataMediaTypeFormatter();
+ ODataMediaTypeFormatter _formatter = new ODataMediaTypeFormatter(GetSampleModel()) { Request = GetSampleRequest() };
/// <summary>
/// Arrays the of ints serializes as O data.
/// </summary>
- [Fact(Skip = "Requires new functionality in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter writes out array of ints in valid ODataMessageFormat")]
+ [Fact]
public void ArrayOfIntsSerializesAsOData()
{
ObjectContent<int[]> content = new ObjectContent<int[]>(new int[] { 10, 20, 30, 40, 50 }, _formatter);
@@ -25,8 +26,7 @@ namespace System.Web.Http.OData.Formatter.Serialization
Assert.Xml.Equal(BaselineResource.TestArrayOfInts, content.ReadAsStringAsync().Result);
}
- [Fact(Skip = "Requires new functionality in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter writes out array of bool in valid ODataMessageFormat")]
+ [Fact]
public void ArrayOfBoolsSerializesAsOData()
{
ObjectContent<bool[]> content = new ObjectContent<bool[]>(new bool[] { true, false, true, false }, _formatter);
@@ -34,8 +34,7 @@ namespace System.Web.Http.OData.Formatter.Serialization
Assert.Xml.Equal(BaselineResource.TestArrayOfBools, content.ReadAsStringAsync().Result);
}
- [Fact(Skip = "Requires new functionality in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter writes out List of strings in valid ODataMessageFormat")]
+ [Fact]
public void ListOfStringsSerializesAsOData()
{
List<string> listOfStrings = new List<string>();
@@ -49,23 +48,7 @@ namespace System.Web.Http.OData.Formatter.Serialization
Assert.Xml.Equal(BaselineResource.TestListOfStrings, content.ReadAsStringAsync().Result);
}
- [Fact(Skip = "Requires new functionality in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter throws while writing out non-homogenous collection of objects")]
- public void CollectionOfObjectsSerializesAsOData()
- {
- Collection<object> collectionOfObjects = new Collection<object>();
- collectionOfObjects.Add(1);
- collectionOfObjects.Add("Frank");
- collectionOfObjects.Add(TypeInitializer.GetInstance(SupportedTypes.Person, 2));
- collectionOfObjects.Add(TypeInitializer.GetInstance(SupportedTypes.Employee, 3));
-
- ObjectContent<Collection<object>> content = new ObjectContent<Collection<object>>(collectionOfObjects, _formatter);
-
- Assert.Throws<ODataException>(() => content.ReadAsStringAsync().Result);
- }
-
- [Fact(Skip = "Requires new functionality in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter writes out Collection of complex types in valid ODataMessageFormat")]
+ [Fact]
public void CollectionOfComplexTypeSerializesAsOData()
{
IEnumerable<Person> collectionOfPerson = new Collection<Person>()
@@ -80,22 +63,7 @@ namespace System.Web.Http.OData.Formatter.Serialization
Assert.Xml.Equal(BaselineResource.TestCollectionOfPerson, content.ReadAsStringAsync().Result);
}
- [Fact(Skip = "Requires new functionality in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter writes out Dictionary type in valid ODataMessageFormat")]
- public void DictionarySerializesAsOData()
- {
- Dictionary<int, string> dictionary = new Dictionary<int, string>();
- dictionary.Add(1, "Frank");
- dictionary.Add(2, "Steve");
- dictionary.Add(3, "Tom");
- dictionary.Add(4, "Chandler");
-
- ObjectContent<Dictionary<int, string>> content = new ObjectContent<Dictionary<int, string>>(dictionary, _formatter);
-
- Assert.Xml.Equal(BaselineResource.TestDictionary, content.ReadAsStringAsync().Result);
- }
-
- [Fact(Skip = "Requires new functionality in the odata formatter")]
+ [Fact]
[Trait("Description", "ODataMediaTypeFormatter sets required headers for a complex type when serialized as XML.")]
public void ContentHeadersAreAddedForXmlMediaType()
{
@@ -103,11 +71,10 @@ namespace System.Web.Http.OData.Formatter.Serialization
content.LoadIntoBufferAsync().Wait();
Assert.Http.Contains(content.Headers, "DataServiceVersion", "3.0;");
- Assert.Http.Contains(content.Headers, "Content-Type", "application/xml");
+ Assert.Http.Contains(content.Headers, "Content-Type", "application/xml; charset=utf-8");
}
- [Fact(Skip = "Requires new functionality in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter sets required headers for a complex type when serialized as JSON.")]
+ [Fact]
public void ContentHeadersAreAddedForJsonMediaType()
{
HttpContent content = new ObjectContent<Person[]>(new Person[] { new Person(0, new ReferenceDepthContext(7)) }, _formatter, "application/json");
@@ -116,5 +83,20 @@ namespace System.Web.Http.OData.Formatter.Serialization
Assert.Http.Contains(content.Headers, "DataServiceVersion", "3.0;");
Assert.Equal(content.Headers.ContentType.MediaType, "application/json");
}
+
+ private static HttpRequestMessage GetSampleRequest()
+ {
+ HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/property");
+ HttpConfiguration config = new HttpConfiguration();
+ request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
+ return request;
+ }
+
+ private static IEdmModel GetSampleModel()
+ {
+ ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
+ builder.ComplexType<Person>();
+ return builder.GetEdmModel();
+ }
}
}
diff --git a/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/ComplexTypeTest.cs b/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/ComplexTypeTest.cs
index 2e25fdae..894ecb63 100644
--- a/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/ComplexTypeTest.cs
+++ b/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/ComplexTypeTest.cs
@@ -1,30 +1,19 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
using System.Net.Http;
+using System.Web.Http.Hosting;
using System.Web.Http.OData.Builder;
using System.Web.Http.OData.TestCommon.Models;
+using Microsoft.Data.Edm;
using Microsoft.TestCommon;
namespace System.Web.Http.OData.Formatter.Serialization
{
public class ComplexTypeTest
{
- ODataMediaTypeFormatter _formatter;
+ ODataMediaTypeFormatter _formatter = new ODataMediaTypeFormatter(GetSampleModel()) { Request = GetSampleRequest() };
- public ComplexTypeTest()
- {
- ODataModelBuilder model = new ODataModelBuilder();
- var person = model.ComplexType<Person>();
- person.Property(p => p.Age);
- person.Property(p => p.FirstName);
- person.ComplexProperty(p => p.FavoriteHobby);
- person.ComplexProperty(p => p.Gender);
-
- _formatter = new ODataMediaTypeFormatter(model.GetEdmModel());
- }
-
- [Fact(Skip = "Requires new functionality in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter writes out complex types in valid ODataMessageFormat")]
+ [Fact]
public void ComplexTypeSerializesAsOData()
{
ObjectContent<Person> content = new ObjectContent<Person>(new Person(0, new ReferenceDepthContext(7)), _formatter);
@@ -32,19 +21,17 @@ namespace System.Web.Http.OData.Formatter.Serialization
Assert.Xml.Equal(BaselineResource.TestComplexTypePerson, content.ReadAsStringAsync().Result);
}
- [Fact(Skip = "Requires new functionality in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter sets required headers for a complex type when serialized as XML.")]
+ [Fact]
public void ContentHeadersAreAddedForXmlMediaType()
{
ObjectContent<Person> content = new ObjectContent<Person>(new Person(0, new ReferenceDepthContext(7)), _formatter);
content.LoadIntoBufferAsync().Wait();
Assert.Http.Contains(content.Headers, "DataServiceVersion", "3.0;");
- Assert.Http.Contains(content.Headers, "Content-Type", "application/xml");
+ Assert.Http.Contains(content.Headers, "Content-Type", "application/xml; charset=utf-8");
}
- [Fact(Skip = "Requires new functionality in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter sets required headers for a complex type when serialized as JSON.")]
+ [Fact]
public void ContentHeadersAreAddedForJsonMediaType()
{
HttpContent content = new ObjectContent<Person>(new Person(0, new ReferenceDepthContext(7)), _formatter, "application/json");
@@ -53,5 +40,20 @@ namespace System.Web.Http.OData.Formatter.Serialization
Assert.Http.Contains(content.Headers, "DataServiceVersion", "3.0;");
Assert.Equal(content.Headers.ContentType.MediaType, "application/json");
}
+
+ private static HttpRequestMessage GetSampleRequest()
+ {
+ HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/property");
+ HttpConfiguration config = new HttpConfiguration();
+ request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
+ return request;
+ }
+
+ private static IEdmModel GetSampleModel()
+ {
+ ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
+ builder.ComplexType<Person>();
+ return builder.GetEdmModel();
+ }
}
}
diff --git a/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/EntityTypeTest.cs b/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/EntityTypeTest.cs
index 1745f621..fbe7db04 100644
--- a/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/EntityTypeTest.cs
+++ b/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/EntityTypeTest.cs
@@ -1,19 +1,21 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
using System.Net.Http;
+using System.Web.Http.Hosting;
+using System.Web.Http.OData.Builder;
using System.Web.Http.OData.TestCommon.Models;
+using System.Web.Http.Routing;
+using Microsoft.Data.Edm;
using Microsoft.TestCommon;
namespace System.Web.Http.OData.Formatter.Serialization
{
public class EntityTypeTest
{
- [Fact(Skip = "Requires inheritance support in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter serailizes an entity type in valid ODataMessageFormat")]
+ [Fact]
public void EntityTypeSerializesAsODataEntry()
{
- ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter();
-
+ ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter(GetSampleModel()) { Request = GetSampleRequest() };
Employee employee = (Employee)TypeInitializer.GetInstance(SupportedTypes.Employee);
ObjectContent<Employee> content = new ObjectContent<Employee>(employee, formatter);
@@ -21,43 +23,45 @@ namespace System.Web.Http.OData.Formatter.Serialization
Assert.Xml.Equal(BaselineResource.TestEntityTypeBasic, content.ReadAsStringAsync().Result, regexReplacements: replaceUpdateTime);
}
- [Fact(Skip = "Requires inheritance support in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter serailizes an entity type with multiple keys in valid ODataMessageFormat")]
- public void EntityTypeWithMultipleKeysSerializesAsODataEntry()
- {
- ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter();
-
- MultipleKeyEmployee multipleKeyEmployee = (MultipleKeyEmployee)TypeInitializer.GetInstance(SupportedTypes.MultipleKeyEmployee);
- ObjectContent<MultipleKeyEmployee> content = new ObjectContent<MultipleKeyEmployee>(multipleKeyEmployee, formatter);
-
- RegexReplacement replaceUpdateTime = new RegexReplacement("<updated>*.*</updated>", "<updated>UpdatedTime</updated>");
- Assert.Xml.Equal(BaselineResource.TestEntityTypeWithMultipleKeys, content.ReadAsStringAsync().Result, regexReplacements: replaceUpdateTime);
- }
-
- [Fact(Skip = "Requires inheritance support in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter sets required headers for an entity type when serialized as XML.")]
+ [Fact]
public void ContentHeadersAreAddedForXmlMediaType()
{
- ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter();
-
+ ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter(GetSampleModel()) { Request = GetSampleRequest() };
ObjectContent<Employee> content = new ObjectContent<Employee>(new Employee(0, new ReferenceDepthContext(7)), formatter);
content.LoadIntoBufferAsync().Wait();
Assert.Http.Contains(content.Headers, "DataServiceVersion", "3.0;");
- Assert.Http.Contains(content.Headers, "Content-Type", "application/atom+xml; type=entry");
+ Assert.Http.Contains(content.Headers, "Content-Type", "application/atom+xml; type=entry; charset=utf-8");
}
- [Fact(Skip = "Requires inheritance support in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter sets required headers for an entity type when serialized as JSON.")]
+ [Fact]
public void ContentHeadersAreAddedForJsonMediaType()
{
- ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter();
-
+ ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter(GetSampleModel()) { Request = GetSampleRequest() };
HttpContent content = new ObjectContent<Employee>(new Employee(0, new ReferenceDepthContext(7)), formatter, "application/json");
content.LoadIntoBufferAsync().Wait();
Assert.Http.Contains(content.Headers, "DataServiceVersion", "3.0;");
- Assert.Equal(content.Headers.ContentType.MediaType, "application/json");
+ Assert.Http.Contains(content.Headers, "Content-Type", "application/json; odata=verbose; charset=utf-8");
+ }
+
+ private static HttpRequestMessage GetSampleRequest()
+ {
+ HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/employees");
+ HttpConfiguration config = new HttpConfiguration();
+ config.Routes.MapHttpRoute(ODataRouteNames.GetById, "{controller}({id})");
+ config.Routes.MapHttpRoute(ODataRouteNames.PropertyNavigation, "{controller}({parentId})/{navigationProperty}");
+ request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
+ request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(new HttpRoute());
+ return request;
+ }
+
+ private static IEdmModel GetSampleModel()
+ {
+ ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
+ builder.EntitySet<Employee>("employees");
+ builder.EntitySet<WorkItem>("workitems");
+ return builder.GetEdmModel();
}
}
}
diff --git a/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/FeedTest.cs b/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/FeedTest.cs
index 4b18a73d..f28aa304 100644
--- a/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/FeedTest.cs
+++ b/test/System.Web.Http.OData.Test/OData/Formatter/Serialization/FeedTest.cs
@@ -3,18 +3,21 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Net.Http;
+using System.Web.Http.Hosting;
+using System.Web.Http.OData.Builder;
using System.Web.Http.OData.TestCommon.Models;
+using System.Web.Http.Routing;
+using Microsoft.Data.Edm;
using Microsoft.TestCommon;
namespace System.Web.Http.OData.Formatter.Serialization
{
public class FeedTest
{
- [Fact(Skip = "Requires inheritance support in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter serailizes a feed in valid ODataMessageFormat")]
+ [Fact]
public void IEnumerableOfEntityTypeSerializesAsODataFeed()
{
- ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter();
+ ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter(GetSampleModel()) { Request = GetSampleRequest() };
IEnumerable<Employee> collectionOfPerson = new Collection<Employee>()
{
@@ -28,30 +31,48 @@ namespace System.Web.Http.OData.Formatter.Serialization
Assert.Xml.Equal(BaselineResource.TestFeedOfEmployee, content.ReadAsStringAsync().Result, regexReplacements: replaceUpdateTime);
}
- [Fact(Skip = "Requires inheritance support in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter sets required headers for a feed when serialized as ATOM.")]
+ [Fact]
public void ContentHeadersAreAddedForXmlMediaType()
{
- ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter();
+ ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter(GetSampleModel()) { Request = GetSampleRequest() };
ObjectContent<IEnumerable<Employee>> content = new ObjectContent<IEnumerable<Employee>>(new Employee[] { new Employee(0, new ReferenceDepthContext(7)) }, formatter);
content.LoadIntoBufferAsync().Wait();
Assert.Http.Contains(content.Headers, "DataServiceVersion", "3.0;");
- Assert.Http.Contains(content.Headers, "Content-Type", "application/atom+xml; type=feed");
+ Assert.Http.Contains(content.Headers, "Content-Type", "application/atom+xml; type=feed; charset=utf-8");
}
- [Fact(Skip = "Requires inheritance support in the odata formatter")]
- [Trait("Description", "ODataMediaTypeFormatter sets required headers for a feed when serialized as JSON.")]
+ [Fact]
public void ContentHeadersAreAddedForJsonMediaType()
{
- ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter();
+ ODataMediaTypeFormatter formatter = new ODataMediaTypeFormatter(GetSampleModel()) { Request = GetSampleRequest() };
HttpContent content = new ObjectContent<IEnumerable<Employee>>(new Employee[] { new Employee(0, new ReferenceDepthContext(7)) }, formatter, "application/json");
content.LoadIntoBufferAsync().Wait();
Assert.Http.Contains(content.Headers, "DataServiceVersion", "3.0;");
- Assert.Equal(content.Headers.ContentType.MediaType, "application/json");
+ Assert.Http.Contains(content.Headers, "Content-Type", "application/json; odata=verbose; charset=utf-8");
+ }
+
+ private static HttpRequestMessage GetSampleRequest()
+ {
+ HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/employees");
+ HttpConfiguration config = new HttpConfiguration();
+ config.Routes.MapHttpRoute(ODataRouteNames.GetById, "{controller}({id})");
+ config.Routes.MapHttpRoute(ODataRouteNames.Default, "{controller}");
+ config.Routes.MapHttpRoute(ODataRouteNames.PropertyNavigation, "{controller}({parentId})/{navigationProperty}");
+ request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
+ request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(new HttpRoute());
+ return request;
+ }
+
+ private static IEdmModel GetSampleModel()
+ {
+ ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
+ builder.EntitySet<Employee>("employees");
+ builder.EntitySet<WorkItem>("workitems");
+ return builder.GetEdmModel();
}
}
}
diff --git a/test/System.Web.Http.OData.Test/System.Web.Http.OData.Test.csproj b/test/System.Web.Http.OData.Test/System.Web.Http.OData.Test.csproj
index d3e6876d..6ba2ae7b 100644
--- a/test/System.Web.Http.OData.Test/System.Web.Http.OData.Test.csproj
+++ b/test/System.Web.Http.OData.Test/System.Web.Http.OData.Test.csproj
@@ -222,7 +222,6 @@
<Compile Include="TestCommon\Models\ComplexTypes\POCO\PhoneType.cs" />
<Compile Include="TestCommon\DataSource.cs" />
<Compile Include="TestCommon\Models\EntityTypes\Attributed\Employee.cs" />
- <Compile Include="TestCommon\Models\EntityTypes\Attributed\MultipleKeyEmployee.cs" />
<Compile Include="TestCommon\Models\EntityTypes\POCO\AddressEntity.cs" />
<Compile Include="TestCommon\Models\EntityTypes\POCO\WorkItem.cs" />
<Compile Include="TestCommon\ReferenceDepthContext.cs" />
diff --git a/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/Attributed/Person.cs b/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/Attributed/Person.cs
index 543fadfc..5a7c78bf 100644
--- a/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/Attributed/Person.cs
+++ b/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/Attributed/Person.cs
@@ -16,13 +16,13 @@ namespace System.Web.Http.OData.TestCommon.Models
[DataMember(IsRequired = true)]
public string FirstName { get; set; }
- [DataMember(Name = "OtherNames")]
+ [DataMember]
public string[] Alias { get; set; }
- [DataMember(Name = "HomeAddress")]
+ [DataMember]
public Address Address { get; set; }
- [DataMember(EmitDefaultValue = true)]
+ [DataMember]
public PhoneNumber HomeNumber { get; set; }
public string UnserializableSSN { get; set; }
@@ -42,7 +42,7 @@ namespace System.Web.Http.OData.TestCommon.Models
this.FavoriteHobby = new HobbyActivity("Xbox Gaming");
}
- [DataContract(Namespace = "", Name = "HobbyActivity")]
+ [DataContract]
public class HobbyActivity : IActivity
{
public HobbyActivity(string hobbyName)
diff --git a/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/POCO/Address.cs b/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/POCO/Address.cs
index 8764db68..648936f7 100644
--- a/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/POCO/Address.cs
+++ b/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/POCO/Address.cs
@@ -4,11 +4,11 @@ namespace System.Web.Http.OData.TestCommon.Models
{
public class Address
{
- public string StreetAddress;
+ public string StreetAddress { get; set; }
- public string City;
+ public string City { get; set; }
- public string State;
+ public string State { get; set; }
public Address()
{
diff --git a/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/POCO/PhoneNumber.cs b/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/POCO/PhoneNumber.cs
index 0241a1fe..7c062842 100644
--- a/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/POCO/PhoneNumber.cs
+++ b/test/System.Web.Http.OData.Test/TestCommon/Models/ComplexTypes/POCO/PhoneNumber.cs
@@ -4,12 +4,12 @@ namespace System.Web.Http.OData.TestCommon.Models
{
public struct PhoneNumber
{
- public int CountryCode;
+ public int CountryCode { get; set; }
- public int AreaCode;
+ public int AreaCode { get; set; }
- public int Number;
+ public int Number { get; set; }
- public PhoneType PhoneType;
+ public PhoneType PhoneType { get; set; }
}
}
diff --git a/test/System.Web.Http.OData.Test/TestCommon/Models/EntityTypes/Attributed/Employee.cs b/test/System.Web.Http.OData.Test/TestCommon/Models/EntityTypes/Attributed/Employee.cs
index 13368360..6c167aed 100644
--- a/test/System.Web.Http.OData.Test/TestCommon/Models/EntityTypes/Attributed/Employee.cs
+++ b/test/System.Web.Http.OData.Test/TestCommon/Models/EntityTypes/Attributed/Employee.cs
@@ -11,16 +11,16 @@ namespace System.Web.Http.OData.TestCommon.Models
{
[Key]
[DataMember]
- public long EmployeeId;
+ public long EmployeeId { get; set; }
[DataMember]
- public Person Manager;
+ public Employee Manager { get; set; }
[DataMember]
- public List<Employee> DirectReports;
+ public List<Employee> DirectReports { get; set; }
- [DataMember(Name = "CurrentWorkItem")]
- public WorkItem WorkItem;
+ [DataMember]
+ public WorkItem WorkItem { get; set; }
public Employee(int index, ReferenceDepthContext context)
: base(index, context)
diff --git a/test/System.Web.Http.OData.Test/TestCommon/Models/EntityTypes/Attributed/MultipleKeyEmployee.cs b/test/System.Web.Http.OData.Test/TestCommon/Models/EntityTypes/Attributed/MultipleKeyEmployee.cs
deleted file mode 100644
index a7e60edb..00000000
--- a/test/System.Web.Http.OData.Test/TestCommon/Models/EntityTypes/Attributed/MultipleKeyEmployee.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
-
-using System.ComponentModel.DataAnnotations;
-using System.Runtime.Serialization;
-
-namespace System.Web.Http.OData.TestCommon.Models
-{
- [DataContract]
- public class MultipleKeyEmployee : Employee
- {
- [Key]
- [DataMember]
- public Guid EmployeeGuid;
-
- [Key]
- [DataMember]
- public string UniqueStringId
- {
- get;
- set;
- }
-
- public MultipleKeyEmployee(int index, ReferenceDepthContext context)
- : base(index, context)
- {
- this.EmployeeGuid = new Guid("844080c0-2f9e-472e-8c72-1a8ecd9f9037");
- this.UniqueStringId = DataSource.Names[index] + index;
- }
- }
-}
diff --git a/test/System.Web.Http.OData.Test/TestCommon/TypeInitializer.cs b/test/System.Web.Http.OData.Test/TestCommon/TypeInitializer.cs
index 3be4ae45..a5eb33d6 100644
--- a/test/System.Web.Http.OData.Test/TestCommon/TypeInitializer.cs
+++ b/test/System.Web.Http.OData.Test/TestCommon/TypeInitializer.cs
@@ -31,10 +31,6 @@ namespace System.Web.Http.OData
{
return new Employee(index, context);
}
- else if (type == SupportedTypes.MultipleKeyEmployee)
- {
- return new MultipleKeyEmployee(index, context);
- }
else if (type == SupportedTypes.Address)
{
return new Address(index, context);