public void TestResourceTypeMapApiAttributesToClrResource(string name, object expected, object actual, Type clrResourceType, Resource apiResource) { this.Output.WriteLine("Test Name: {0}", name); this.Output.WriteLine(String.Empty); // Arrange var resourceType = ClrSampleData.ServiceModelWithOrderResourceTypes.GetResourceType(clrResourceType); // Act resourceType.MapApiAttributesToClrResource(actual, apiResource, ClrSampleData.ServiceModelWithOrderResourceTypes); // Assert ClrResourceAssert.Equal(expected, actual); }
internal void TestIDomResourceAbstraction(string name, Resource expectedApiResource, object expectedClrResource, DomNode actualNode) { // Arrange IDomResource actualDomResource; var actualNodeType = actualNode.NodeType; switch (actualNodeType) { case DomNodeType.Document: { var domDocument = (DomDocument)actualNode; actualDomResource = domDocument.DomResources().Single(); } break; case DomNodeType.Resource: actualDomResource = (IDomResource)actualNode; break; default: throw new ArgumentOutOfRangeException(); } // Act this.Output.WriteLine("Test Name: {0}", name); this.Output.WriteLine(String.Empty); this.OutputDomTree(actualNode); this.Output.WriteLine(String.Empty); this.Output.WriteLine("Expected Resource"); this.OutputJson(expectedApiResource); var actualApiResource = actualDomResource.ApiResource; var actualClrResource = actualDomResource.ClrResource; this.Output.WriteLine(String.Empty); this.Output.WriteLine("Actual Resource"); this.OutputJson(actualApiResource); // Assert ResourceAssert.Equal(expectedApiResource, actualApiResource); ClrResourceAssert.Equal(expectedClrResource, actualClrResource); }