summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2010-01-31 21:35:48 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2010-01-31 21:35:48 -0800
commit6a1f0a2c033cbdd652aadafcbefbcc8cdbbf2186 (patch)
tree976c28423d229e313e968fbf56d950411fc106df
parentdaf0b05fba9cae039ee631bbe008f8225c065ffc (diff)
parent17e1e88e7f75c86a6d4494dd2cb59eb9a7e75280 (diff)
downloadDotNetOpenAuth-6a1f0a2c033cbdd652aadafcbefbcc8cdbbf2186.zip
DotNetOpenAuth-6a1f0a2c033cbdd652aadafcbefbcc8cdbbf2186.tar.gz
DotNetOpenAuth-6a1f0a2c033cbdd652aadafcbefbcc8cdbbf2186.tar.bz2
Merged master back into v3.4 for VS2010 support.
Merge branch 'master' into v3.4
-rw-r--r--build.proj237
-rw-r--r--lib/DotNetOpenAuth.BuildTasks.dllbin61440 -> 67072 bytes
-rw-r--r--lib/DotNetOpenAuth.BuildTasks.pdbbin155136 -> 167424 bytes
-rw-r--r--lib/DotNetOpenAuth.BuildTasks.targets4
-rw-r--r--lib/nunit.framework.dllbin0 -> 131072 bytes
-rw-r--r--lib/nunit.framework.xml10113
-rw-r--r--projecttemplates/MvcRelyingParty.vstemplate3
-rw-r--r--projecttemplates/MvcRelyingParty/Getting Started.htm (renamed from projecttemplates/MvcRelyingParty/GettingStarted.htm)0
-rw-r--r--projecttemplates/MvcRelyingParty/MvcRelyingParty.csproj18
-rw-r--r--projecttemplates/MvcRelyingParty/MvcRelyingParty.vstemplate4
-rw-r--r--projecttemplates/MvcRelyingParty/Web.config1
-rw-r--r--projecttemplates/RelyingPartyDatabase/Properties/Database.sqlcmdvars4
-rw-r--r--projecttemplates/RelyingPartyDatabase/Properties/Database.sqldeployment5
-rw-r--r--projecttemplates/RelyingPartyDatabase/Properties/Database.sqlsettings4
-rw-r--r--projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj14
-rw-r--r--projecttemplates/RelyingPartyLogic/CreateDatabase.sql349
-rw-r--r--projecttemplates/RelyingPartyLogic/Model.Designer.cs288
-rw-r--r--projecttemplates/RelyingPartyLogic/Model.edmx52
-rw-r--r--projecttemplates/RelyingPartyLogic/RelyingPartyLogic.csproj41
-rw-r--r--projecttemplates/RelyingPartyLogic/Utilities.cs32
-rw-r--r--projecttemplates/WebFormsRelyingParty.vstemplate3
-rw-r--r--projecttemplates/WebFormsRelyingParty/Getting Started.htm (renamed from projecttemplates/WebFormsRelyingParty/GettingStarted.htm)0
-rw-r--r--projecttemplates/WebFormsRelyingParty/Web.config1
-rw-r--r--projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.csproj26
-rw-r--r--projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.vstemplate4
-rw-r--r--samples/DotNetOpenAuth.ApplicationBlock/DotNetOpenAuth.ApplicationBlock.csproj42
-rw-r--r--samples/InfoCardRelyingParty/web.config1
-rw-r--r--samples/OAuthConsumer/Web.config1
-rw-r--r--samples/OAuthConsumerWpf/OAuthConsumerWpf.csproj48
-rw-r--r--samples/OAuthConsumerWpf/Properties/Resources.Designer.cs4
-rw-r--r--samples/OAuthConsumerWpf/Properties/Settings.Designer.cs4
-rw-r--r--samples/OAuthConsumerWpf/Service References/WcfSampleService/Reference.cs8
-rw-r--r--samples/OAuthServiceProvider/Web.config1
-rw-r--r--samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj55
-rw-r--r--samples/OpenIdOfflineProvider/Properties/Resources.Designer.cs4
-rw-r--r--samples/OpenIdOfflineProvider/Properties/Settings.Designer.cs4
-rw-r--r--samples/OpenIdProviderMvc/OpenIdProviderMvc.csproj33
-rw-r--r--samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js875
-rw-r--r--samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.js59
-rw-r--r--samples/OpenIdProviderMvc/Views/Web.config17
-rw-r--r--samples/OpenIdProviderMvc/Web.config1
-rw-r--r--samples/OpenIdProviderWebForms/Code/CustomStoreDataSet.Designer.cs107
-rw-r--r--samples/OpenIdProviderWebForms/OpenIdProviderWebForms.csproj33
-rw-r--r--samples/OpenIdProviderWebForms/Web.config1
-rw-r--r--samples/OpenIdRelyingPartyMvc/OpenIdRelyingPartyMvc.csproj47
-rw-r--r--samples/OpenIdRelyingPartyMvc/Views/Web.config15
-rw-r--r--samples/OpenIdRelyingPartyMvc/Web.config1
-rw-r--r--samples/OpenIdRelyingPartyWebForms/Code/CustomStoreDataSet1.Designer.cs107
-rw-r--r--samples/OpenIdRelyingPartyWebForms/OpenIdRelyingPartyWebForms.csproj32
-rw-r--r--samples/OpenIdRelyingPartyWebForms/Web.config6
-rw-r--r--samples/OpenIdRelyingPartyWebForms/m/Login.aspx17
-rw-r--r--samples/OpenIdRelyingPartyWebForms/m/Login.aspx.cs13
-rw-r--r--samples/OpenIdRelyingPartyWebForms/m/Login.aspx.designer.cs43
-rw-r--r--samples/OpenIdRelyingPartyWebFormsVB/My Project/Application.Designer.vb2
-rw-r--r--samples/OpenIdRelyingPartyWebFormsVB/My Project/Resources.Designer.vb27
-rw-r--r--samples/OpenIdRelyingPartyWebFormsVB/My Project/Settings.Designer.vb40
-rw-r--r--samples/OpenIdRelyingPartyWebFormsVB/OpenIdRelyingPartyWebFormsVB.vbproj14
-rw-r--r--samples/OpenIdRelyingPartyWebFormsVB/Web.config6
-rw-r--r--samples/OpenIdWebRingSsoProvider/OpenIdWebRingSsoProvider.csproj25
-rw-r--r--samples/OpenIdWebRingSsoProvider/Web.config1
-rw-r--r--samples/OpenIdWebRingSsoRelyingParty/OpenIdWebRingSsoRelyingParty.csproj23
-rw-r--r--samples/OpenIdWebRingSsoRelyingParty/Web.config1
-rw-r--r--samples/Samples.sln12
-rw-r--r--src/DotNetOpenAuth.BuildTasks/CopyWithTokenSubstitution.cs61
-rw-r--r--src/DotNetOpenAuth.BuildTasks/DiscoverProjectTemplates.cs1
-rw-r--r--src/DotNetOpenAuth.BuildTasks/DotNetOpenAuth.BuildTasks.csproj39
-rw-r--r--src/DotNetOpenAuth.BuildTasks/DotNetOpenAuth.BuildTasks.sln8
-rw-r--r--src/DotNetOpenAuth.BuildTasks/DowngradeProjects.cs110
-rw-r--r--src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs12
-rw-r--r--src/DotNetOpenAuth.BuildTasks/GetBuildVersion.cs1
-rw-r--r--src/DotNetOpenAuth.BuildTasks/HardLinkCopy.cs61
-rw-r--r--src/DotNetOpenAuth.BuildTasks/NativeMethods.cs18
-rw-r--r--src/DotNetOpenAuth.Test/AssemblyTesting.cs8
-rw-r--r--src/DotNetOpenAuth.Test/Configuration/SectionTests.cs12
-rw-r--r--src/DotNetOpenAuth.Test/CoordinatorBase.cs4
-rw-r--r--src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj62
-rw-r--r--src/DotNetOpenAuth.Test/Hosting/HostingTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/LocalizationTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/Bindings/StandardExpirationBindingElementTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/Bindings/StandardReplayProtectionBindingElementTests.cs16
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs90
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/CollectionAssert.cs2
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/EnumerableCacheTests.cs27
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/ErrorUtilitiesTests.cs14
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/HttpRequestInfoTests.cs28
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs22
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs8
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs44
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/MultipartPostPartTests.cs18
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs6
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs14
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDescriptionTests.cs12
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs52
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs30
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/Reflection/ValueMappingTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/ResponseTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs2
-rw-r--r--src/DotNetOpenAuth.Test/Mocks/MockReplayProtectionBindingElement.cs2
-rw-r--r--src/DotNetOpenAuth.Test/Mocks/MockTransformationBindingElement.cs4
-rw-r--r--src/DotNetOpenAuth.Test/OAuth/AppendixScenarios.cs6
-rw-r--r--src/DotNetOpenAuth.Test/OAuth/ChannelElements/HmacSha1SigningBindingElementTests.cs6
-rw-r--r--src/DotNetOpenAuth.Test/OAuth/ChannelElements/OAuthChannelTests.cs52
-rw-r--r--src/DotNetOpenAuth.Test/OAuth/ChannelElements/PlaintextSigningBindingElementTest.cs14
-rw-r--r--src/DotNetOpenAuth.Test/OAuth/ChannelElements/SigningBindingElementBaseTests.cs6
-rw-r--r--src/DotNetOpenAuth.Test/OAuth/ChannelElements/UriOrOobEncodingTests.cs16
-rw-r--r--src/DotNetOpenAuth.Test/OAuth/ProtocolTests.cs12
-rw-r--r--src/DotNetOpenAuth.Test/OAuth/ServiceProviderDescriptionTests.cs12
-rw-r--r--src/DotNetOpenAuth.Test/OAuth/ServiceProviderTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/AssociationHandshakeTests.cs34
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/AssociationTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/AssociationsTests.cs14
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/AuthenticationTests.cs24
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/ChannelElements/ExtensionsBindingElementTests.cs28
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/ChannelElements/KeyValueFormEncodingTests.cs20
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/ChannelElements/OpenIdChannelTests.cs18
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/ChannelElements/SigningBindingElementTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/DiffieHellmanTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/UriDiscoveryServiceTests.cs36
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/XriDiscoveryProxyServiceTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeRequestTests.cs22
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeValuesTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchRequestTests.cs24
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchResponseTests.cs18
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreRequestTests.cs14
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreResponseTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs16
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs18
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPResponseTests.cs14
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequestTests.cs18
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponseTests.cs26
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs16
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/IdentifierTests.cs30
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/AssociateDiffieHellmanRequestTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/AssociateRequestTests.cs22
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnencryptedResponseTests.cs12
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnsuccessfulResponseTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationRequestTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationResponseTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/CheckIdRequestTests.cs6
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/DirectErrorResponseTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/IndirectErrorResponseTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/IndirectSignedResponseTests.cs26
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/NegativeAssertionResponseTests.cs14
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/PositiveAssertionResponseTests.cs12
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Messages/SignedResponseRequestTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/NonIdentityTests.cs12
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs6
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/OpenIdUtilitiesTests.cs4
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Provider/AnonymousRequestTests.cs12
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Provider/AuthenticationRequestTest.cs6
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Provider/HostProcessedRequestTests.cs16
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Provider/OpenIdProviderTests.cs30
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Provider/PerformanceTests.cs32
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/ProviderEndpointDescriptionTests.cs8
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RealmTests.cs38
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RelyingParty/AuthenticationRequestTests.cs30
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RelyingParty/FailedAuthenticationResponseTests.cs12
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs32
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RelyingParty/NegativeAuthenticationResponseTests.cs16
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdRelyingPartyTests.cs26
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdTextBoxTests.cs6
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAnonymousResponseTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseTests.cs22
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/RelyingParty/RelyingPartySecuritySettingsTests.cs14
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs48
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/XriIdentifierTests.cs30
-rw-r--r--src/DotNetOpenAuth.Test/Test References/DotNetOpenAuth.accessor1
-rw-r--r--src/DotNetOpenAuth.Test/TestBase.cs33
-rw-r--r--src/DotNetOpenAuth.Test/UriUtilTests.cs6
-rw-r--r--src/DotNetOpenAuth.Test/UtilTests.cs6
-rw-r--r--src/DotNetOpenAuth.sln70
-rw-r--r--src/DotNetOpenAuth.vsmdi544
-rw-r--r--src/DotNetOpenAuth/DotNetOpenAuth.csproj82
-rw-r--r--src/DotNetOpenAuth/InfoCard/InfoCardStrings.Designer.cs4
-rw-r--r--src/DotNetOpenAuth/Messaging/MessagingStrings.Designer.cs4
-rw-r--r--src/DotNetOpenAuth/Messaging/MessagingUtilities.cs6
-rw-r--r--src/DotNetOpenAuth/Messaging/OutgoingWebResponse.cs2
-rw-r--r--src/DotNetOpenAuth/Messaging/ProtocolException.cs5
-rw-r--r--src/DotNetOpenAuth/Migrated rules for DotNetOpenAuth.ruleset9
-rw-r--r--src/DotNetOpenAuth/OAuth/OAuthStrings.Designer.cs4
-rw-r--r--src/DotNetOpenAuth/OpenId/Behaviors/BehaviorStrings.Designer.cs4
-rw-r--r--src/DotNetOpenAuth/OpenId/OpenIdStrings.Designer.cs4
-rw-r--r--src/DotNetOpenAuth/Properties/AssemblyInfo.cs7
-rw-r--r--src/DotNetOpenAuth/Strings.Designer.cs16
-rw-r--r--src/DotNetOpenAuth/Xrds/XrdsStrings.Designer.cs4
-rw-r--r--src/LocalTestRun.testrunconfig22
-rw-r--r--src/version.txt2
-rw-r--r--tools/DotNetOpenAuth.Versioning.targets4
-rw-r--r--tools/DotNetOpenAuth.props11
-rw-r--r--tools/DotNetOpenAuth.targets12
-rw-r--r--tools/JavascriptPacker.targets2
-rw-r--r--vsi/DotNetOpenAuth Starter Kits.vscontent (renamed from projecttemplates/DotNetOpenAuth Starter Kits.vscontent)2
-rw-r--r--vsix/DotNetOpenAuthSDK.pkgdef5
-rw-r--r--vsix/VSIXProject_large.pngbin0 -> 25212 bytes
-rw-r--r--vsix/VSIXProject_small.pngbin0 -> 309326 bytes
-rw-r--r--vsix/[Content_Types].xml8
-rw-r--r--vsix/extension.vsixmanifest28
201 files changed, 13689 insertions, 2163 deletions
diff --git a/build.proj b/build.proj
index 2bf27e8..11e5e68 100644
--- a/build.proj
+++ b/build.proj
@@ -6,7 +6,13 @@
<ILMergeOutputAssemblyDirectory>$(OutputPath)unified\</ILMergeOutputAssemblyDirectory>
<ILMergeOutputAssembly>$(ILMergeOutputAssemblyDirectory)$(ProductName).dll</ILMergeOutputAssembly>
<ProjectTemplatesLayoutPath>$(IntermediatePath)projecttemplates\</ProjectTemplatesLayoutPath>
- <ProjectTemplatesVsi>$(ProjectTemplatesLayoutPath)DotNetOpenAuth Starter Kits.vsi</ProjectTemplatesVsi>
+
+ <VS2008ProjectTemplatesDirectory>$(IntermediatePath)VS2008projecttemplates\</VS2008ProjectTemplatesDirectory>
+ <ProjectTemplatesVsiDirectory>$(IntermediatePath)vsi\</ProjectTemplatesVsiDirectory>
+
+ <VS2010ProjectTemplatesDirectory>$(IntermediatePath)VS2010projecttemplates\</VS2010ProjectTemplatesDirectory>
+ <ExtensionVsixLayoutDirectory>$(IntermediatePath)Vsix\</ExtensionVsixLayoutDirectory>
+ <ZipLevel>6</ZipLevel>
</PropertyGroup>
<Import Project="$(ProjectRoot)tools\$(ProductName).Versioning.targets"/>
@@ -15,6 +21,7 @@
<Import Project="$(ProjectRoot)tools\Translation.targets"/>
<UsingTask AssemblyFile="$(ProjectRoot)lib\MSBuild.Community.Tasks.dll" TaskName="Zip"/>
<UsingTask AssemblyFile="$(ProjectRoot)lib\MSBuild.Community.Tasks.dll" TaskName="ILMerge"/>
+ <UsingTask AssemblyFile="$(ProjectRoot)lib\MSBuild.Community.Tasks.dll" TaskName="NUnit" />
<ItemGroup>
<SampleProjects Include="$(ProjectRoot)samples\**\*.csproj;$(ProjectRoot)samples\**\*.vbproj" />
@@ -138,10 +145,10 @@
<ToolsZip>$(ToolsDirectoryNoSlash).zip</ToolsZip>
</PropertyGroup>
- <Delete Files="$(ToolsZip)" />
<Zip ZipFileName="$(ToolsZip)"
Files="@(AllToolTargets)"
- WorkingDirectory="$(ToolsDirectory)" />
+ WorkingDirectory="$(ToolsDirectory)"
+ ZipLevel="$(ZipLevel)" />
</Target>
<Target Name="BuildProjectTemplates">
@@ -151,7 +158,7 @@
<MSBuild Projects="@(ProjectTemplates)" />
</Target>
- <Target Name="ProjectTemplatesLayout" DependsOnTargets="BuildUnifiedProduct;ReSignDelaySignedAssemblies;BuildProjectTemplates">
+ <Target Name="ProjectTemplatesLayout" DependsOnTargets="GetBuildVersion;BuildUnifiedProduct;ReSignDelaySignedAssemblies;BuildProjectTemplates">
<ItemGroup>
<ProjectTemplatesSource Include="$(ProjectRoot)projecttemplates\**\*"
Exclude="
@@ -190,9 +197,6 @@
<ProjectTemplatesLayout Include="@(ProjectTemplatesSource->'$(ProjectTemplatesLayoutPath)%(RecursiveDir)%(FileName)%(Extension)')"/>
<ProjectTemplatesTransformLayout Include="@(_ProjectTemplatesTransformSource->'$(ProjectTemplatesLayoutPath)%(RecursiveDir)%(FileName)%(Extension)')"/>
- <VSProjectTemplates Include="@(ProjectTemplatesLayout)" Condition="'%(Extension)' == '.vstemplate'" />
- <TopLevelVSProjectTemplates Include="@(VSProjectTemplates)" Condition="'%(RootDir)%(Directory)' == '$(ProjectTemplatesLayoutPath)'" />
-
<!-- Include the template icon -->
<ProjectTemplatesSource Include="$(ProjectRoot)doc\logo\favicon.ico" />
<ProjectTemplatesLayout Include="$(ProjectTemplatesLayoutPath)__TemplateIcon.ico" />
@@ -213,13 +217,13 @@
<FixupReferenceAssemblies Include="@(ProjectTemplateLibrariesTargets)" Condition="'%(Extension)' == '.dll'" />
<InjectedLibraryItems Include="@(ProjectTemplateLibrariesTargets->'lib\%(FileName)%(Extension)')" />
- <VSProjectTemplateZipFiles Include="@(TopLevelVSProjectTemplates->'%(RootDir)%(Directory)%(FileName).zip')" />
+ <VSProjectTemplates Include="@(ProjectTemplatesLayout)" Condition="'%(Extension)' == '.vstemplate'" />
</ItemGroup>
<Trim Inputs="@(_ProjectTemplatesTransformSource)" MetadataName="BeforeTokens" AllAfter="\">
<Output TaskParameter="Outputs" ItemName="ProjectTemplatesTransformSource" />
</Trim>
- <MSBuild Projects="@(ProjectTemplates)" />
+ <!--<MSBuild Projects="@(ProjectTemplates)" />-->
<Copy SourceFiles="@(ProjectTemplatesSource)" DestinationFiles="@(ProjectTemplatesLayout)" SkipUnchangedFiles="true" />
<CopyWithTokenSubstitution SourceFiles="@(ProjectTemplatesTransformSource)" DestinationFiles="@(ProjectTemplatesTransformLayout)">
<Output TaskParameter="CopiedFiles" ItemName="CopiedProjectTemplateFiles" />
@@ -228,8 +232,6 @@
IntendedFiles="
@(ProjectTemplatesLayout);
@(ProjectTemplatesTransformLayout);
- @(VSProjectTemplateZipFiles);
- $(ProjectTemplatesVsi);
" />
<ChangeProjectReferenceToAssemblyReference
Projects="@(CopiedProjectTemplateFiles)"
@@ -253,53 +255,188 @@
/>
</Target>
- <Target Name="ProjectTemplates" DependsOnTargets="ProjectTemplatesLayout">
- <DiscoverProjectTemplates TopLevelTemplates="@(TopLevelVSProjectTemplates)">
- <Output TaskParameter="ProjectTemplates" ItemName="SubVSTemplates" />
- <Output TaskParameter="ProjectTemplateContents" ItemName="TemplateItemContents" />
+ <Target Name="ProjectTemplates2008" DependsOnTargets="ProjectTemplatesLayout">
+ <ItemGroup>
+ <ProjectTemplates2008Source Include="$(ProjectTemplatesLayoutPath)**" />
+ <ProjectTemplates2008Layout Include="@(ProjectTemplates2008Source->'$(VS2008ProjectTemplatesDirectory)%(RecursiveDir)%(FileName)%(Extension)')" />
+ <ProjectTemplates2008Layout>
+ <HardLink Condition=" '%(Extension)' != '.csproj' ">true</HardLink>
+ </ProjectTemplates2008Layout>
+
+ <VS2008ProjectTemplates Include="@(ProjectTemplates2008Layout)" Condition="'%(Extension)' == '.vstemplate'" />
+ <TopLevelVS2008ProjectTemplates Include="@(VS2008ProjectTemplates)" Condition="'%(RootDir)%(Directory)' == '$(VS2008ProjectTemplatesDirectory)'" />
+ <VS2008ProjectTemplateZipFiles Include="@(TopLevelVS2008ProjectTemplates->'%(RootDir)%(Directory)%(FileName).zip')" />
+ </ItemGroup>
+
+ <HardLinkCopy SourceFiles="@(ProjectTemplates2008Source)" DestinationFiles="@(ProjectTemplates2008Layout)" />
+
+ <DowngradeProjects
+ Projects="@(ProjectTemplates2008Layout)"
+ Condition="'%(Extension)' == '.csproj'"
+ DowngradeMvc2ToMvc1="true"
+ />
+
+ <Purge Directories="$(VS2008ProjectTemplatesDirectory)" IntendedFiles="@(ProjectTemplates2008Layout)" />
+
+ <DiscoverProjectTemplates TopLevelTemplates="@(TopLevelVS2008ProjectTemplates)">
+ <Output TaskParameter="ProjectTemplates" ItemName="SubVS2008Templates" />
+ <Output TaskParameter="ProjectTemplateContents" ItemName="VS2008TemplateItemContents" />
+ </DiscoverProjectTemplates>
+
+ <ItemGroup>
+ <!-- Include in each template .zip file the top-level .vstemplate file itself. -->
+ <VS2008ProjectTemplateContents Include="@(TopLevelVS2008ProjectTemplates)">
+ <ZipFile>$(ProjectTemplatesVsiDirectory)%(FileName).zip</ZipFile>
+ <WorkingDirectory>$(VS2008ProjectTemplatesDirectory)</WorkingDirectory>
+ </VS2008ProjectTemplateContents>
+
+ <!-- Now throw in all the files in each of the project-level template's directories and their children. -->
+ <VS2008ProjectTemplateContents Include="@(VS2008TemplateItemContents)">
+ <ZipFile>$(ProjectTemplatesVsiDirectory)%(VS2008TemplateItemContents.TopLevelTemplateFileName).zip</ZipFile>
+ <WorkingDirectory>$(VS2008ProjectTemplatesDirectory)</WorkingDirectory>
+ </VS2008ProjectTemplateContents>
+
+ <!-- Include the template icon for each .zip file. -->
+ <VS2008ProjectTemplateContents Include="@(TopLevelVS2008ProjectTemplates->'$(VS2008ProjectTemplatesDirectory)__TemplateIcon.ico')">
+ <ZipFile>$(ProjectTemplatesVsiDirectory)%(TopLevelVS2008ProjectTemplates.FileName).zip</ZipFile>
+ <WorkingDirectory>$(VS2008ProjectTemplatesDirectory)</WorkingDirectory>
+ </VS2008ProjectTemplateContents>
+ </ItemGroup>
+
+ <Zip
+ Files="@(VS2008ProjectTemplateContents)"
+ ZipFileName="%(VS2008ProjectTemplateContents.ZipFile)"
+ WorkingDirectory="%(VS2008ProjectTemplateContents.WorkingDirectory)"
+ ZipLevel="$(ZipLevel)"
+ />
+ </Target>
+
+ <Target Name="ProjectTemplates2010" DependsOnTargets="ProjectTemplatesLayout">
+ <PropertyGroup>
+ <ProjectTemplateSubdirectory>$(ExtensionVsixLayoutDirectory)PT\CSharp\Web\</ProjectTemplateSubdirectory>
+ </PropertyGroup>
+ <ItemGroup>
+ <ProjectTemplates2010Source Include="$(ProjectTemplatesLayoutPath)**" />
+ <ProjectTemplates2010Layout Include="@(ProjectTemplates2010Source->'$(VS2010ProjectTemplatesDirectory)%(RecursiveDir)%(FileName)%(Extension)')" />
+ <ProjectTemplates2010Layout>
+ <HardLink Condition=" '%(Extension)' != '.csproj' ">true</HardLink>
+ </ProjectTemplates2010Layout>
+
+ <VS2010ProjectTemplates Include="@(ProjectTemplates2010Layout)" Condition="'%(Extension)' == '.vstemplate'" />
+ <TopLevelVS2010ProjectTemplates Include="@(VS2010ProjectTemplates)" Condition="'%(RootDir)%(Directory)' == '$(VS2010ProjectTemplatesDirectory)'" />
+ <VS2010ProjectTemplateZipFiles Include="@(TopLevelVS2010ProjectTemplates->'%(RootDir)%(Directory)%(FileName).zip')" />
+ </ItemGroup>
+
+ <HardLinkCopy SourceFiles="@(ProjectTemplates2010Source)" DestinationFiles="@(ProjectTemplates2010Layout)" />
+
+ <Purge Directories="$(VS2010ProjectTemplatesDirectory)" IntendedFiles="@(ProjectTemplates2010Layout)" />
+
+ <DiscoverProjectTemplates TopLevelTemplates="@(TopLevelVS2010ProjectTemplates)">
+ <Output TaskParameter="ProjectTemplates" ItemName="SubVS2010Templates" />
+ <Output TaskParameter="ProjectTemplateContents" ItemName="VS2010TemplateItemContents" />
</DiscoverProjectTemplates>
<ItemGroup>
<!-- Include in each template .zip file the top-level .vstemplate file itself. -->
- <VSProjectTemplateContents Include="@(TopLevelVSProjectTemplates)">
- <ZipFile>$(ProjectTemplatesLayoutPath)%(FileName).zip</ZipFile>
- <WorkingDirectory>$(ProjectTemplatesLayoutPath)</WorkingDirectory>
- </VSProjectTemplateContents>
+ <VS2010ProjectTemplateContents Include="@(TopLevelVS2010ProjectTemplates)">
+ <ZipFile>$(ProjectTemplateSubdirectory)%(FileName).zip</ZipFile>
+ <WorkingDirectory>$(VS2010ProjectTemplatesDirectory)</WorkingDirectory>
+ </VS2010ProjectTemplateContents>
<!-- Now throw in all the files in each of the project-level template's directories and their children. -->
- <VSProjectTemplateContents Include="@(TemplateItemContents)">
- <ZipFile>$(ProjectTemplatesLayoutPath)%(TemplateItemContents.TopLevelTemplateFileName).zip</ZipFile>
- <WorkingDirectory>$(ProjectTemplatesLayoutPath)</WorkingDirectory>
- </VSProjectTemplateContents>
+ <VS2010ProjectTemplateContents Include="@(VS2010TemplateItemContents)">
+ <ZipFile>$(ProjectTemplateSubdirectory)%(VS2010TemplateItemContents.TopLevelTemplateFileName).zip</ZipFile>
+ <WorkingDirectory>$(VS2010ProjectTemplatesDirectory)</WorkingDirectory>
+ </VS2010ProjectTemplateContents>
<!-- Include the template icon for each .zip file. -->
- <VSProjectTemplateContents Include="@(TopLevelVSProjectTemplates->'$(ProjectTemplatesLayoutPath)__TemplateIcon.ico')">
- <ZipFile>$(ProjectTemplatesLayoutPath)%(TopLevelVSProjectTemplates.FileName).zip</ZipFile>
- <WorkingDirectory>$(ProjectTemplatesLayoutPath)</WorkingDirectory>
- </VSProjectTemplateContents>
+ <VS2010ProjectTemplateContents Include="@(TopLevelVS2010ProjectTemplates->'$(VS2010ProjectTemplatesDirectory)__TemplateIcon.ico')">
+ <ZipFile>$(ProjectTemplateSubdirectory)%(TopLevelVS2010ProjectTemplates.FileName).zip</ZipFile>
+ <WorkingDirectory>$(VS2010ProjectTemplatesDirectory)</WorkingDirectory>
+ </VS2010ProjectTemplateContents>
+
+ <ExtensionVsixContents Include="%(VS2010ProjectTemplateContents.ZipFile)" />
</ItemGroup>
- <Delete Files="@(VSProjectTemplateZipFiles)" />
<Zip
- Files="@(VSProjectTemplateContents)"
- ZipFileName="%(VSProjectTemplateContents.ZipFile)"
- WorkingDirectory="%(VSProjectTemplateContents.WorkingDirectory)"
+ Files="@(VS2010ProjectTemplateContents)"
+ ZipFileName="%(VS2010ProjectTemplateContents.ZipFile)"
+ WorkingDirectory="%(VS2010ProjectTemplateContents.WorkingDirectory)"
+ ZipLevel="$(ZipLevel)"
/>
</Target>
- <Target Name="vsi" DependsOnTargets="ProjectTemplates">
+ <Target Name="vsi" DependsOnTargets="ProjectTemplates2008;_SetDropProperties">
+ <PropertyGroup>
+ <ProjectTemplatesVsi>$(DropDirectoryNoSlash).vsi</ProjectTemplatesVsi>
+ </PropertyGroup>
<ItemGroup>
+ <VsiTransformSource Include="$(ProjectRoot)vsi\*.vscontent">
+ <BeforeTokens>$version$</BeforeTokens>
+ <AfterTokens>$(BuildVersion)</AfterTokens>
+ <SkipUnchangedFiles>false</SkipUnchangedFiles>
+ </VsiTransformSource>
+ <VsiTransformLayout Include="@(VsiTransformSource->'$(ProjectTemplatesVsiDirectory)%(RecursiveDir)%(FileName)%(Extension)')" />
+
<ProjectTemplateVsiContents Include="
- $(ProjectTemplatesLayoutPath)*.vscontent;
- $(ProjectTemplatesLayoutPath)*.zip
+ $(ProjectTemplatesVsiDirectory)*.zip;
+ @(VsiTransformLayout);
" />
</ItemGroup>
- <Delete Files="$(ProjectTemplatesVsi)" />
+ <CopyWithTokenSubstitution SourceFiles="@(VsiTransformSource)" DestinationFiles="@(VsiTransformLayout)" />
+
<Zip
Files="@(ProjectTemplateVsiContents)"
ZipFileName="$(ProjectTemplatesVsi)"
- WorkingDirectory="$(ProjectTemplatesLayoutPath)"
+ WorkingDirectory="$(ProjectTemplatesVsiDirectory)"
+ ZipLevel="$(ZipLevel)"
+ />
+ </Target>
+
+ <Target Name="VsixLayout" DependsOnTargets="ProjectTemplates2010">
+ <ItemGroup>
+ <ProjectTemplates2010TransformSource Include="
+ $(ProjectRoot)vsix\extension.vsixmanifest;
+ $(ProjectRoot)LICENSE.txt;
+ ">
+ <BeforeTokens>$version$</BeforeTokens>
+ <AfterTokens>$(BuildVersion)</AfterTokens>
+ <SkipUnchangedFiles>false</SkipUnchangedFiles>
+ </ProjectTemplates2010TransformSource>
+ <ProjectTemplates2010TransformLayout Include="@(ProjectTemplates2010TransformSource->'$(ExtensionVsixLayoutDirectory)%(RecursiveDir)%(FileName)%(Extension)')" />
+
+ <ExtensionVsixSources Include="
+ $(ProjectRoot)vsix\*;
+ " Exclude="
+ $(ProjectRoot)vsix\extension.vsixmanifest;
+ ">
+ <SkipUnchangedFiles>true</SkipUnchangedFiles>
+ </ExtensionVsixSources>
+
+ <ExtensionVsixTargets Include="@(ExtensionVsixSources->'$(ExtensionVsixLayoutDirectory)%(FileName)%(Extension)')" />
+
+ <ExtensionVsixContents Include="
+ @(ExtensionVsixTargets);
+ @(ProjectTemplates2010TransformLayout);
+ "/>
+ </ItemGroup>
+
+ <Copy SourceFiles="@(ExtensionVsixSources)" DestinationFiles="@(ExtensionVsixTargets)" SkipUnchangedFiles="true" />
+ <CopyWithTokenSubstitution SourceFiles="@(ProjectTemplates2010TransformSource)" DestinationFiles="@(ProjectTemplates2010TransformLayout)" />
+
+ <Purge Directories="$(ExtensionVsixLayoutDirectory)" IntendedFiles="@(ExtensionVsixContents)" />
+ </Target>
+
+ <Target Name="vsix" DependsOnTargets="VsixLayout;_SetDropProperties">
+ <PropertyGroup>
+ <ExtensionVsix>$(DropDirectoryNoSlash).vsix</ExtensionVsix>
+ </PropertyGroup>
+ <Zip
+ Files="@(ExtensionVsixContents)"
+ ZipFileName="$(ExtensionVsix)"
+ WorkingDirectory="$(ExtensionVsixLayoutDirectory)"
+ ZipLevel="$(ZipLevel)"
/>
</Target>
@@ -308,8 +445,15 @@
<Target Name="Test" DependsOnTargets="BuildTests"
Inputs="$(OutputPath)$(ProductName).Test.dll"
- Outputs='$(OutputPath)Test-results.xml;$(OutputPath)Test-output-results.log'>
- <Exec Command='"mstest.exe" /testcontainer:"$(OutputPath)$(ProductName).Test.dll"' />
+ Outputs='$(OutputPath)Test-result.xml'>
+ <PropertyGroup>
+ <!-- Performance tests are only expected to pass in optimized builds. -->
+ <NUnitExcludeCategories Condition=" '$(Configuration)' != 'Release' ">Performance</NUnitExcludeCategories>
+ </PropertyGroup>
+ <NUnit Assemblies="$(OutputPath)$(ProductName).Test.dll"
+ ToolPath="$(NUnitToolPath)"
+ OutputXmlFile="$(OutputPath)Test-result.xml"
+ ExcludeCategory="$(NUnitExcludeCategories)"/>
</Target>
<Target Name="_SetDropProperties">
@@ -322,7 +466,7 @@
</PropertyGroup>
</Target>
- <Target Name="DropLayout" DependsOnTargets="GetBuildVersion;_SetDropProperties;BuildUnifiedProduct;ReSignDelaySignedAssemblies;BuildSamples;vsi;Documentation">
+ <Target Name="DropLayout" DependsOnTargets="GetBuildVersion;_SetDropProperties;BuildUnifiedProduct;ReSignDelaySignedAssemblies;BuildSamples;vsi;vsix;Documentation">
<PropertyGroup>
<DropBinDirectory>$(DropDirectory)Bin\</DropBinDirectory>
<DropLibDirectory>$(DropDirectory)Lib\</DropLibDirectory>
@@ -359,6 +503,7 @@
$(ProjectRoot)Lib\log4net.*;
" />
<DropProjectTemplatesSourceFiles Include="$(ProjectTemplatesVsi)" />
+ <DropVsixSourceFiles Include="$(ExtensionVsix)" />
<DropSamplesSourceFiles Include="$(ProjectRoot)Samples\**" Exclude="
$(ProjectRoot)**\obj\**;
$(ProjectRoot)**\*.sln.cache;
@@ -385,6 +530,7 @@
<DropBinFiles Include="@(DropBinSourceFiles->'$(DropBinDirectory)%(RecursiveDir)%(FileName)%(Extension)')"/>
<DropLibFiles Include="@(DropLibSourceFiles->'$(DropLibDirectory)%(RecursiveDir)%(FileName)%(Extension)')"/>
<DropProjectTemplatesFiles Include="@(DropProjectTemplatesSourceFiles->'$(DropProjectTemplatesDirectory)%(FileName)%(Extension)')" />
+ <DropVsixFiles Include="@(DropVsixSourceFiles->'$(DropProjectTemplatesDirectory)%(FileName)%(Extension)')" />
<DropSamplesFiles Include="@(DropSamplesSourceFiles->'$(DropSamplesDirectory)%(RecursiveDir)%(FileName)%(Extension)')"/>
<DropSamplesRefreshFiles Include="@(DropSamplesRefreshSourceFiles->'$(DropSamplesDirectory)%(RecursiveDir)%(FileName).refresh')"/>
<DropSamplesToolsProjects Include="$(DropSamplesDirectory)OpenIdOfflineProvider\OpenIdOfflineProvider.csproj" />
@@ -395,6 +541,7 @@
@(DropBinSourceFiles);
@(DropLibSourceFiles);
@(DropProjectTemplatesSourceFiles);
+ @(DropVsixSourceFiles);
@(DropSamplesSourceFiles);
@(DropSamplesRefreshSourceFiles);
@(DropDocSourceFiles);
@@ -406,6 +553,7 @@
@(DropBinFiles);
@(DropLibFiles);
@(DropProjectTemplatesFiles);
+ @(DropVsixFiles);
@(DropSamplesFiles);
@(DropSamplesRefreshFiles);
@(DropDocFiles);
@@ -419,19 +567,22 @@
<Purge Directories="$(DropDirectory)" IntendedFiles="@(AllDropTargets)" />
<!-- fix up the samples so that they will compile right out of the drop -->
<ItemGroup>
- <SampleProjectTargets Include="$(DropSamplesDirectory)**\*.csproj" />
+ <SampleProjectTargets Include="$(DropSamplesDirectory)**\*.*proj" />
+ <SampleSolutionTargets Include="$(DropSamplesDirectory)**\*.sln" />
</ItemGroup>
- <FixupShippingToolSamples Projects="@(DropSamplesToolsProjects)" RemoveImportsStartingWith="%24(ProjectRoot)tools\" />
+ <FixupShippingToolSamples Projects="@(DropSamplesToolsProjects)"
+ RemoveImportsStartingWith="%24(ProjectRoot)tools\"
+ AddReferences="Microsoft.Contracts"/>
<ChangeProjectReferenceToAssemblyReference Projects="@(SampleProjectTargets)"
ProjectReference="..\..\src\$(ProductName)\$(ProductName).csproj" Reference="..\..\Bin\$(ProductName).dll" />
+ <DowngradeProjects Projects="@(SampleProjectTargets);@(SampleSolutionTargets)" DowngradeMvc2ToMvc1="true" />
</Target>
<Target Name="Drop" DependsOnTargets="DropLayout">
<PropertyGroup>
<DropZip>$(DropDirectoryNoSlash).zip</DropZip>
</PropertyGroup>
- <Delete Files="$(DropZip)" />
- <Zip Files="@(AllDropTargets)" ZipFileName="$(DropZip)" WorkingDirectory="$(DropsRoot)" />
+ <Zip Files="@(AllDropTargets)" ZipFileName="$(DropZip)" WorkingDirectory="$(DropsRoot)" ZipLevel="$(ZipLevel)" />
</Target>
<!-- Although Nightly includes publishing samples and docs, those targets are conditioned for
diff --git a/lib/DotNetOpenAuth.BuildTasks.dll b/lib/DotNetOpenAuth.BuildTasks.dll
index ee2c15a..8edc333 100644
--- a/lib/DotNetOpenAuth.BuildTasks.dll
+++ b/lib/DotNetOpenAuth.BuildTasks.dll
Binary files differ
diff --git a/lib/DotNetOpenAuth.BuildTasks.pdb b/lib/DotNetOpenAuth.BuildTasks.pdb
index 8a18598..e9ed7e3 100644
--- a/lib/DotNetOpenAuth.BuildTasks.pdb
+++ b/lib/DotNetOpenAuth.BuildTasks.pdb
Binary files differ
diff --git a/lib/DotNetOpenAuth.BuildTasks.targets b/lib/DotNetOpenAuth.BuildTasks.targets
index fbfe69d..56cff0d 100644
--- a/lib/DotNetOpenAuth.BuildTasks.targets
+++ b/lib/DotNetOpenAuth.BuildTasks.targets
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..</ProjectRoot>
</PropertyGroup>
@@ -28,5 +28,7 @@
<UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="Purge" />
<UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="FixupShippingToolSamples" />
<UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="Publicize" />
+ <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="DowngradeProjects" />
+ <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="HardLinkCopy" />
</Project>
diff --git a/lib/nunit.framework.dll b/lib/nunit.framework.dll
new file mode 100644
index 0000000..88f3fa3
--- /dev/null
+++ b/lib/nunit.framework.dll
Binary files differ
diff --git a/lib/nunit.framework.xml b/lib/nunit.framework.xml
new file mode 100644
index 0000000..b678714
--- /dev/null
+++ b/lib/nunit.framework.xml
@@ -0,0 +1,10113 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>nunit.framework</name>
+ </assembly>
+ <members>
+ <member name="T:NUnit.Framework.Constraints.BinaryConstraint">
+ <summary>
+ BinaryConstraint is the abstract base of all constraints
+ that combine two other constraints in some fashion.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.Constraint">
+ <summary>
+ The Constraint class is the base of all built-in constraints
+ within NUnit. It provides the operator overloads used to combine
+ constraints.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.IResolveConstraint">
+ <summary>
+ The IConstraintExpression interface is implemented by all
+ complete and resolvable constraints and expressions.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.IResolveConstraint.Resolve">
+ <summary>
+ Return the top-level constraint for this expression
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.Constraint.UNSET">
+ <summary>
+ Static UnsetObject used to detect derived constraints
+ failing to set the actual value.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.Constraint.actual">
+ <summary>
+ The actual value being tested against a constraint
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.Constraint.displayName">
+ <summary>
+ The display name of this Constraint for use by ToString()
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.Constraint.argcnt">
+ <summary>
+ Argument fields used by ToString();
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.Constraint.builder">
+ <summary>
+ The builder holding this constraint
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.#ctor">
+ <summary>
+ Construct a constraint with no arguments
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.#ctor(System.Object)">
+ <summary>
+ Construct a constraint with one argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.#ctor(System.Object,System.Object)">
+ <summary>
+ Construct a constraint with two arguments
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.SetBuilder(NUnit.Framework.Constraints.ConstraintBuilder)">
+ <summary>
+ Sets the ConstraintBuilder holding this constraint
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the failure message to the MessageWriter provided
+ as an argument. The default implementation simply passes
+ the constraint and the actual value to the writer, which
+ then displays the constraint description and the value.
+
+ Constraints that need to provide additional details,
+ such as where the error occured can override this.
+ </summary>
+ <param name="writer">The MessageWriter on which to display the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.Matches(NUnit.Framework.Constraints.ActualValueDelegate)">
+ <summary>
+ Test whether the constraint is satisfied by an
+ ActualValueDelegate that returns the value to be tested.
+ The default implementation simply evaluates the delegate
+ but derived classes may override it to provide for delayed
+ processing.
+ </summary>
+ <param name="del">An ActualValueDelegate</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.Matches``1(``0@)">
+ <summary>
+ Test whether the constraint is satisfied by a given reference.
+ The default implementation simply dereferences the value but
+ derived classes may override it to provide for delayed processing.
+ </summary>
+ <param name="actual">A reference to the value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a
+ MessageWriter. The default implementation simply writes
+ the raw value of actual, leaving it to the writer to
+ perform any formatting.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.ToString">
+ <summary>
+ Default override of ToString returns the constraint DisplayName
+ followed by any arguments within angle brackets.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseAnd(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ This operator creates a constraint that is satisfied only if both
+ argument constraints are satisfied.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseOr(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ This operator creates a constraint that is satisfied if either
+ of the argument constraints is satisfied.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.op_LogicalNot(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ This operator creates a constraint that is satisfied if the
+ argument constraint is not satisfied.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32)">
+ <summary>
+ Returns a DelayedConstraint with the specified delay time.
+ </summary>
+ <param name="delayInMilliseconds">The delay in milliseconds.</param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32,System.Int32)">
+ <summary>
+ Returns a DelayedConstraint with the specified delay time
+ and polling interval.
+ </summary>
+ <param name="delayInMilliseconds">The delay in milliseconds.</param>
+ <param name="pollingInterval">The interval at which to test the constraint.</param>
+ <returns></returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Constraint.DisplayName">
+ <summary>
+ The display name of this Constraint for use by ToString().
+ The default value is the name of the constraint with
+ trailing "Constraint" removed. Derived classes may set
+ this to another name in their constructors.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Constraint.And">
+ <summary>
+ Returns a ConstraintExpression by appending And
+ to the current constraint.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Constraint.With">
+ <summary>
+ Returns a ConstraintExpression by appending And
+ to the current constraint.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Constraint.Or">
+ <summary>
+ Returns a ConstraintExpression by appending Or
+ to the current constraint.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.Constraint.UnsetObject">
+ <summary>
+ Class used to detect any derived constraints
+ that fail to set the actual value in their
+ Matches override.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.BinaryConstraint.left">
+ <summary>
+ The first constraint being combined
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.BinaryConstraint.right">
+ <summary>
+ The second constraint being combined
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.BinaryConstraint.#ctor(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Construct a BinaryConstraint from two other constraints
+ </summary>
+ <param name="left">The first constraint</param>
+ <param name="right">The second constraint</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.AndConstraint">
+ <summary>
+ AndConstraint succeeds only if both members succeed.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AndConstraint.#ctor(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Create an AndConstraint from two other constraints
+ </summary>
+ <param name="left">The first constraint</param>
+ <param name="right">The second constraint</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AndConstraint.Matches(System.Object)">
+ <summary>
+ Apply both member constraints to an actual value, succeeding
+ succeeding only if both of them succeed.
+ </summary>
+ <param name="actual">The actual value</param>
+ <returns>True if the constraints both succeeded</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AndConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description for this contraint to a MessageWriter
+ </summary>
+ <param name="writer">The MessageWriter to receive the description</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AndConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a
+ MessageWriter. The default implementation simply writes
+ the raw value of actual, leaving it to the writer to
+ perform any formatting.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.OrConstraint">
+ <summary>
+ OrConstraint succeeds if either member succeeds
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.OrConstraint.#ctor(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Create an OrConstraint from two other constraints
+ </summary>
+ <param name="left">The first constraint</param>
+ <param name="right">The second constraint</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.OrConstraint.Matches(System.Object)">
+ <summary>
+ Apply the member constraints to an actual value, succeeding
+ succeeding as soon as one of them succeeds.
+ </summary>
+ <param name="actual">The actual value</param>
+ <returns>True if either constraint succeeded</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.OrConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description for this contraint to a MessageWriter
+ </summary>
+ <param name="writer">The MessageWriter to receive the description</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.CollectionConstraint">
+ <summary>
+ CollectionConstraint is the abstract base class for
+ constraints that operate on collections.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor">
+ <summary>
+ Construct an empty CollectionConstraint
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor(System.Object)">
+ <summary>
+ Construct a CollectionConstraint
+ </summary>
+ <param name="arg"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionConstraint.IsEmpty(System.Collections.IEnumerable)">
+ <summary>
+ Determines whether the specified enumerable is empty.
+ </summary>
+ <param name="enumerable">The enumerable.</param>
+ <returns>
+ <c>true</c> if the specified enumerable is empty; otherwise, <c>false</c>.
+ </returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionConstraint.doMatch(System.Collections.IEnumerable)">
+ <summary>
+ Protected method to be implemented by derived classes
+ </summary>
+ <param name="collection"></param>
+ <returns></returns>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.CollectionItemsEqualConstraint">
+ <summary>
+ CollectionItemsEqualConstraint is the abstract base class for all
+ collection constraints that apply some notion of item equality
+ as a part of their operation.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor">
+ <summary>
+ Construct an empty CollectionConstraint
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor(System.Object)">
+ <summary>
+ Construct a CollectionConstraint
+ </summary>
+ <param name="arg"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IComparer)">
+ <summary>
+ Flag the constraint to use the supplied IComparer object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})">
+ <summary>
+ Flag the constraint to use the supplied IComparer object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Comparison{``0})">
+ <summary>
+ Flag the constraint to use the supplied Comparison object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IEqualityComparer)">
+ <summary>
+ Flag the constraint to use the supplied IEqualityComparer object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})">
+ <summary>
+ Flag the constraint to use the supplied IEqualityComparer object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.ItemsEqual(System.Object,System.Object)">
+ <summary>
+ Compares two collection members for equality
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Tally(System.Collections.IEnumerable)">
+ <summary>
+ Return a new CollectionTally for use in making tests
+ </summary>
+ <param name="c">The collection to be included in the tally</param>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoreCase">
+ <summary>
+ Flag the constraint to ignore case and return self.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.CollectionTally">
+ <summary>
+ CollectionTally counts (tallies) the number of
+ occurences of each object in one or more enumerations.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.CollectionTally.#ctor(NUnit.Framework.Constraints.NUnitEqualityComparer,System.Collections.IEnumerable)">
+ <summary>
+ Construct a CollectionTally object from a comparer and a collection
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.CollectionTally.TryRemove(System.Object)">
+ <summary>
+ Try to remove an object from the tally
+ </summary>
+ <param name="o">The object to remove</param>
+ <returns>True if successful, false if the object was not found</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.CollectionTally.TryRemove(System.Collections.IEnumerable)">
+ <summary>
+ Try to remove a set of objects from the tally
+ </summary>
+ <param name="c">The objects to remove</param>
+ <returns>True if successful, false if any object was not found</returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.CollectionTally.Count">
+ <summary>
+ The number of objects remaining in the tally
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.EmptyCollectionConstraint">
+ <summary>
+ EmptyCollectionConstraint tests whether a collection is empty.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.doMatch(System.Collections.IEnumerable)">
+ <summary>
+ Check that the collection is empty
+ </summary>
+ <param name="collection"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer"></param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.UniqueItemsConstraint">
+ <summary>
+ UniqueItemsConstraint tests whether all the items in a
+ collection are unique.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.doMatch(System.Collections.IEnumerable)">
+ <summary>
+ Check that all items are unique.
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description of this constraint to a MessageWriter
+ </summary>
+ <param name="writer"></param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.CollectionContainsConstraint">
+ <summary>
+ CollectionContainsConstraint is used to test whether a collection
+ contains an expected object as a member.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.#ctor(System.Object)">
+ <summary>
+ Construct a CollectionContainsConstraint
+ </summary>
+ <param name="expected"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.doMatch(System.Collections.IEnumerable)">
+ <summary>
+ Test whether the expected item is contained in the collection
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a descripton of the constraint to a MessageWriter
+ </summary>
+ <param name="writer"></param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint">
+ <summary>
+ CollectionEquivalentCOnstraint is used to determine whether two
+ collections are equivalent.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.#ctor(System.Collections.IEnumerable)">
+ <summary>
+ Construct a CollectionEquivalentConstraint
+ </summary>
+ <param name="expected"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.doMatch(System.Collections.IEnumerable)">
+ <summary>
+ Test whether two collections are equivalent
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description of this constraint to a MessageWriter
+ </summary>
+ <param name="writer"></param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.CollectionSubsetConstraint">
+ <summary>
+ CollectionSubsetConstraint is used to determine whether
+ one collection is a subset of another
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.#ctor(System.Collections.IEnumerable)">
+ <summary>
+ Construct a CollectionSubsetConstraint
+ </summary>
+ <param name="expected">The collection that the actual value is expected to be a subset of</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.doMatch(System.Collections.IEnumerable)">
+ <summary>
+ Test whether the actual collection is a subset of
+ the expected collection provided.
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description of this constraint to a MessageWriter
+ </summary>
+ <param name="writer"></param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint">
+ <summary>
+ CollectionOrderedConstraint is used to test whether a collection is ordered.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.#ctor">
+ <summary>
+ Construct a CollectionOrderedConstraint
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using(System.Collections.IComparer)">
+ <summary>
+ Modifies the constraint to use an IComparer and returns self.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Collections.Generic.IComparer{``0})">
+ <summary>
+ Modifies the constraint to use an IComparer&lt;T&gt; and returns self.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Comparison{``0})">
+ <summary>
+ Modifies the constraint to use a Comparison&lt;T&gt; and returns self.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.By(System.String)">
+ <summary>
+ Modifies the constraint to test ordering by the value of
+ a specified property and returns self.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.doMatch(System.Collections.IEnumerable)">
+ <summary>
+ Test whether the collection is ordered
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description of the constraint to a MessageWriter
+ </summary>
+ <param name="writer"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.ToString">
+ <summary>
+ Returns the string representation of the constraint.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Descending">
+ <summary>
+ If used performs a reverse comparison
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ComparisonConstraint">
+ <summary>
+ Abstract base class for constraints that compare values to
+ determine if one is greater than, equal to or less than
+ the other.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.expected">
+ <summary>
+ The value against which a comparison is to be made
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.ltOK">
+ <summary>
+ If true, less than returns success
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.eqOK">
+ <summary>
+ if true, equal returns success
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.gtOK">
+ <summary>
+ if true, greater than returns success
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.predicate">
+ <summary>
+ The predicate used as a part of the description
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.comparer">
+ <summary>
+ ComparisonAdapter to be used in making the comparison
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.#ctor(System.Object,System.Boolean,System.Boolean,System.Boolean,System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:ComparisonConstraint"/> class.
+ </summary>
+ <param name="value">The value against which to make a comparison.</param>
+ <param name="ltOK">if set to <c>true</c> less succeeds.</param>
+ <param name="eqOK">if set to <c>true</c> equal succeeds.</param>
+ <param name="gtOK">if set to <c>true</c> greater succeeds.</param>
+ <param name="predicate">String used in describing the constraint.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using(System.Collections.IComparer)">
+ <summary>
+ Modifies the constraint to use an IComparer and returns self
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Collections.Generic.IComparer{``0})">
+ <summary>
+ Modifies the constraint to use an IComparer&lt;T&gt; and returns self
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Comparison{``0})">
+ <summary>
+ Modifies the constraint to use a Comparison&lt;T&gt; and returns self
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.GreaterThanConstraint">
+ <summary>
+ Tests whether a value is greater than the value supplied to its constructor
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.#ctor(System.Object)">
+ <summary>
+ Initializes a new instance of the <see cref="T:GreaterThanConstraint"/> class.
+ </summary>
+ <param name="expected">The expected value.</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint">
+ <summary>
+ Tests whether a value is greater than or equal to the value supplied to its constructor
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.#ctor(System.Object)">
+ <summary>
+ Initializes a new instance of the <see cref="T:GreaterThanOrEqualConstraint"/> class.
+ </summary>
+ <param name="expected">The expected value.</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.LessThanConstraint">
+ <summary>
+ Tests whether a value is less than the value supplied to its constructor
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.LessThanConstraint.#ctor(System.Object)">
+ <summary>
+ Initializes a new instance of the <see cref="T:LessThanConstraint"/> class.
+ </summary>
+ <param name="expected">The expected value.</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint">
+ <summary>
+ Tests whether a value is less than or equal to the value supplied to its constructor
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.#ctor(System.Object)">
+ <summary>
+ Initializes a new instance of the <see cref="T:LessThanOrEqualConstraint"/> class.
+ </summary>
+ <param name="expected">The expected value.</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ActualValueDelegate">
+ <summary>
+ Delegate used to delay evaluation of the actual value
+ to be used in evaluating a constraint
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ConstraintBuilder">
+ <summary>
+ ConstraintBuilder maintains the stacks that are used in
+ processing a ConstraintExpression. An OperatorStack
+ is used to hold operators that are waiting for their
+ operands to be reognized. a ConstraintStack holds
+ input constraints as well as the results of each
+ operator applied.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:ConstraintBuilder"/> class.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.ConstraintOperator)">
+ <summary>
+ Appends the specified operator to the expression by first
+ reducing the operator stack and then pushing the new
+ operator on the stack.
+ </summary>
+ <param name="op">The operator to push.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Appends the specified constraint to the expresson by pushing
+ it on the constraint stack.
+ </summary>
+ <param name="constraint">The constraint to push.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.SetTopOperatorRightContext(System.Object)">
+ <summary>
+ Sets the top operator right context.
+ </summary>
+ <param name="rightContext">The right context.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ReduceOperatorStack(System.Int32)">
+ <summary>
+ Reduces the operator stack until the topmost item
+ precedence is greater than or equal to the target precedence.
+ </summary>
+ <param name="targetPrecedence">The target precedence.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Resolve">
+ <summary>
+ Resolves this instance, returning a Constraint. If the builder
+ is not currently in a resolvable state, an exception is thrown.
+ </summary>
+ <returns>The resolved constraint</returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.IsResolvable">
+ <summary>
+ Gets a value indicating whether this instance is resolvable.
+ </summary>
+ <value>
+ <c>true</c> if this instance is resolvable; otherwise, <c>false</c>.
+ </value>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack">
+ <summary>
+ OperatorStack is a type-safe stack for holding ConstraintOperators
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)">
+ <summary>
+ Initializes a new instance of the <see cref="T:OperatorStack"/> class.
+ </summary>
+ <param name="builder">The builder.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Push(NUnit.Framework.Constraints.ConstraintOperator)">
+ <summary>
+ Pushes the specified operator onto the stack.
+ </summary>
+ <param name="op">The op.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Pop">
+ <summary>
+ Pops the topmost operator from the stack.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Empty">
+ <summary>
+ Gets a value indicating whether this <see cref="T:OpStack"/> is empty.
+ </summary>
+ <value><c>true</c> if empty; otherwise, <c>false</c>.</value>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Top">
+ <summary>
+ Gets the topmost operator without modifying the stack.
+ </summary>
+ <value>The top.</value>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack">
+ <summary>
+ ConstraintStack is a type-safe stack for holding Constraints
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)">
+ <summary>
+ Initializes a new instance of the <see cref="T:ConstraintStack"/> class.
+ </summary>
+ <param name="builder">The builder.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Push(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Pushes the specified constraint. As a side effect,
+ the constraint's builder field is set to the
+ ConstraintBuilder owning this stack.
+ </summary>
+ <param name="constraint">The constraint.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Pop">
+ <summary>
+ Pops this topmost constrait from the stack.
+ As a side effect, the constraint's builder
+ field is set to null.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Empty">
+ <summary>
+ Gets a value indicating whether this <see cref="T:ConstraintStack"/> is empty.
+ </summary>
+ <value><c>true</c> if empty; otherwise, <c>false</c>.</value>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Top">
+ <summary>
+ Gets the topmost constraint without modifying the stack.
+ </summary>
+ <value>The topmost constraint</value>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.EmptyConstraint">
+ <summary>
+ EmptyConstraint tests a whether a string or collection is empty,
+ postponing the decision about which test is applied until the
+ type of the actual argument is known.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EmptyConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EmptyConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.EqualConstraint">
+ <summary>
+ EqualConstraint is able to compare an actual value with the
+ expected value provided in its constructor. Two objects are
+ considered equal if both are null, or if both have the same
+ value. NUnit has special semantics for some object types.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.EqualConstraint.clipStrings">
+ <summary>
+ If true, strings in error messages will be clipped
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.EqualConstraint.comparer">
+ <summary>
+ NUnitEqualityComparer used to test equality.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.#ctor(System.Object)">
+ <summary>
+ Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EqualConstraint"/> class.
+ </summary>
+ <param name="expected">The expected value.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)">
+ <summary>
+ Flag the constraint to use a tolerance when determining equality.
+ </summary>
+ <param name="amount">Tolerance value to be used</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.Comparer(System.Collections.IComparer)">
+ <summary>
+ Flag the constraint to use the supplied IComparer object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IComparer)">
+ <summary>
+ Flag the constraint to use the supplied IComparer object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})">
+ <summary>
+ Flag the constraint to use the supplied IComparer object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Comparison{``0})">
+ <summary>
+ Flag the constraint to use the supplied Comparison object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IEqualityComparer)">
+ <summary>
+ Flag the constraint to use the supplied IEqualityComparer object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})">
+ <summary>
+ Flag the constraint to use the supplied IEqualityComparer object.
+ </summary>
+ <param name="comparer">The IComparer object to use.</param>
+ <returns>Self.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a failure message. Overridden to provide custom
+ failure messages for EqualConstraint.
+ </summary>
+ <param name="writer">The MessageWriter to write to</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write description of this constraint
+ </summary>
+ <param name="writer">The MessageWriter to write to</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.DisplayCollectionDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)">
+ <summary>
+ Display the failure information for two collections that did not match.
+ </summary>
+ <param name="writer">The MessageWriter on which to display</param>
+ <param name="expected">The expected collection.</param>
+ <param name="actual">The actual collection</param>
+ <param name="depth">The depth of this failure in a set of nested collections</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.DisplayCollectionTypesAndSizes(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)">
+ <summary>
+ Displays a single line showing the types and sizes of the expected
+ and actual collections or arrays. If both are identical, the value is
+ only shown once.
+ </summary>
+ <param name="writer">The MessageWriter on which to display</param>
+ <param name="expected">The expected collection or array</param>
+ <param name="actual">The actual collection or array</param>
+ <param name="indent">The indentation level for the message line</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualConstraint.DisplayFailurePoint(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32,System.Int32)">
+ <summary>
+ Displays a single line showing the point in the expected and actual
+ arrays at which the comparison failed. If the arrays have different
+ structures or dimensions, both values are shown.
+ </summary>
+ <param name="writer">The MessageWriter on which to display</param>
+ <param name="expected">The expected array</param>
+ <param name="actual">The actual array</param>
+ <param name="failurePoint">Index of the failure point in the underlying collections</param>
+ <param name="indent">The indentation level for the message line</param>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.IgnoreCase">
+ <summary>
+ Flag the constraint to ignore case and return self.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.NoClip">
+ <summary>
+ Flag the constraint to suppress string clipping
+ and return self.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.AsCollection">
+ <summary>
+ Flag the constraint to compare arrays as collections
+ and return self.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ulps">
+ <summary>
+ Switches the .Within() modifier to interpret its tolerance as
+ a distance in representable values (see remarks).
+ </summary>
+ <returns>Self.</returns>
+ <remarks>
+ Ulp stands for "unit in the last place" and describes the minimum
+ amount a given value can change. For any integers, an ulp is 1 whole
+ digit. For floating point values, the accuracy of which is better
+ for smaller numbers and worse for larger numbers, an ulp depends
+ on the size of the number. Using ulps for comparison of floating
+ point results instead of fixed tolerances is safer because it will
+ automatically compensate for the added inaccuracy of larger numbers.
+ </remarks>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.Percent">
+ <summary>
+ Switches the .Within() modifier to interpret its tolerance as
+ a percentage that the actual values is allowed to deviate from
+ the expected value.
+ </summary>
+ <returns>Self</returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.Days">
+ <summary>
+ Causes the tolerance to be interpreted as a TimeSpan in days.
+ </summary>
+ <returns>Self</returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.Hours">
+ <summary>
+ Causes the tolerance to be interpreted as a TimeSpan in hours.
+ </summary>
+ <returns>Self</returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.Minutes">
+ <summary>
+ Causes the tolerance to be interpreted as a TimeSpan in minutes.
+ </summary>
+ <returns>Self</returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.Seconds">
+ <summary>
+ Causes the tolerance to be interpreted as a TimeSpan in seconds.
+ </summary>
+ <returns>Self</returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.Milliseconds">
+ <summary>
+ Causes the tolerance to be interpreted as a TimeSpan in milliseconds.
+ </summary>
+ <returns>Self</returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ticks">
+ <summary>
+ Causes the tolerance to be interpreted as a TimeSpan in clock ticks.
+ </summary>
+ <returns>Self</returns>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.SameAsConstraint">
+ <summary>
+ SameAsConstraint tests whether an object is identical to
+ the object passed to its constructor
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SameAsConstraint.#ctor(System.Object)">
+ <summary>
+ Initializes a new instance of the <see cref="T:SameAsConstraint"/> class.
+ </summary>
+ <param name="expected">The expected object.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SameAsConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SameAsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.StringConstraint">
+ <summary>
+ StringConstraint is the abstract base for constraints
+ that operate on strings. It supports the IgnoreCase
+ modifier for string operations.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.StringConstraint.expected">
+ <summary>
+ The expected value
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.StringConstraint.caseInsensitive">
+ <summary>
+ Indicates whether tests should be case-insensitive
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor(System.String)">
+ <summary>
+ Constructs a StringConstraint given an expected value
+ </summary>
+ <param name="expected">The expected value</param>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.StringConstraint.IgnoreCase">
+ <summary>
+ Modify the constraint to ignore case in matching.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.EmptyStringConstraint">
+ <summary>
+ EmptyStringConstraint tests whether a string is empty.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.NullOrEmptyStringConstraint">
+ <summary>
+ NullEmptyStringConstraint tests whether a string is either null or empty.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NullOrEmptyStringConstraint.#ctor">
+ <summary>
+ Constructs a new NullOrEmptyStringConstraint
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NullOrEmptyStringConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NullOrEmptyStringConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.SubstringConstraint">
+ <summary>
+ SubstringConstraint can test whether a string contains
+ the expected substring.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SubstringConstraint.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:SubstringConstraint"/> class.
+ </summary>
+ <param name="expected">The expected.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SubstringConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.StartsWithConstraint">
+ <summary>
+ StartsWithConstraint can test whether a string starts
+ with an expected substring.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:StartsWithConstraint"/> class.
+ </summary>
+ <param name="expected">The expected string</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is matched by the actual value.
+ This is a template method, which calls the IsMatch method
+ of the derived class.
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.EndsWithConstraint">
+ <summary>
+ EndsWithConstraint can test whether a string ends
+ with an expected substring.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:EndsWithConstraint"/> class.
+ </summary>
+ <param name="expected">The expected string</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is matched by the actual value.
+ This is a template method, which calls the IsMatch method
+ of the derived class.
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.RegexConstraint">
+ <summary>
+ RegexConstraint can test whether a string matches
+ the pattern provided.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:RegexConstraint"/> class.
+ </summary>
+ <param name="pattern">The pattern.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.RegexConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.RegexConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.TypeConstraint">
+ <summary>
+ TypeConstraint is the abstract base for constraints
+ that take a Type as their expected value.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.TypeConstraint.expectedType">
+ <summary>
+ The expected Type used by the constraint
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.TypeConstraint.#ctor(System.Type)">
+ <summary>
+ Construct a TypeConstraint for a given Type
+ </summary>
+ <param name="type"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.TypeConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a
+ MessageWriter. TypeConstraints override this method to write
+ the name of the type.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ExactTypeConstraint">
+ <summary>
+ ExactTypeConstraint is used to test that an object
+ is of the exact type provided in the constructor
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.#ctor(System.Type)">
+ <summary>
+ Construct an ExactTypeConstraint for a given Type
+ </summary>
+ <param name="type">The expected Type.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.Matches(System.Object)">
+ <summary>
+ Test that an object is of the exact type specified
+ </summary>
+ <param name="actual">The actual value.</param>
+ <returns>True if the tested object is of the exact type provided, otherwise false.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the description of this constraint to a MessageWriter
+ </summary>
+ <param name="writer">The MessageWriter to use</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.InstanceOfTypeConstraint">
+ <summary>
+ InstanceOfTypeConstraint is used to test that an object
+ is of the same type provided or derived from it.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.#ctor(System.Type)">
+ <summary>
+ Construct an InstanceOfTypeConstraint for the type provided
+ </summary>
+ <param name="type">The expected Type</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.Matches(System.Object)">
+ <summary>
+ Test whether an object is of the specified type or a derived type
+ </summary>
+ <param name="actual">The object to be tested</param>
+ <returns>True if the object is of the provided type or derives from it, otherwise false.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description of this constraint to a MessageWriter
+ </summary>
+ <param name="writer">The MessageWriter to use</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.AssignableFromConstraint">
+ <summary>
+ AssignableFromConstraint is used to test that an object
+ can be assigned from a given Type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.#ctor(System.Type)">
+ <summary>
+ Construct an AssignableFromConstraint for the type provided
+ </summary>
+ <param name="type"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.Matches(System.Object)">
+ <summary>
+ Test whether an object can be assigned from the specified type
+ </summary>
+ <param name="actual">The object to be tested</param>
+ <returns>True if the object can be assigned a value of the expected Type, otherwise false.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description of this constraint to a MessageWriter
+ </summary>
+ <param name="writer">The MessageWriter to use</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.AssignableToConstraint">
+ <summary>
+ AssignableToConstraint is used to test that an object
+ can be assigned to a given Type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.#ctor(System.Type)">
+ <summary>
+ Construct an AssignableToConstraint for the type provided
+ </summary>
+ <param name="type"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.Matches(System.Object)">
+ <summary>
+ Test whether an object can be assigned to the specified type
+ </summary>
+ <param name="actual">The object to be tested</param>
+ <returns>True if the object can be assigned a value of the expected Type, otherwise false.</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description of this constraint to a MessageWriter
+ </summary>
+ <param name="writer">The MessageWriter to use</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ContainsConstraint">
+ <summary>
+ ContainsConstraint tests a whether a string contains a substring
+ or a collection contains an object. It postpones the decision of
+ which test to use until the type of the actual argument is known.
+ This allows testing whether a string is contained in a collection
+ or as a substring of another string using the same syntax.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ContainsConstraint.#ctor(System.Object)">
+ <summary>
+ Initializes a new instance of the <see cref="T:ContainsConstraint"/> class.
+ </summary>
+ <param name="expected">The expected.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ContainsConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ContainsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ContainsConstraint.IgnoreCase">
+ <summary>
+ Flag the constraint to ignore case and return self.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.PropertyExistsConstraint">
+ <summary>
+ PropertyExistsConstraint tests that a named property
+ exists on the object provided through Match.
+
+ Originally, PropertyConstraint provided this feature
+ in addition to making optional tests on the vaue
+ of the property. The two constraints are now separate.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:PropertyExistConstraint"/> class.
+ </summary>
+ <param name="name">The name of the property.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the property exists for a given object
+ </summary>
+ <param name="actual">The object to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a
+ MessageWriter.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.ToString">
+ <summary>
+ Returns the string representation of the constraint.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.PropertyConstraint">
+ <summary>
+ PropertyConstraint extracts a named property and uses
+ its value as the actual value for a chained constraint.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.PrefixConstraint">
+ <summary>
+ Abstract base class used for prefixes
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.PrefixConstraint.baseConstraint">
+ <summary>
+ The base constraint
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PrefixConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Construct given a base constraint
+ </summary>
+ <param name="resolvable"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropertyConstraint.#ctor(System.String,NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Initializes a new instance of the <see cref="T:PropertyConstraint"/> class.
+ </summary>
+ <param name="name">The name.</param>
+ <param name="baseConstraint">The constraint to apply to the property.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropertyConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropertyConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropertyConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a
+ MessageWriter. The default implementation simply writes
+ the raw value of actual, leaving it to the writer to
+ perform any formatting.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropertyConstraint.ToString">
+ <summary>
+ Returns the string representation of the constraint.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.NotConstraint">
+ <summary>
+ NotConstraint negates the effect of some other constraint
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NotConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Initializes a new instance of the <see cref="T:NotConstraint"/> class.
+ </summary>
+ <param name="baseConstraint">The base constraint to be negated.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NotConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for if the base constraint fails, false if it succeeds</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NotConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NotConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a MessageWriter.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.AllItemsConstraint">
+ <summary>
+ AllItemsConstraint applies another constraint to each
+ item in a collection, succeeding if they all succeed.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Construct an AllItemsConstraint on top of an existing constraint
+ </summary>
+ <param name="itemConstraint"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.Matches(System.Object)">
+ <summary>
+ Apply the item constraint to each item in the collection,
+ failing if any item fails.
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description of this constraint to a MessageWriter
+ </summary>
+ <param name="writer"></param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.SomeItemsConstraint">
+ <summary>
+ SomeItemsConstraint applies another constraint to each
+ item in a collection, succeeding if any of them succeeds.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Construct a SomeItemsConstraint on top of an existing constraint
+ </summary>
+ <param name="itemConstraint"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Matches(System.Object)">
+ <summary>
+ Apply the item constraint to each item in the collection,
+ succeeding if any item succeeds.
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description of this constraint to a MessageWriter
+ </summary>
+ <param name="writer"></param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.NoItemConstraint">
+ <summary>
+ NoItemConstraint applies another constraint to each
+ item in a collection, failing if any of them succeeds.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NoItemConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Construct a SomeItemsConstraint on top of an existing constraint
+ </summary>
+ <param name="itemConstraint"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NoItemConstraint.Matches(System.Object)">
+ <summary>
+ Apply the item constraint to each item in the collection,
+ failing if any item fails.
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NoItemConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write a description of this constraint to a MessageWriter
+ </summary>
+ <param name="writer"></param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.Numerics">
+ <summary>
+ The Numerics class contains common operations on numeric values.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Numerics.IsNumericType(System.Object)">
+ <summary>
+ Checks the type of the object, returning true if
+ the object is a numeric type.
+ </summary>
+ <param name="obj">The object to check</param>
+ <returns>true if the object is a numeric type</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Numerics.IsFloatingPointNumeric(System.Object)">
+ <summary>
+ Checks the type of the object, returning true if
+ the object is a floating point numeric type.
+ </summary>
+ <param name="obj">The object to check</param>
+ <returns>true if the object is a floating point numeric type</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Numerics.IsFixedPointNumeric(System.Object)">
+ <summary>
+ Checks the type of the object, returning true if
+ the object is a fixed point numeric type.
+ </summary>
+ <param name="obj">The object to check</param>
+ <returns>true if the object is a fixed point numeric type</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Numerics.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)">
+ <summary>
+ Test two numeric values for equality, performing the usual numeric
+ conversions and using a provided or default tolerance. If the tolerance
+ provided is Empty, this method may set it to a default tolerance.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="tolerance">A reference to the tolerance in effect</param>
+ <returns>True if the values are equal</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Numerics.Compare(System.Object,System.Object)">
+ <summary>
+ Compare two numeric values, performing the usual numeric conversions.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <returns>The relationship of the values to each other</returns>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.MessageWriter">
+ <summary>
+ MessageWriter is the abstract base for classes that write
+ constraint descriptions and messages in some form. The
+ class has separate methods for writing various components
+ of a message, allowing implementations to tailor the
+ presentation as needed.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.#ctor">
+ <summary>
+ Construct a MessageWriter given a culture
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.String,System.Object[])">
+ <summary>
+ Method to write single line message with optional args, usually
+ written to precede the general failure message.
+ </summary>
+ <param name="message">The message to be written</param>
+ <param name="args">Any arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])">
+ <summary>
+ Method to write single line message with optional args, usually
+ written to precede the general failure message, at a givel
+ indentation level.
+ </summary>
+ <param name="level">The indentation level of the message</param>
+ <param name="message">The message to be written</param>
+ <param name="args">Any arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Display Expected and Actual lines for a constraint. This
+ is called by MessageWriter's default implementation of
+ WriteMessageTo and provides the generic two-line display.
+ </summary>
+ <param name="constraint">The constraint that failed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object)">
+ <summary>
+ Display Expected and Actual lines for given values. This
+ method may be called by constraints that need more control over
+ the display of actual and expected values than is provided
+ by the default implementation.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value causing the failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)">
+ <summary>
+ Display Expected and Actual lines for given values, including
+ a tolerance value on the Expected line.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value causing the failure</param>
+ <param name="tolerance">The tolerance within which the test was made</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)">
+ <summary>
+ Display the expected and actual string values on separate lines.
+ If the mismatch parameter is >=0, an additional line is displayed
+ line containing a caret that points to the mismatch point.
+ </summary>
+ <param name="expected">The expected string value</param>
+ <param name="actual">The actual string value</param>
+ <param name="mismatch">The point at which the strings don't match or -1</param>
+ <param name="ignoreCase">If true, case is ignored in locating the point where the strings differ</param>
+ <param name="clipping">If true, the strings should be clipped to fit the line</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteConnector(System.String)">
+ <summary>
+ Writes the text for a connector.
+ </summary>
+ <param name="connector">The connector.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.WritePredicate(System.String)">
+ <summary>
+ Writes the text for a predicate.
+ </summary>
+ <param name="predicate">The predicate.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteExpectedValue(System.Object)">
+ <summary>
+ Writes the text for an expected value.
+ </summary>
+ <param name="expected">The expected value.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteModifier(System.String)">
+ <summary>
+ Writes the text for a modifier
+ </summary>
+ <param name="modifier">The modifier.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteActualValue(System.Object)">
+ <summary>
+ Writes the text for an actual value.
+ </summary>
+ <param name="actual">The actual value.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteValue(System.Object)">
+ <summary>
+ Writes the text for a generalized value.
+ </summary>
+ <param name="val">The value.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteCollectionElements(System.Collections.ICollection,System.Int32,System.Int32)">
+ <summary>
+ Writes the text for a collection value,
+ starting at a particular point, to a max length
+ </summary>
+ <param name="collection">The collection containing elements to write.</param>
+ <param name="start">The starting point of the elements to write</param>
+ <param name="max">The maximum number of elements to write</param>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.MessageWriter.MaxLineLength">
+ <summary>
+ Abstract method to get the max line length
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.MsgUtils">
+ <summary>
+ Static methods used in creating messages
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.MsgUtils.ELLIPSIS">
+ <summary>
+ Static string used when strings are clipped
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MsgUtils.GetTypeRepresentation(System.Object)">
+ <summary>
+ Returns the representation of a type as used in NUnitLite.
+ This is the same as Type.ToString() except for arrays,
+ which are displayed with their declared sizes.
+ </summary>
+ <param name="obj"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeControlChars(System.String)">
+ <summary>
+ Converts any control characters in a string
+ to their escaped representation.
+ </summary>
+ <param name="s">The string to be converted</param>
+ <returns>The converted string</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesAsString(System.Int32[])">
+ <summary>
+ Return the a string representation for a set of indices into an array
+ </summary>
+ <param name="indices">Array of indices for which a string is needed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesFromCollectionIndex(System.Collections.ICollection,System.Int32)">
+ <summary>
+ Get an array of indices representing the point in a collection or
+ array corresponding to a single int index into the collection.
+ </summary>
+ <param name="collection">The collection to which the indices apply</param>
+ <param name="index">Index in the collection</param>
+ <returns>Array of indices</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipString(System.String,System.Int32,System.Int32)">
+ <summary>
+ Clip a string to a given length, starting at a particular offset, returning the clipped
+ string with ellipses representing the removed parts
+ </summary>
+ <param name="s">The string to be clipped</param>
+ <param name="maxStringLength">The maximum permitted length of the result string</param>
+ <param name="clipStart">The point at which to start clipping</param>
+ <returns>The clipped string</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipExpectedAndActual(System.String@,System.String@,System.Int32,System.Int32)">
+ <summary>
+ Clip the expected and actual strings in a coordinated fashion,
+ so that they may be displayed together.
+ </summary>
+ <param name="expected"></param>
+ <param name="actual"></param>
+ <param name="maxDisplayLength"></param>
+ <param name="mismatch"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.MsgUtils.FindMismatchPosition(System.String,System.String,System.Int32,System.Boolean)">
+ <summary>
+ Shows the position two strings start to differ. Comparison
+ starts at the start index.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The actual string</param>
+ <param name="istart">The index in the strings at which comparison should start</param>
+ <param name="ignoreCase">Boolean indicating whether case should be ignored</param>
+ <returns>-1 if no mismatch found, or the index where mismatch found</returns>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.PathConstraint">
+ <summary>
+ PathConstraint serves as the abstract base of constraints
+ that operate on paths and provides several helper methods.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.PathConstraint.expected">
+ <summary>
+ The expected path used in the constraint
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.PathConstraint.caseInsensitive">
+ <summary>
+ Flag indicating whether a caseInsensitive comparison should be made
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PathConstraint.#ctor(System.String)">
+ <summary>
+ Construct a PathConstraint for a give expected path
+ </summary>
+ <param name="expected">The expected path</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PathConstraint.ToString">
+ <summary>
+ Returns the string representation of this constraint
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PathConstraint.Canonicalize(System.String)">
+ <summary>
+ Canonicalize the provided path
+ </summary>
+ <param name="path"></param>
+ <returns>The path in standardized form</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PathConstraint.IsSamePath(System.String,System.String)">
+ <summary>
+ Test whether two paths are the same
+ </summary>
+ <param name="path1">The first path</param>
+ <param name="path2">The second path</param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PathConstraint.IsSamePathOrUnder(System.String,System.String)">
+ <summary>
+ Test whether one path is the same as or under another path
+ </summary>
+ <param name="path1">The first path - supposed to be the parent path</param>
+ <param name="path2">The second path - supposed to be the child path</param>
+ <returns></returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.PathConstraint.IgnoreCase">
+ <summary>
+ Modifies the current instance to be case-insensitve
+ and returns it.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.PathConstraint.RespectCase">
+ <summary>
+ Modifies the current instance to be case-sensitve
+ and returns it.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.SamePathConstraint">
+ <summary>
+ Summary description for SamePathConstraint.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SamePathConstraint.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:SamePathConstraint"/> class.
+ </summary>
+ <param name="expected">The expected path</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SamePathConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SamePathConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint">
+ <summary>
+ SamePathOrUnderConstraint tests that one path is under another
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:SamePathOrUnderConstraint"/> class.
+ </summary>
+ <param name="expected">The expected path</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.EmptyDirectoryContraint">
+ <summary>
+ EmptyDirectoryConstraint is used to test that a directory is empty
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EmptyDirectoryContraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EmptyDirectoryContraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EmptyDirectoryContraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a
+ MessageWriter. The default implementation simply writes
+ the raw value of actual, leaving it to the writer to
+ perform any formatting.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.SubDirectoryConstraint">
+ <summary>
+ SubDirectoryConstraint is used to test that one directory is a subdirectory of another.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.#ctor(System.IO.DirectoryInfo)">
+ <summary>
+ Initializes a new instance of the <see cref="T:SubDirectoryConstraint"/> class.
+ </summary>
+ <param name="dirInfo">The dir info.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.BuildDirectoryList(System.IO.DirectoryInfo)">
+ <summary>
+ Builds a list of DirectoryInfo objects, recursing where necessary
+ </summary>
+ <param name="StartingDirectory">directory to recurse</param>
+ <returns>list of DirectoryInfo objects from the top level</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.IsDirectoryOnPath(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+ <summary>
+ private method to determine whether a directory is within the path
+ </summary>
+ <param name="ParentDirectory">top-level directory to search</param>
+ <param name="SearchDirectory">directory to search for</param>
+ <returns>true if found, false if not</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.DirectoriesEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+ <summary>
+ Method to compare two DirectoryInfo objects
+ </summary>
+ <param name="expected">first directory to compare</param>
+ <param name="actual">second directory to compare</param>
+ <returns>true if equivalent, false if not</returns>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ThrowsConstraint">
+ <summary>
+ ThrowsConstraint is used to test the exception thrown by
+ a delegate by applying a constraint to it.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Initializes a new instance of the <see cref="T:ThrowsConstraint"/> class,
+ using a constraint to be applied to the exception.
+ </summary>
+ <param name="baseConstraint">A constraint to apply to the caught exception.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.Matches(System.Object)">
+ <summary>
+ Executes the code of the delegate and captures any exception.
+ If a non-null base constraint was provided, it applies that
+ constraint to the exception.
+ </summary>
+ <param name="actual">A delegate representing the code to be tested</param>
+ <returns>True if an exception is thrown and the constraint succeeds, otherwise false</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.Matches(NUnit.Framework.Constraints.ActualValueDelegate)">
+ <summary>
+ Converts an ActualValueDelegate to a TestDelegate
+ before calling the primary overload.
+ </summary>
+ <param name="del"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a
+ MessageWriter. The default implementation simply writes
+ the raw value of actual, leaving it to the writer to
+ perform any formatting.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ToString">
+ <summary>
+ Returns the string representation of this constraint
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.ActualException">
+ <summary>
+ Get the actual exception thrown - used by Assert.Throws.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ThrowsNothingConstraint">
+ <summary>
+ ThrowsNothingConstraint tests that a delegate does not
+ throw an exception.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True if no exception is thrown, otherwise false</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a
+ MessageWriter. The default implementation simply writes
+ the raw value of actual, leaving it to the writer to
+ perform any formatting.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.RangeConstraint">
+ <summary>
+ RangeConstraint tests whethe two values are within a
+ specified range.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.RangeConstraint.#ctor(System.IComparable,System.IComparable)">
+ <summary>
+ Initializes a new instance of the <see cref="T:RangeConstraint"/> class.
+ </summary>
+ <param name="from">From.</param>
+ <param name="to">To.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.RangeConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.RangeConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using(System.Collections.IComparer)">
+ <summary>
+ Modifies the constraint to use an IComparer and returns self.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Collections.Generic.IComparer{``0})">
+ <summary>
+ Modifies the constraint to use an IComparer&lt;T&gt; and returns self.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Comparison{``0})">
+ <summary>
+ Modifies the constraint to use a Comparison&lt;T&gt; and returns self.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ConstraintFactory">
+ <summary>
+ Helper class with properties and methods that supply
+ a number of constraints used in Asserts.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Property(System.String)">
+ <summary>
+ Returns a new PropertyConstraintExpression, which will either
+ test for the existence of the named property on the object
+ being tested or apply any following constraint to that property.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Attribute(System.Type)">
+ <summary>
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Attribute``1">
+ <summary>
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.EqualTo(System.Object)">
+ <summary>
+ Returns a constraint that tests two items for equality
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.SameAs(System.Object)">
+ <summary>
+ Returns a constraint that tests that two references are the same object
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.GreaterThan(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is greater than the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.GreaterThanOrEqualTo(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AtLeast(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.LessThan(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is less than the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.LessThanOrEqualTo(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AtMost(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.TypeOf(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.TypeOf``1">
+ <summary>
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.InstanceOf(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.InstanceOf``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.InstanceOfType(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.InstanceOfType``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AssignableFrom(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AssignableFrom``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AssignableTo(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AssignableTo``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.EquivalentTo(System.Collections.IEnumerable)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is a collection containing the same elements as the
+ collection supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.SubsetOf(System.Collections.IEnumerable)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is a subset of the collection supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Member(System.Object)">
+ <summary>
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Contains(System.Object)">
+ <summary>
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Contains(System.String)">
+ <summary>
+ Returns a new ContainsConstraint. This constraint
+ will, in turn, make use of the appropriate second-level
+ constraint, depending on the type of the actual argument.
+ This overload is only used if the item sought is a string,
+ since any other type implies that we are looking for a
+ collection member.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.StringContaining(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.ContainsSubstring(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.DoesNotContain(System.String)">
+ <summary>
+ Returns a constraint that fails if the actual
+ value contains the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.StartsWith(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.StringStarting(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.DoesNotStartWith(System.String)">
+ <summary>
+ Returns a constraint that fails if the actual
+ value starts with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.EndsWith(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.StringEnding(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.DoesNotEndWith(System.String)">
+ <summary>
+ Returns a constraint that fails if the actual
+ value ends with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Matches(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value matches the Regex pattern supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.StringMatching(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value matches the Regex pattern supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.DoesNotMatch(System.String)">
+ <summary>
+ Returns a constraint that fails if the actual
+ value matches the pattern supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.SamePath(System.String)">
+ <summary>
+ Returns a constraint that tests whether the path provided
+ is the same as an expected path after canonicalization.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.SamePathOrUnder(System.String)">
+ <summary>
+ Returns a constraint that tests whether the path provided
+ is the same path or under an expected path after canonicalization.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintFactory.InRange(System.IComparable,System.IComparable)">
+ <summary>
+ Returns a constraint that tests whether the actual value falls
+ within a specified range.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Not">
+ <summary>
+ Returns a ConstraintExpression that negates any
+ following constraint.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.No">
+ <summary>
+ Returns a ConstraintExpression that negates any
+ following constraint.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.All">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them succeed.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Some">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if at least one of them succeeds.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.None">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them fail.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Length">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Length property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Count">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Count property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Message">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Message property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.InnerException">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the InnerException property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Null">
+ <summary>
+ Returns a constraint that tests for null
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.True">
+ <summary>
+ Returns a constraint that tests for True
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.False">
+ <summary>
+ Returns a constraint that tests for False
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.NaN">
+ <summary>
+ Returns a constraint that tests for NaN
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Empty">
+ <summary>
+ Returns a constraint that tests for empty
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Unique">
+ <summary>
+ Returns a constraint that tests whether a collection
+ contains all unique items.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.BinarySerializable">
+ <summary>
+ Returns a constraint that tests whether an object graph is serializable in binary format.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.XmlSerializable">
+ <summary>
+ Returns a constraint that tests whether an object graph is serializable in xml format.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Ordered">
+ <summary>
+ Returns a constraint that tests whether a collection is ordered
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ConstraintOperator">
+ <summary>
+ The ConstraintOperator class is used internally by a
+ ConstraintBuilder to represent an operator that
+ modifies or combines constraints.
+
+ Constraint operators use left and right precedence
+ values to determine whether the top operator on the
+ stack should be reduced before pushing a new operator.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ConstraintOperator.left_precedence">
+ <summary>
+ The precedence value used when the operator
+ is about to be pushed to the stack.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ConstraintOperator.right_precedence">
+ <summary>
+ The precedence value used when the operator
+ is on the top of the stack.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+ <summary>
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+ </summary>
+ <param name="stack"></param>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftContext">
+ <summary>
+ The syntax element preceding this operator
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightContext">
+ <summary>
+ The syntax element folowing this operator
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftPrecedence">
+ <summary>
+ The precedence value used when the operator
+ is about to be pushed to the stack.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightPrecedence">
+ <summary>
+ The precedence value used when the operator
+ is on the top of the stack.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.PrefixOperator">
+ <summary>
+ PrefixOperator takes a single constraint and modifies
+ it's action in some way.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PrefixOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+ <summary>
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+ </summary>
+ <param name="stack"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PrefixOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Returns the constraint created by applying this
+ prefix to another constraint.
+ </summary>
+ <param name="constraint"></param>
+ <returns></returns>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.NotOperator">
+ <summary>
+ Negates the test of the constraint it wraps.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NotOperator.#ctor">
+ <summary>
+ Constructs a new NotOperator
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NotOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Returns a NotConstraint applied to its argument.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.CollectionOperator">
+ <summary>
+ Abstract base for operators that indicate how to
+ apply a constraint to items in a collection.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.CollectionOperator.#ctor">
+ <summary>
+ Constructs a CollectionOperator
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.AllOperator">
+ <summary>
+ Represents a constraint that succeeds if all the
+ members of a collection match a base constraint.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AllOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Returns a constraint that will apply the argument
+ to the members of a collection, succeeding if
+ they all succeed.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.SomeOperator">
+ <summary>
+ Represents a constraint that succeeds if any of the
+ members of a collection match a base constraint.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.SomeOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Returns a constraint that will apply the argument
+ to the members of a collection, succeeding if
+ any of them succeed.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.NoneOperator">
+ <summary>
+ Represents a constraint that succeeds if none of the
+ members of a collection match a base constraint.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NoneOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Returns a constraint that will apply the argument
+ to the members of a collection, succeeding if
+ none of them succeed.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.WithOperator">
+ <summary>
+ Represents a constraint that simply wraps the
+ constraint provided as an argument, without any
+ further functionality, but which modifes the
+ order of evaluation because of its precedence.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.WithOperator.#ctor">
+ <summary>
+ Constructor for the WithOperator
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.WithOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Returns a constraint that wraps its argument
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.SelfResolvingOperator">
+ <summary>
+ Abstract base class for operators that are able to reduce to a
+ constraint whether or not another syntactic element follows.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.PropOperator">
+ <summary>
+ Operator used to test for the presence of a named Property
+ on an object and optionally apply further tests to the
+ value of that property.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropOperator.#ctor(System.String)">
+ <summary>
+ Constructs a PropOperator for a particular named property
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PropOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+ <summary>
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+ </summary>
+ <param name="stack"></param>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.PropOperator.Name">
+ <summary>
+ Gets the name of the property to which the operator applies
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.AttributeOperator">
+ <summary>
+ Operator that tests for the presence of a particular attribute
+ on a type and optionally applies further tests to the attribute.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AttributeOperator.#ctor(System.Type)">
+ <summary>
+ Construct an AttributeOperator for a particular Type
+ </summary>
+ <param name="type">The Type of attribute tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AttributeOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+ <summary>
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ThrowsOperator">
+ <summary>
+ Operator that tests that an exception is thrown and
+ optionally applies further tests to the exception.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsOperator.#ctor">
+ <summary>
+ Construct a ThrowsOperator
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ThrowsOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+ <summary>
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.BinaryOperator">
+ <summary>
+ Abstract base class for all binary operators
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.BinaryOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+ <summary>
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+ </summary>
+ <param name="stack"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.BinaryOperator.ApplyOperator(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Abstract method that produces a constraint by applying
+ the operator to its left and right constraint arguments.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.BinaryOperator.LeftPrecedence">
+ <summary>
+ Gets the left precedence of the operator
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.BinaryOperator.RightPrecedence">
+ <summary>
+ Gets the right precedence of the operator
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.AndOperator">
+ <summary>
+ Operator that requires both it's arguments to succeed
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AndOperator.#ctor">
+ <summary>
+ Construct an AndOperator
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AndOperator.ApplyOperator(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Apply the operator to produce an AndConstraint
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.OrOperator">
+ <summary>
+ Operator that requires at least one of it's arguments to succeed
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.OrOperator.#ctor">
+ <summary>
+ Construct an OrOperator
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.OrOperator.ApplyOperator(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Apply the operator to produce an OrConstraint
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ConstraintExpression">
+ <summary>
+ ConstraintExpression represents a compound constraint in the
+ process of being constructed from a series of syntactic elements.
+
+ Individual elements are appended to the expression as they are
+ reognized. Once an actual Constraint is appended, the expression
+ returns a resolvable Constraint.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ConstraintExpressionBase">
+ <summary>
+ ConstraintExpressionBase is the abstract base class for the
+ generated ConstraintExpression class, which represents a
+ compound constraint in the process of being constructed
+ from a series of syntactic elements.
+
+ NOTE: ConstraintExpressionBase is aware of some of its
+ derived classes, which is an apparent violation of
+ encapsulation. Ideally, these classes would be a
+ single class, but they must be separated in order to
+ allow parts to be generated under .NET 1.x and to
+ provide proper user feedback in syntactically
+ aware IDEs.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ConstraintExpressionBase.builder">
+ <summary>
+ The ConstraintBuilder holding the elements recognized so far
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:ConstraintExpressionBase"/> class.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)">
+ <summary>
+ Initializes a new instance of the <see cref="T:ConstraintExpressionBase"/>
+ class passing in a ConstraintBuilder, which may be pre-populated.
+ </summary>
+ <param name="builder">The builder.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.ToString">
+ <summary>
+ Returns a string representation of the expression as it
+ currently stands. This should only be used for testing,
+ since it has the side-effect of resolving the expression.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.Append(NUnit.Framework.Constraints.ConstraintOperator)">
+ <summary>
+ Appends an operator to the expression and returns the
+ resulting expression itself.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.Append(NUnit.Framework.Constraints.SelfResolvingOperator)">
+ <summary>
+ Appends a self-resolving operator to the expression and
+ returns a new ResolvableConstraintExpression.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.Append(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Appends a constraint to the expression and returns that
+ constraint, which is associated with the current state
+ of the expression being built.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:ConstraintExpression"/> class.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)">
+ <summary>
+ Initializes a new instance of the <see cref="T:ConstraintExpression"/>
+ class passing in a ConstraintBuilder, which may be pre-populated.
+ </summary>
+ <param name="builder">The builder.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Property(System.String)">
+ <summary>
+ Returns a new PropertyConstraintExpression, which will either
+ test for the existence of the named property on the object
+ being tested or apply any following constraint to that property.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute(System.Type)">
+ <summary>
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute``1">
+ <summary>
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Returns the constraint provided as an argument - used to allow custom
+ custom constraints to easily participate in the syntax.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches``1(System.Predicate{``0})">
+ <summary>
+ Returns the constraint provided as an argument - used to allow custom
+ custom constraints to easily participate in the syntax.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EqualTo(System.Object)">
+ <summary>
+ Returns a constraint that tests two items for equality
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SameAs(System.Object)">
+ <summary>
+ Returns a constraint that tests that two references are the same object
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThan(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is greater than the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThanOrEqualTo(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtLeast(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThan(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is less than the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThanOrEqualTo(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtMost(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf``1">
+ <summary>
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOfType(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOfType``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EquivalentTo(System.Collections.IEnumerable)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is a collection containing the same elements as the
+ collection supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubsetOf(System.Collections.IEnumerable)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is a subset of the collection supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Member(System.Object)">
+ <summary>
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)">
+ <summary>
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)">
+ <summary>
+ Returns a new ContainsConstraint. This constraint
+ will, in turn, make use of the appropriate second-level
+ constraint, depending on the type of the actual argument.
+ This overload is only used if the item sought is a string,
+ since any other type implies that we are looking for a
+ collection member.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringContaining(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainsSubstring(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartsWith(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringStarting(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndsWith(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringEnding(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value matches the Regex pattern supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringMatching(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value matches the Regex pattern supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePath(System.String)">
+ <summary>
+ Returns a constraint that tests whether the path provided
+ is the same as an expected path after canonicalization.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePathOrUnder(System.String)">
+ <summary>
+ Returns a constraint that tests whether the path provided
+ is the same path or under an expected path after canonicalization.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InRange(System.IComparable,System.IComparable)">
+ <summary>
+ Returns a constraint that tests whether the actual value falls
+ within a specified range.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Not">
+ <summary>
+ Returns a ConstraintExpression that negates any
+ following constraint.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.No">
+ <summary>
+ Returns a ConstraintExpression that negates any
+ following constraint.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.All">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them succeed.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Some">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if at least one of them succeeds.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.None">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them fail.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Length">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Length property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Count">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Count property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Message">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Message property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.InnerException">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the InnerException property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.With">
+ <summary>
+ With is currently a NOP - reserved for future use.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Null">
+ <summary>
+ Returns a constraint that tests for null
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.True">
+ <summary>
+ Returns a constraint that tests for True
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.False">
+ <summary>
+ Returns a constraint that tests for False
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.NaN">
+ <summary>
+ Returns a constraint that tests for NaN
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Empty">
+ <summary>
+ Returns a constraint that tests for empty
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Unique">
+ <summary>
+ Returns a constraint that tests whether a collection
+ contains all unique items.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.BinarySerializable">
+ <summary>
+ Returns a constraint that tests whether an object graph is serializable in binary format.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.XmlSerializable">
+ <summary>
+ Returns a constraint that tests whether an object graph is serializable in xml format.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Ordered">
+ <summary>
+ Returns a constraint that tests whether a collection is ordered
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.BinarySerializableConstraint">
+ <summary>
+ BinarySerializableConstraint tests whether
+ an object is serializable in binary format.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a
+ MessageWriter. The default implementation simply writes
+ the raw value of actual, leaving it to the writer to
+ perform any formatting.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.ToString">
+ <summary>
+ Returns the string representation
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.XmlSerializableConstraint">
+ <summary>
+ BinarySerializableConstraint tests whether
+ an object is serializable in binary format.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a
+ MessageWriter. The default implementation simply writes
+ the raw value of actual, leaving it to the writer to
+ perform any formatting.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.ToString">
+ <summary>
+ Returns the string representation of this constraint
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.BasicConstraint">
+ <summary>
+ BasicConstraint is the abstract base for constraints that
+ perform a simple comparison to a constant value.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.BasicConstraint.#ctor(System.Object,System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:BasicConstraint"/> class.
+ </summary>
+ <param name="expected">The expected.</param>
+ <param name="description">The description.</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.BasicConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.BasicConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.NullConstraint">
+ <summary>
+ NullConstraint tests that the actual value is null
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NullConstraint.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:NullConstraint"/> class.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.TrueConstraint">
+ <summary>
+ TrueConstraint tests that the actual value is true
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.TrueConstraint.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:TrueConstraint"/> class.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.FalseConstraint">
+ <summary>
+ FalseConstraint tests that the actual value is false
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.FalseConstraint.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:FalseConstraint"/> class.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.NaNConstraint">
+ <summary>
+ NaNConstraint tests that the actual value is a double or float NaN
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NaNConstraint.Matches(System.Object)">
+ <summary>
+ Test that the actual value is an NaN
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NaNConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a specified writer
+ </summary>
+ <param name="writer"></param>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.AttributeExistsConstraint">
+ <summary>
+ AttributeExistsConstraint tests for the presence of a
+ specified attribute on a Type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.#ctor(System.Type)">
+ <summary>
+ Constructs an AttributeExistsConstraint for a specific attribute Type
+ </summary>
+ <param name="type"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.Matches(System.Object)">
+ <summary>
+ Tests whether the object provides the expected attribute.
+ </summary>
+ <param name="actual">A Type, MethodInfo, or other ICustomAttributeProvider</param>
+ <returns>True if the expected attribute is present, otherwise false</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Writes the description of the constraint to the specified writer
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.AttributeConstraint">
+ <summary>
+ AttributeConstraint tests that a specified attribute is present
+ on a Type or other provider and that the value of the attribute
+ satisfies some other constraint.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AttributeConstraint.#ctor(System.Type,NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Constructs an AttributeConstraint for a specified attriute
+ Type and base constraint.
+ </summary>
+ <param name="type"></param>
+ <param name="baseConstraint"></param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AttributeConstraint.Matches(System.Object)">
+ <summary>
+ Determines whether the Type or other provider has the
+ expected attribute and if its value matches the
+ additional constraint specified.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AttributeConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Writes a description of the attribute to the specified writer.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AttributeConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Writes the actual value supplied to the specified writer.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.AttributeConstraint.ToString">
+ <summary>
+ Returns a string representation of the constraint.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ResolvableConstraintExpression">
+ <summary>
+ ResolvableConstraintExpression is used to represent a compound
+ constraint being constructed at a point where the last operator
+ may either terminate the expression or may have additional
+ qualifying constraints added to it.
+
+ It is used, for example, for a Property element or for
+ an Exception element, either of which may be optionally
+ followed by constraints that apply to the property or
+ exception.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor">
+ <summary>
+ Create a new instance of ResolvableConstraintExpression
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)">
+ <summary>
+ Create a new instance of ResolvableConstraintExpression,
+ passing in a pre-populated ConstraintBuilder.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.NUnit#Framework#Constraints#IResolveConstraint#Resolve">
+ <summary>
+ Resolve the current expression to a Constraint
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.And">
+ <summary>
+ Appends an And Operator to the expression
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.Or">
+ <summary>
+ Appends an Or operator to the expression.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.DelayedConstraint">
+ <summary>
+ Applies a delay to the match so that a match can be evaluated in the future.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.Constraint,System.Int32)">
+ <summary>
+ Creates a new DelayedConstraint
+ </summary>
+ <param name="baseConstraint">The inner constraint two decorate</param>
+ <param name="delayInMilliseconds">The time interval after which the match is performed</param>
+ <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.Constraint,System.Int32,System.Int32)">
+ <summary>
+ Creates a new DelayedConstraint
+ </summary>
+ <param name="baseConstraint">The inner constraint two decorate</param>
+ <param name="delayInMilliseconds">The time interval after which the match is performed</param>
+ <param name="pollingInterval">The time interval used for polling</param>
+ <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.DelayedConstraint.Matches(System.Object)">
+ <summary>
+ Test whether the constraint is satisfied by a given value
+ </summary>
+ <param name="actual">The value to be tested</param>
+ <returns>True for if the base constraint fails, false if it succeeds</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.DelayedConstraint.Matches(NUnit.Framework.Constraints.ActualValueDelegate)">
+ <summary>
+ Test whether the constraint is satisfied by a delegate
+ </summary>
+ <param name="del">The delegate whose value is to be tested</param>
+ <returns>True for if the base constraint fails, false if it succeeds</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.DelayedConstraint.Matches``1(``0@)">
+ <summary>
+ Test whether the constraint is satisfied by a given reference.
+ Overridden to wait for the specified delay period before
+ calling the base constraint with the dereferenced value.
+ </summary>
+ <param name="actual">A reference to the value to be tested</param>
+ <returns>True for success, false for failure</returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the constraint description to a MessageWriter
+ </summary>
+ <param name="writer">The writer on which the description is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Write the actual value for a failing constraint test to a MessageWriter.
+ </summary>
+ <param name="writer">The writer on which the actual value is displayed</param>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ToString">
+ <summary>
+ Returns the string representation of the constraint.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics">
+ <summary>Helper routines for working with floating point numbers</summary>
+ <remarks>
+ <para>
+ The floating point comparison code is based on this excellent article:
+ http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
+ </para>
+ <para>
+ "ULP" means Unit in the Last Place and in the context of this library refers to
+ the distance between two adjacent floating point numbers. IEEE floating point
+ numbers can only represent a finite subset of natural numbers, with greater
+ accuracy for smaller numbers and lower accuracy for very large numbers.
+ </para>
+ <para>
+ If a comparison is allowed "2 ulps" of deviation, that means the values are
+ allowed to deviate by up to 2 adjacent floating point values, which might be
+ as low as 0.0000001 for small numbers or as high as 10.0 for large numbers.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Single,System.Single,System.Int32)">
+ <summary>Compares two floating point values for equality</summary>
+ <param name="left">First floating point value to be compared</param>
+ <param name="right">Second floating point value t be compared</param>
+ <param name="maxUlps">
+ Maximum number of representable floating point values that are allowed to
+ be between the left and the right floating point values
+ </param>
+ <returns>True if both numbers are equal or close to being equal</returns>
+ <remarks>
+ <para>
+ Floating point values can only represent a finite subset of natural numbers.
+ For example, the values 2.00000000 and 2.00000024 can be stored in a float,
+ but nothing inbetween them.
+ </para>
+ <para>
+ This comparison will count how many possible floating point values are between
+ the left and the right number. If the number of possible values between both
+ numbers is less than or equal to maxUlps, then the numbers are considered as
+ being equal.
+ </para>
+ <para>
+ Implementation partially follows the code outlined here:
+ http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/
+ </para>
+ </remarks>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Double,System.Double,System.Int64)">
+ <summary>Compares two double precision floating point values for equality</summary>
+ <param name="left">First double precision floating point value to be compared</param>
+ <param name="right">Second double precision floating point value t be compared</param>
+ <param name="maxUlps">
+ Maximum number of representable double precision floating point values that are
+ allowed to be between the left and the right double precision floating point values
+ </param>
+ <returns>True if both numbers are equal or close to being equal</returns>
+ <remarks>
+ <para>
+ Double precision floating point values can only represent a limited series of
+ natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004
+ can be stored in a double, but nothing inbetween them.
+ </para>
+ <para>
+ This comparison will count how many possible double precision floating point
+ values are between the left and the right number. If the number of possible
+ values between both numbers is less than or equal to maxUlps, then the numbers
+ are considered as being equal.
+ </para>
+ <para>
+ Implementation partially follows the code outlined here:
+ http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/
+ </para>
+ </remarks>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.ReinterpretAsInt(System.Single)">
+ <summary>
+ Reinterprets the memory contents of a floating point value as an integer value
+ </summary>
+ <param name="value">
+ Floating point value whose memory contents to reinterpret
+ </param>
+ <returns>
+ The memory contents of the floating point value interpreted as an integer
+ </returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.ReinterpretAsLong(System.Double)">
+ <summary>
+ Reinterprets the memory contents of a double precision floating point
+ value as an integer value
+ </summary>
+ <param name="value">
+ Double precision floating point value whose memory contents to reinterpret
+ </param>
+ <returns>
+ The memory contents of the double precision floating point value
+ interpreted as an integer
+ </returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.ReinterpretAsFloat(System.Int32)">
+ <summary>
+ Reinterprets the memory contents of an integer as a floating point value
+ </summary>
+ <param name="value">Integer value whose memory contents to reinterpret</param>
+ <returns>
+ The memory contents of the integer value interpreted as a floating point value
+ </returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.ReinterpretAsDouble(System.Int64)">
+ <summary>
+ Reinterprets the memory contents of an integer value as a double precision
+ floating point value
+ </summary>
+ <param name="value">Integer whose memory contents to reinterpret</param>
+ <returns>
+ The memory contents of the integer interpreted as a double precision
+ floating point value
+ </returns>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion">
+ <summary>Union of a floating point variable and an integer</summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Float">
+ <summary>The union's value as a floating point variable</summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Int">
+ <summary>The union's value as an integer</summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.UInt">
+ <summary>The union's value as an unsigned integer</summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion">
+ <summary>Union of a double precision floating point variable and a long</summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Double">
+ <summary>The union's value as a double precision floating point variable</summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Long">
+ <summary>The union's value as a long</summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.ULong">
+ <summary>The union's value as an unsigned long</summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ToleranceMode">
+ <summary>
+ Modes in which the tolerance value for a comparison can
+ be interpreted.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ToleranceMode.None">
+ <summary>
+ The tolerance was created with a value, without specifying
+ how the value would be used. This is used to prevent setting
+ the mode more than once and is generally changed to Linear
+ upon execution of the test.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ToleranceMode.Linear">
+ <summary>
+ The tolerance is used as a numeric range within which
+ two compared values are considered to be equal.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ToleranceMode.Percent">
+ <summary>
+ Interprets the tolerance as the percentage by which
+ the two compared values my deviate from each other.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.ToleranceMode.Ulps">
+ <summary>
+ Compares two values based in their distance in
+ representable numbers.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.Tolerance">
+ <summary>
+ The Tolerance class generalizes the notion of a tolerance
+ within which an equality test succeeds. Normally, it is
+ used with numeric types, but it can be used with any
+ type that supports taking a difference between two
+ objects and comparing that difference to a value.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object)">
+ <summary>
+ Constructs a linear tolerance of a specdified amount
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object,NUnit.Framework.Constraints.ToleranceMode)">
+ <summary>
+ Constructs a tolerance given an amount and ToleranceMode
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.Tolerance.CheckLinearAndNumeric">
+ <summary>
+ Tests that the current Tolerance is linear with a
+ numeric value, throwing an exception if it is not.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Empty">
+ <summary>
+ Returns an empty Tolerance object, equivalent to
+ specifying an exact match.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Mode">
+ <summary>
+ Gets the ToleranceMode for the current Tolerance
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Value">
+ <summary>
+ Gets the value of the current Tolerance instance.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Percent">
+ <summary>
+ Returns a new tolerance, using the current amount as a percentage.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Ulps">
+ <summary>
+ Returns a new tolerance, using the current amount in Ulps.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Days">
+ <summary>
+ Returns a new tolerance with a TimeSpan as the amount, using
+ the current amount as a number of days.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Hours">
+ <summary>
+ Returns a new tolerance with a TimeSpan as the amount, using
+ the current amount as a number of hours.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Minutes">
+ <summary>
+ Returns a new tolerance with a TimeSpan as the amount, using
+ the current amount as a number of minutes.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Seconds">
+ <summary>
+ Returns a new tolerance with a TimeSpan as the amount, using
+ the current amount as a number of seconds.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Milliseconds">
+ <summary>
+ Returns a new tolerance with a TimeSpan as the amount, using
+ the current amount as a number of milliseconds.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.Ticks">
+ <summary>
+ Returns a new tolerance with a TimeSpan as the amount, using
+ the current amount as a number of clock ticks.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.Tolerance.IsEmpty">
+ <summary>
+ Returns true if the current tolerance is empty.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ComparisonAdapter">
+ <summary>
+ ComparisonAdapter class centralizes all comparisons of
+ values in NUnit, adapting to the use of any provided
+ IComparer, IComparer&lt;T&gt; or Comparison&lt;T&gt;
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For(System.Collections.IComparer)">
+ <summary>
+ Returns a ComparisonAdapter that wraps an IComparer
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Collections.Generic.IComparer{``0})">
+ <summary>
+ Returns a ComparisonAdapter that wraps an IComparer&lt;T&gt;
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Comparison{``0})">
+ <summary>
+ Returns a ComparisonAdapter that wraps a Comparison&lt;T&gt;
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.Compare(System.Object,System.Object)">
+ <summary>
+ Compares two objects
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.ComparisonAdapter.Default">
+ <summary>
+ Gets the default ComparisonAdapter, which wraps an
+ NUnitComparer object.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.#ctor(System.Collections.IComparer)">
+ <summary>
+ Construct a ComparisonAdapter for an IComparer
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.Compare(System.Object,System.Object)">
+ <summary>
+ Compares two objects
+ </summary>
+ <param name="expected"></param>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.DefaultComparisonAdapter.#ctor">
+ <summary>
+ Construct a default ComparisonAdapter
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1">
+ <summary>
+ ComparisonAdapter&lt;T&gt; extends ComparisonAdapter and
+ allows use of an IComparer&lt;T&gt; or Comparison&lt;T&gt;
+ to actually perform the comparison.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.#ctor(System.Collections.Generic.IComparer{`0})">
+ <summary>
+ Construct a ComparisonAdapter for an IComparer&lt;T&gt;
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.Compare(System.Object,System.Object)">
+ <summary>
+ Compare a Type T to an object
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.#ctor(System.Comparison{`0})">
+ <summary>
+ Construct a ComparisonAdapter for a Comparison&lt;T&gt;
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.Compare(System.Object,System.Object)">
+ <summary>
+ Compare a Type T to an object
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.EqualityAdapter">
+ <summary>
+ EqualityAdapter class handles all equality comparisons
+ that use an IEqualityComparer, IEqualityComparer&lt;T&gt;
+ or a ComparisonAdapter.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualityAdapter.ObjectsEqual(System.Object,System.Object)">
+ <summary>
+ Compares two objects, returning true if they are equal
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IComparer)">
+ <summary>
+ Returns an EqualityAdapter that wraps an IComparer.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IEqualityComparer)">
+ <summary>
+ Returns an EqualityAdapter that wraps an IEqualityComparer.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IEqualityComparer{``0})">
+ <summary>
+ Returns an EqualityAdapter that wraps an IEqualityComparer&lt;T&gt;.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IComparer{``0})">
+ <summary>
+ Returns an EqualityAdapter that wraps an IComparer&lt;T&gt;.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Comparison{``0})">
+ <summary>
+ Returns an EqualityAdapter that wraps a Comparison&lt;T&gt;.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.NUnitComparer">
+ <summary>
+ NUnitComparer encapsulates NUnit's default behavior
+ in comparing two objects.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NUnitComparer.Compare(System.Object,System.Object)">
+ <summary>
+ Compares two objects
+ </summary>
+ <param name="x"></param>
+ <param name="y"></param>
+ <returns></returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.NUnitComparer.Default">
+ <summary>
+ Returns the default NUnitComparer.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer">
+ <summary>
+ NUnitEqualityComparer encapsulates NUnit's handling of
+ equality tests between objects.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.caseInsensitive">
+ <summary>
+ If true, all string comparisons will ignore case
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.compareAsCollection">
+ <summary>
+ If true, arrays will be treated as collections, allowing
+ those of different dimensions to be compared
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.tolerance">
+ <summary>
+ If non-zero, equality comparisons within the specified
+ tolerance will succeed.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.externalComparer">
+ <summary>
+ Comparison object used in comparisons for some constraints.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.ObjectsEqual(System.Object,System.Object)">
+ <summary>
+ Compares two objects for equality.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.ArraysEqual(System.Array,System.Array)">
+ <summary>
+ Helper method to compare two arrays
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.DirectoriesEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+ <summary>
+ Method to compare two DirectoryInfo objects
+ </summary>
+ <param name="x">first directory to compare</param>
+ <param name="y">second directory to compare</param>
+ <returns>true if equivalent, false if not</returns>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.Default">
+ <summary>
+ Returns the default NUnitEqualityComparer
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.IgnoreCase">
+ <summary>
+ Gets and sets a flag indicating whether case should
+ be ignored in determining equality.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.CompareAsCollection">
+ <summary>
+ Gets and sets a flag indicating that arrays should be
+ compared as collections, without regard to their shape.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.ExternalComparer">
+ <summary>
+ Gets and sets an external comparer to be used to
+ test for equality. It is applied to members of
+ collections, in place of NUnit's own logic.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.Tolerance">
+ <summary>
+ Gets and sets a tolerance used to compare objects of
+ certin types.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoints">
+ <summary>
+ Gets the list of failure points for the last Match performed.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Constraints.PredicateConstraint`1">
+ <summary>
+ Predicate constraint wraps a Predicate in a constraint,
+ returning success if the predicate is true.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.#ctor(System.Predicate{`0})">
+ <summary>
+ Construct a PredicateConstraint from a predicate
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.Matches(System.Object)">
+ <summary>
+ Determines whether the predicate succeeds when applied
+ to the actual value.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+ <summary>
+ Writes the description to a MessageWriter
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.SetUpFixtureAttribute">
+ <summary>
+ SetUpFixtureAttribute is used to identify a SetUpFixture
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.StringAssert">
+ <summary>
+ Basic Asserts on strings.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.Equals(System.Object,System.Object)">
+ <summary>
+ The Equals method throws an AssertionException. This is done
+ to make sure there is no mistake by calling this function.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.ReferenceEquals(System.Object,System.Object)">
+ <summary>
+ override the default ReferenceEquals to throw an AssertionException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that a string is found within another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String)">
+ <summary>
+ Asserts that a string is found within another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String)">
+ <summary>
+ Asserts that a string is found within another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that a string is not found within another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String,System.String)">
+ <summary>
+ Asserts that a string is found within another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String)">
+ <summary>
+ Asserts that a string is found within another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that a string starts with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String)">
+ <summary>
+ Asserts that a string starts with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String)">
+ <summary>
+ Asserts that a string starts with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that a string does not start with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String,System.String)">
+ <summary>
+ Asserts that a string does not start with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String)">
+ <summary>
+ Asserts that a string does not start with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that a string ends with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String)">
+ <summary>
+ Asserts that a string ends with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String)">
+ <summary>
+ Asserts that a string ends with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that a string does not end with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String,System.String)">
+ <summary>
+ Asserts that a string does not end with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String)">
+ <summary>
+ Asserts that a string does not end with another string.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The string to be examined</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that two strings are equal, without regard to case.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The actual string</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String)">
+ <summary>
+ Asserts that two strings are equal, without regard to case.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The actual string</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String)">
+ <summary>
+ Asserts that two strings are equal, without regard to case.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The actual string</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that two strings are not equal, without regard to case.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The actual string</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String,System.String)">
+ <summary>
+ Asserts that two strings are Notequal, without regard to case.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The actual string</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String)">
+ <summary>
+ Asserts that two strings are not equal, without regard to case.
+ </summary>
+ <param name="expected">The expected string</param>
+ <param name="actual">The actual string</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that a string matches an expected regular expression pattern.
+ </summary>
+ <param name="pattern">The regex pattern to be matched</param>
+ <param name="actual">The actual string</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String)">
+ <summary>
+ Asserts that a string matches an expected regular expression pattern.
+ </summary>
+ <param name="pattern">The regex pattern to be matched</param>
+ <param name="actual">The actual string</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String)">
+ <summary>
+ Asserts that a string matches an expected regular expression pattern.
+ </summary>
+ <param name="pattern">The regex pattern to be matched</param>
+ <param name="actual">The actual string</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that a string does not match an expected regular expression pattern.
+ </summary>
+ <param name="pattern">The regex pattern to be used</param>
+ <param name="actual">The actual string</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String,System.String)">
+ <summary>
+ Asserts that a string does not match an expected regular expression pattern.
+ </summary>
+ <param name="pattern">The regex pattern to be used</param>
+ <param name="actual">The actual string</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String)">
+ <summary>
+ Asserts that a string does not match an expected regular expression pattern.
+ </summary>
+ <param name="pattern">The regex pattern to be used</param>
+ <param name="actual">The actual string</param>
+ </member>
+ <member name="T:NUnit.Framework.PropertyAttribute">
+ <summary>
+ PropertyAttribute is used to attach information to a test as a name/value pair..
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.String)">
+ <summary>
+ Construct a PropertyAttribute with a name and string value
+ </summary>
+ <param name="propertyName">The name of the property</param>
+ <param name="propertyValue">The property value</param>
+ </member>
+ <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Int32)">
+ <summary>
+ Construct a PropertyAttribute with a name and int value
+ </summary>
+ <param name="propertyName">The name of the property</param>
+ <param name="propertyValue">The property value</param>
+ </member>
+ <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Double)">
+ <summary>
+ Construct a PropertyAttribute with a name and double value
+ </summary>
+ <param name="propertyName">The name of the property</param>
+ <param name="propertyValue">The property value</param>
+ </member>
+ <member name="M:NUnit.Framework.PropertyAttribute.#ctor">
+ <summary>
+ Constructor for derived classes that set the
+ property dictionary directly.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.Object)">
+ <summary>
+ Constructor for use by derived classes that use the
+ name of the type as the property name. Derived classes
+ must ensure that the Type of the property value is
+ a standard type supported by the BCL. Any custom
+ types will cause a serialization Exception when
+ in the client.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.PropertyAttribute.Properties">
+ <summary>
+ Gets the property dictionary for this attribute
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.CollectionAssert">
+ <summary>
+ A set of Assert methods operationg on one or more collections
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.Equals(System.Object,System.Object)">
+ <summary>
+ The Equals method throws an AssertionException. This is done
+ to make sure there is no mistake by calling this function.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.ReferenceEquals(System.Object,System.Object)">
+ <summary>
+ override the default ReferenceEquals to throw an AssertionException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type)">
+ <summary>
+ Asserts that all items contained in collection are of the type specified by expectedType.
+ </summary>
+ <param name="collection">IEnumerable containing objects to be considered</param>
+ <param name="expectedType">System.Type that all objects in collection must be instances of</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String)">
+ <summary>
+ Asserts that all items contained in collection are of the type specified by expectedType.
+ </summary>
+ <param name="collection">IEnumerable containing objects to be considered</param>
+ <param name="expectedType">System.Type that all objects in collection must be instances of</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String,System.Object[])">
+ <summary>
+ Asserts that all items contained in collection are of the type specified by expectedType.
+ </summary>
+ <param name="collection">IEnumerable containing objects to be considered</param>
+ <param name="expectedType">System.Type that all objects in collection must be instances of</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable)">
+ <summary>
+ Asserts that all items contained in collection are not equal to null.
+ </summary>
+ <param name="collection">IEnumerable containing objects to be considered</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String)">
+ <summary>
+ Asserts that all items contained in collection are not equal to null.
+ </summary>
+ <param name="collection">IEnumerable containing objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Asserts that all items contained in collection are not equal to null.
+ </summary>
+ <param name="collection">IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable)">
+ <summary>
+ Ensures that every object contained in collection exists within the collection
+ once and only once.
+ </summary>
+ <param name="collection">IEnumerable of objects to be considered</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String)">
+ <summary>
+ Ensures that every object contained in collection exists within the collection
+ once and only once.
+ </summary>
+ <param name="collection">IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Ensures that every object contained in collection exists within the collection
+ once and only once.
+ </summary>
+ <param name="collection">IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+ <summary>
+ Asserts that expected and actual are exactly equal. The collections must have the same count,
+ and contain the exact same objects in the same order.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)">
+ <summary>
+ Asserts that expected and actual are exactly equal. The collections must have the same count,
+ and contain the exact same objects in the same order.
+ If comparer is not null then it will be used to compare the objects.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+ <summary>
+ Asserts that expected and actual are exactly equal. The collections must have the same count,
+ and contain the exact same objects in the same order.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String)">
+ <summary>
+ Asserts that expected and actual are exactly equal. The collections must have the same count,
+ and contain the exact same objects in the same order.
+ If comparer is not null then it will be used to compare the objects.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Asserts that expected and actual are exactly equal. The collections must have the same count,
+ and contain the exact same objects in the same order.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])">
+ <summary>
+ Asserts that expected and actual are exactly equal. The collections must have the same count,
+ and contain the exact same objects in the same order.
+ If comparer is not null then it will be used to compare the objects.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+ <summary>
+ Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+ <summary>
+ Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+ <summary>
+ Asserts that expected and actual are not exactly equal.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)">
+ <summary>
+ Asserts that expected and actual are not exactly equal.
+ If comparer is not null then it will be used to compare the objects.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+ <summary>
+ Asserts that expected and actual are not exactly equal.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String)">
+ <summary>
+ Asserts that expected and actual are not exactly equal.
+ If comparer is not null then it will be used to compare the objects.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Asserts that expected and actual are not exactly equal.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])">
+ <summary>
+ Asserts that expected and actual are not exactly equal.
+ If comparer is not null then it will be used to compare the objects.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+ <summary>
+ Asserts that expected and actual are not equivalent.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+ <summary>
+ Asserts that expected and actual are not equivalent.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Asserts that expected and actual are not equivalent.
+ </summary>
+ <param name="expected">The first IEnumerable of objects to be considered</param>
+ <param name="actual">The second IEnumerable of objects to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object)">
+ <summary>
+ Asserts that collection contains actual as an item.
+ </summary>
+ <param name="collection">IEnumerable of objects to be considered</param>
+ <param name="actual">Object to be found within collection</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String)">
+ <summary>
+ Asserts that collection contains actual as an item.
+ </summary>
+ <param name="collection">IEnumerable of objects to be considered</param>
+ <param name="actual">Object to be found within collection</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that collection contains actual as an item.
+ </summary>
+ <param name="collection">IEnumerable of objects to be considered</param>
+ <param name="actual">Object to be found within collection</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object)">
+ <summary>
+ Asserts that collection does not contain actual as an item.
+ </summary>
+ <param name="collection">IEnumerable of objects to be considered</param>
+ <param name="actual">Object that cannot exist within collection</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String)">
+ <summary>
+ Asserts that collection does not contain actual as an item.
+ </summary>
+ <param name="collection">IEnumerable of objects to be considered</param>
+ <param name="actual">Object that cannot exist within collection</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that collection does not contain actual as an item.
+ </summary>
+ <param name="collection">IEnumerable of objects to be considered</param>
+ <param name="actual">Object that cannot exist within collection</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+ <summary>
+ Asserts that superset is not a subject of subset.
+ </summary>
+ <param name="subset">The IEnumerable superset to be considered</param>
+ <param name="superset">The IEnumerable subset to be considered</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+ <summary>
+ Asserts that superset is not a subject of subset.
+ </summary>
+ <param name="subset">The IEnumerable superset to be considered</param>
+ <param name="superset">The IEnumerable subset to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Asserts that superset is not a subject of subset.
+ </summary>
+ <param name="subset">The IEnumerable superset to be considered</param>
+ <param name="superset">The IEnumerable subset to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+ <summary>
+ Asserts that superset is a subset of subset.
+ </summary>
+ <param name="subset">The IEnumerable superset to be considered</param>
+ <param name="superset">The IEnumerable subset to be considered</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+ <summary>
+ Asserts that superset is a subset of subset.
+ </summary>
+ <param name="subset">The IEnumerable superset to be considered</param>
+ <param name="superset">The IEnumerable subset to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Asserts that superset is a subset of subset.
+ </summary>
+ <param name="subset">The IEnumerable superset to be considered</param>
+ <param name="superset">The IEnumerable subset to be considered</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Assert that an array, list or other collection is empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ <param name="message">The message to be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String)">
+ <summary>
+ Assert that an array, list or other collection is empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ <param name="message">The message to be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable)">
+ <summary>
+ Assert that an array,list or other collection is empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Assert that an array, list or other collection is empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ <param name="message">The message to be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String)">
+ <summary>
+ Assert that an array, list or other collection is empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ <param name="message">The message to be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable)">
+ <summary>
+ Assert that an array,list or other collection is empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.String,System.Object[])">
+ <summary>
+ Assert that an array, list or other collection is ordered
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ <param name="message">The message to be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.String)">
+ <summary>
+ Assert that an array, list or other collection is ordered
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ <param name="message">The message to be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable)">
+ <summary>
+ Assert that an array, list or other collection is ordered
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])">
+ <summary>
+ Assert that an array, list or other collection is ordered
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ <param name="comparer">A custom comparer to perform the comparisons</param>
+ <param name="message">The message to be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer,System.String)">
+ <summary>
+ Assert that an array, list or other collection is ordered
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ <param name="comparer">A custom comparer to perform the comparisons</param>
+ <param name="message">The message to be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer)">
+ <summary>
+ Assert that an array, list or other collection is ordered
+ </summary>
+ <param name="collection">An array, list or other collection implementing IEnumerable</param>
+ <param name="comparer">A custom comparer to perform the comparisons</param>
+ </member>
+ <member name="T:NUnit.Framework.FileAssert">
+ <summary>
+ Summary description for FileAssert.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.Equals(System.Object,System.Object)">
+ <summary>
+ The Equals method throws an AssertionException. This is done
+ to make sure there is no mistake by calling this function.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.ReferenceEquals(System.Object,System.Object)">
+ <summary>
+ override the default ReferenceEquals to throw an AssertionException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.#ctor">
+ <summary>
+ We don't actually want any instances of this object, but some people
+ like to inherit from it to add other static methods. Hence, the
+ protected constructor disallows any instances of this object.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])">
+ <summary>
+ Verifies that two Streams are equal. Two Streams are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected Stream</param>
+ <param name="actual">The actual Stream</param>
+ <param name="message">The message to display if Streams are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String)">
+ <summary>
+ Verifies that two Streams are equal. Two Streams are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected Stream</param>
+ <param name="actual">The actual Stream</param>
+ <param name="message">The message to display if objects are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Verifies that two Streams are equal. Two Streams are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected Stream</param>
+ <param name="actual">The actual Stream</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])">
+ <summary>
+ Verifies that two files are equal. Two files are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A file containing the value that is expected</param>
+ <param name="actual">A file containing the actual value</param>
+ <param name="message">The message to display if Streams are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String)">
+ <summary>
+ Verifies that two files are equal. Two files are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A file containing the value that is expected</param>
+ <param name="actual">A file containing the actual value</param>
+ <param name="message">The message to display if objects are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo)">
+ <summary>
+ Verifies that two files are equal. Two files are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A file containing the value that is expected</param>
+ <param name="actual">A file containing the actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Verifies that two files are equal. Two files are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The path to a file containing the value that is expected</param>
+ <param name="actual">The path to a file containing the actual value</param>
+ <param name="message">The message to display if Streams are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String)">
+ <summary>
+ Verifies that two files are equal. Two files are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The path to a file containing the value that is expected</param>
+ <param name="actual">The path to a file containing the actual value</param>
+ <param name="message">The message to display if objects are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String)">
+ <summary>
+ Verifies that two files are equal. Two files are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The path to a file containing the value that is expected</param>
+ <param name="actual">The path to a file containing the actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])">
+ <summary>
+ Asserts that two Streams are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected Stream</param>
+ <param name="actual">The actual Stream</param>
+ <param name="message">The message to be displayed when the two Stream are the same.</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String)">
+ <summary>
+ Asserts that two Streams are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected Stream</param>
+ <param name="actual">The actual Stream</param>
+ <param name="message">The message to be displayed when the Streams are the same.</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Asserts that two Streams are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected Stream</param>
+ <param name="actual">The actual Stream</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])">
+ <summary>
+ Asserts that two files are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A file containing the value that is expected</param>
+ <param name="actual">A file containing the actual value</param>
+ <param name="message">The message to display if Streams are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String)">
+ <summary>
+ Asserts that two files are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A file containing the value that is expected</param>
+ <param name="actual">A file containing the actual value</param>
+ <param name="message">The message to display if objects are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo)">
+ <summary>
+ Asserts that two files are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A file containing the value that is expected</param>
+ <param name="actual">A file containing the actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that two files are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The path to a file containing the value that is expected</param>
+ <param name="actual">The path to a file containing the actual value</param>
+ <param name="message">The message to display if Streams are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String)">
+ <summary>
+ Asserts that two files are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The path to a file containing the value that is expected</param>
+ <param name="actual">The path to a file containing the actual value</param>
+ <param name="message">The message to display if objects are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String)">
+ <summary>
+ Asserts that two files are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The path to a file containing the value that is expected</param>
+ <param name="actual">The path to a file containing the actual value</param>
+ </member>
+ <member name="T:NUnit.Framework.DescriptionAttribute">
+ <summary>
+ Attribute used to provide descriptive text about a
+ test case or fixture.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.DescriptionAttribute.#ctor(System.String)">
+ <summary>
+ Construct the attribute
+ </summary>
+ <param name="description">Text describing the test</param>
+ </member>
+ <member name="P:NUnit.Framework.DescriptionAttribute.Description">
+ <summary>
+ Gets the test description
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.IExpectException">
+ <summary>
+ Interface implemented by a user fixture in order to
+ validate any expected exceptions. It is only called
+ for test methods marked with the ExpectedException
+ attribute.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.IExpectException.HandleException(System.Exception)">
+ <summary>
+ Method to handle an expected exception
+ </summary>
+ <param name="ex">The exception to be handled</param>
+ </member>
+ <member name="T:NUnit.Framework.TextMessageWriter">
+ <summary>
+ TextMessageWriter writes constraint descriptions and messages
+ in displayable form as a text stream. It tailors the display
+ of individual message components to form the standard message
+ format of NUnit assertion failure messages.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TextMessageWriter.Pfx_Expected">
+ <summary>
+ Prefix used for the expected value line of a message
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TextMessageWriter.Pfx_Actual">
+ <summary>
+ Prefix used for the actual value line of a message
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TextMessageWriter.PrefixLength">
+ <summary>
+ Length of a message prefix
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.#ctor">
+ <summary>
+ Construct a TextMessageWriter
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.#ctor(System.String,System.Object[])">
+ <summary>
+ Construct a TextMessageWriter, specifying a user message
+ and optional formatting arguments.
+ </summary>
+ <param name="userMessage"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])">
+ <summary>
+ Method to write single line message with optional args, usually
+ written to precede the general failure message, at a givel
+ indentation level.
+ </summary>
+ <param name="level">The indentation level of the message</param>
+ <param name="message">The message to be written</param>
+ <param name="args">Any arguments used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.DisplayDifferences(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Display Expected and Actual lines for a constraint. This
+ is called by MessageWriter's default implementation of
+ WriteMessageTo and provides the generic two-line display.
+ </summary>
+ <param name="constraint">The constraint that failed</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.DisplayDifferences(System.Object,System.Object)">
+ <summary>
+ Display Expected and Actual lines for given values. This
+ method may be called by constraints that need more control over
+ the display of actual and expected values than is provided
+ by the default implementation.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value causing the failure</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)">
+ <summary>
+ Display Expected and Actual lines for given values, including
+ a tolerance value on the expected line.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value causing the failure</param>
+ <param name="tolerance">The tolerance within which the test was made</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)">
+ <summary>
+ Display the expected and actual string values on separate lines.
+ If the mismatch parameter is >=0, an additional line is displayed
+ line containing a caret that points to the mismatch point.
+ </summary>
+ <param name="expected">The expected string value</param>
+ <param name="actual">The actual string value</param>
+ <param name="mismatch">The point at which the strings don't match or -1</param>
+ <param name="ignoreCase">If true, case is ignored in string comparisons</param>
+ <param name="clipping">If true, clip the strings to fit the max line length</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteConnector(System.String)">
+ <summary>
+ Writes the text for a connector.
+ </summary>
+ <param name="connector">The connector.</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WritePredicate(System.String)">
+ <summary>
+ Writes the text for a predicate.
+ </summary>
+ <param name="predicate">The predicate.</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteModifier(System.String)">
+ <summary>
+ Write the text for a modifier.
+ </summary>
+ <param name="modifier">The modifier.</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedValue(System.Object)">
+ <summary>
+ Writes the text for an expected value.
+ </summary>
+ <param name="expected">The expected value.</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteActualValue(System.Object)">
+ <summary>
+ Writes the text for an actual value.
+ </summary>
+ <param name="actual">The actual value.</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteValue(System.Object)">
+ <summary>
+ Writes the text for a generalized value.
+ </summary>
+ <param name="val">The value.</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteCollectionElements(System.Collections.ICollection,System.Int32,System.Int32)">
+ <summary>
+ Writes the text for a collection value,
+ starting at a particular point, to a max length
+ </summary>
+ <param name="collection">The collection containing elements to write.</param>
+ <param name="start">The starting point of the elements to write</param>
+ <param name="max">The maximum number of elements to write</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedLine(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Write the generic 'Expected' line for a constraint
+ </summary>
+ <param name="constraint">The constraint that failed</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedLine(System.Object)">
+ <summary>
+ Write the generic 'Expected' line for a given value
+ </summary>
+ <param name="expected">The expected value</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedLine(System.Object,NUnit.Framework.Constraints.Tolerance)">
+ <summary>
+ Write the generic 'Expected' line for a given value
+ and tolerance.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="tolerance">The tolerance within which the test was made</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteActualLine(NUnit.Framework.Constraints.Constraint)">
+ <summary>
+ Write the generic 'Actual' line for a constraint
+ </summary>
+ <param name="constraint">The constraint for which the actual value is to be written</param>
+ </member>
+ <member name="M:NUnit.Framework.TextMessageWriter.WriteActualLine(System.Object)">
+ <summary>
+ Write the generic 'Actual' line for a given value
+ </summary>
+ <param name="actual">The actual value causing a failure</param>
+ </member>
+ <member name="P:NUnit.Framework.TextMessageWriter.MaxLineLength">
+ <summary>
+ Gets or sets the maximum line length for this writer
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.AssertionHelper">
+ <summary>
+ AssertionHelper is an optional base class for user tests,
+ allowing the use of shorter names for constraints and
+ asserts and avoiding conflict with the definition of
+ <see cref="T:NUnit.Framework.Is"/>, from which it inherits much of its
+ behavior, in certain mock object frameworks.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Object,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure. Works
+ identically to <see cref="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint)"/>
+ </summary>
+ <param name="constraint">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure. Works
+ identically to <see cref="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String)"/>
+ </summary>
+ <param name="constraint">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure. Works
+ identically to <see cref="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"/>
+ </summary>
+ <param name="constraint">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expr">A Constraint expression to be applied</param>
+ <param name="del">An ActualValueDelegate returning the value to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expr">A Constraint expression to be applied</param>
+ <param name="del">An ActualValueDelegate returning the value to be tested</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="del">An ActualValueDelegate returning the value to be tested</param>
+ <param name="expr">A Constraint expression to be applied</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0@,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Apply a constraint to a referenced value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="constraint">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+ <summary>
+ Apply a constraint to a referenced value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="constraint">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+ <summary>
+ Apply a constraint to a referenced value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expression">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String,System.Object[])">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to
+ <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display if the condition is false</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String)">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to
+ <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String)"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display if the condition is false</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean)">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to <see cref="M:NUnit.Framework.Assert.That(System.Boolean)"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Asserts that the code represented by a delegate throws an exception
+ that satisfies the constraint provided.
+ </summary>
+ <param name="code">A TestDelegate to be executed</param>
+ <param name="constraint">A ThrowsConstraint used in the test</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionHelper.Map(System.Collections.ICollection)">
+ <summary>
+ Returns a ListMapper based on a collection.
+ </summary>
+ <param name="original">The original collection</param>
+ <returns></returns>
+ </member>
+ <member name="T:NUnit.Framework.IncludeExcludeAttribute">
+ <summary>
+ Abstract base for Attributes that are used to include tests
+ in the test run based on environmental settings.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor">
+ <summary>
+ Constructor with no included items specified, for use
+ with named property syntax.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor(System.String)">
+ <summary>
+ Constructor taking one or more included items
+ </summary>
+ <param name="include">Comma-delimited list of included items</param>
+ </member>
+ <member name="P:NUnit.Framework.IncludeExcludeAttribute.Include">
+ <summary>
+ Name of the item that is needed in order for
+ a test to run. Multiple itemss may be given,
+ separated by a comma.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.IncludeExcludeAttribute.Exclude">
+ <summary>
+ Name of the item to be excluded. Multiple items
+ may be given, separated by a comma.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.IncludeExcludeAttribute.Reason">
+ <summary>
+ The reason for including or excluding the test
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.PlatformAttribute">
+ <summary>
+ PlatformAttribute is used to mark a test fixture or an
+ individual method as applying to a particular platform only.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.PlatformAttribute.#ctor">
+ <summary>
+ Constructor with no platforms specified, for use
+ with named property syntax.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.PlatformAttribute.#ctor(System.String)">
+ <summary>
+ Constructor taking one or more platforms
+ </summary>
+ <param name="platforms">Comma-deliminted list of platforms</param>
+ </member>
+ <member name="T:NUnit.Framework.CultureAttribute">
+ <summary>
+ CultureAttribute is used to mark a test fixture or an
+ individual method as applying to a particular Culture only.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.CultureAttribute.#ctor">
+ <summary>
+ Constructor with no cultures specified, for use
+ with named property syntax.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.CultureAttribute.#ctor(System.String)">
+ <summary>
+ Constructor taking one or more cultures
+ </summary>
+ <param name="cultures">Comma-deliminted list of cultures</param>
+ </member>
+ <member name="T:NUnit.Framework.SetCultureAttribute">
+ <summary>
+ Summary description for SetCultureAttribute.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.SetCultureAttribute.#ctor(System.String)">
+ <summary>
+ Construct given the name of a culture
+ </summary>
+ <param name="culture"></param>
+ </member>
+ <member name="T:NUnit.Framework.GlobalSettings">
+ <summary>
+ GlobalSettings is a place for setting default values used
+ by the framework in performing asserts.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.GlobalSettings.DefaultFloatingPointTolerance">
+ <summary>
+ Default tolerance for floating point equality
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.DirectoryAssert">
+ <summary>
+ Summary description for DirectoryAssert
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.Equals(System.Object,System.Object)">
+ <summary>
+ The Equals method throws an AssertionException. This is done
+ to make sure there is no mistake by calling this function.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.ReferenceEquals(System.Object,System.Object)">
+ <summary>
+ override the default ReferenceEquals to throw an AssertionException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.#ctor">
+ <summary>
+ We don't actually want any instances of this object, but some people
+ like to inherit from it to add other static methods. Hence, the
+ protected constructor disallows any instances of this object.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])">
+ <summary>
+ Verifies that two directories are equal. Two directories are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory containing the value that is expected</param>
+ <param name="actual">A directory containing the actual value</param>
+ <param name="message">The message to display if directories are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String)">
+ <summary>
+ Verifies that two directories are equal. Two directories are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory containing the value that is expected</param>
+ <param name="actual">A directory containing the actual value</param>
+ <param name="message">The message to display if directories are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+ <summary>
+ Verifies that two directories are equal. Two directories are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory containing the value that is expected</param>
+ <param name="actual">A directory containing the actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Verifies that two directories are equal. Two directories are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory path string containing the value that is expected</param>
+ <param name="actual">A directory path string containing the actual value</param>
+ <param name="message">The message to display if directories are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.String,System.String,System.String)">
+ <summary>
+ Verifies that two directories are equal. Two directories are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory path string containing the value that is expected</param>
+ <param name="actual">A directory path string containing the actual value</param>
+ <param name="message">The message to display if directories are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.String,System.String)">
+ <summary>
+ Verifies that two directories are equal. Two directories are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory path string containing the value that is expected</param>
+ <param name="actual">A directory path string containing the actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])">
+ <summary>
+ Asserts that two directories are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory containing the value that is expected</param>
+ <param name="actual">A directory containing the actual value</param>
+ <param name="message">The message to display if directories are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String)">
+ <summary>
+ Asserts that two directories are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory containing the value that is expected</param>
+ <param name="actual">A directory containing the actual value</param>
+ <param name="message">The message to display if directories are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+ <summary>
+ Asserts that two directories are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory containing the value that is expected</param>
+ <param name="actual">A directory containing the actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that two directories are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory path string containing the value that is expected</param>
+ <param name="actual">A directory path string containing the actual value</param>
+ <param name="message">The message to display if directories are equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.String,System.String,System.String)">
+ <summary>
+ Asserts that two directories are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory path string containing the value that is expected</param>
+ <param name="actual">A directory path string containing the actual value</param>
+ <param name="message">The message to display if directories are equal</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.String,System.String)">
+ <summary>
+ Asserts that two directories are not equal. If they are equal
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">A directory path string containing the value that is expected</param>
+ <param name="actual">A directory path string containing the actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.IO.DirectoryInfo,System.String,System.Object[])">
+ <summary>
+ Asserts that the directory is empty. If it is not empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="message">The message to display if directories are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.IO.DirectoryInfo,System.String)">
+ <summary>
+ Asserts that the directory is empty. If it is not empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="message">The message to display if directories are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.IO.DirectoryInfo)">
+ <summary>
+ Asserts that the directory is empty. If it is not empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that the directory is empty. If it is not empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="message">The message to display if directories are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.String,System.String)">
+ <summary>
+ Asserts that the directory is empty. If it is not empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="message">The message to display if directories are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.String)">
+ <summary>
+ Asserts that the directory is empty. If it is not empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.IO.DirectoryInfo,System.String,System.Object[])">
+ <summary>
+ Asserts that the directory is not empty. If it is empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="message">The message to display if directories are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.IO.DirectoryInfo,System.String)">
+ <summary>
+ Asserts that the directory is not empty. If it is empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="message">The message to display if directories are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.IO.DirectoryInfo)">
+ <summary>
+ Asserts that the directory is not empty. If it is empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that the directory is not empty. If it is empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="message">The message to display if directories are not equal</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.String,System.String)">
+ <summary>
+ Asserts that the directory is not empty. If it is empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="message">The message to display if directories are not equal</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.String)">
+ <summary>
+ Asserts that the directory is not empty. If it is empty
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])">
+ <summary>
+ Asserts that path contains actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ <param name="message">The message to display if directory is not within the path</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String)">
+ <summary>
+ Asserts that path contains actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ <param name="message">The message to display if directory is not within the path</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+ <summary>
+ Asserts that path contains actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that path contains actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ <param name="message">The message to display if directory is not within the path</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.String,System.String,System.String)">
+ <summary>
+ Asserts that path contains actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ <param name="message">The message to display if directory is not within the path</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.String,System.String)">
+ <summary>
+ Asserts that path contains actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])">
+ <summary>
+ Asserts that path does not contain actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ <param name="message">The message to display if directory is not within the path</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String)">
+ <summary>
+ Asserts that path does not contain actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ <param name="message">The message to display if directory is not within the path</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+ <summary>
+ Asserts that path does not contain actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.String,System.String,System.String,System.Object[])">
+ <summary>
+ Asserts that path does not contain actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ <param name="message">The message to display if directory is not within the path</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.String,System.String,System.String)">
+ <summary>
+ Asserts that path does not contain actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ <param name="message">The message to display if directory is not within the path</param>
+ </member>
+ <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.String,System.String)">
+ <summary>
+ Asserts that path does not contain actual as a subdirectory or
+ an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="directory">A directory to search</param>
+ <param name="actual">sub-directory asserted to exist under directory</param>
+ </member>
+ <member name="T:NUnit.Framework.TestCaseAttribute">
+ <summary>
+ TestCaseAttribute is used to mark parameterized test cases
+ and provide them with their arguments.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.ITestCaseData">
+ <summary>
+ The ITestCaseData interface is implemented by a class
+ that is able to return complete testcases for use by
+ a parameterized test method.
+
+ NOTE: This interface is used in both the framework
+ and the core, even though that results in two different
+ types. However, sharing the source code guarantees that
+ the various implementations will be compatible and that
+ the core is able to reflect successfully over the
+ framework implementations of ITestCaseData.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ITestCaseData.Arguments">
+ <summary>
+ Gets the argument list to be provided to the test
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ITestCaseData.Result">
+ <summary>
+ Gets the expected result
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ITestCaseData.ExpectedException">
+ <summary>
+ Gets the expected exception Type
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ITestCaseData.ExpectedExceptionName">
+ <summary>
+ Gets the FullName of the expected exception
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ITestCaseData.TestName">
+ <summary>
+ Gets the name to be used for the test
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ITestCaseData.Description">
+ <summary>
+ Gets the description of the test
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ITestCaseData.Ignored">
+ <summary>
+ Gets a value indicating whether this <see cref="T:NUnit.Framework.ITestCaseData"/> is ignored.
+ </summary>
+ <value><c>true</c> if ignored; otherwise, <c>false</c>.</value>
+ </member>
+ <member name="P:NUnit.Framework.ITestCaseData.IgnoreReason">
+ <summary>
+ Gets the ignore reason.
+ </summary>
+ <value>The ignore reason.</value>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object[])">
+ <summary>
+ Construct a TestCaseAttribute with a list of arguments.
+ This constructor is not CLS-Compliant
+ </summary>
+ <param name="arguments"></param>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object)">
+ <summary>
+ Construct a TestCaseAttribute with a single argument
+ </summary>
+ <param name="arg"></param>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object)">
+ <summary>
+ Construct a TestCaseAttribute with a two arguments
+ </summary>
+ <param name="arg1"></param>
+ <param name="arg2"></param>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object,System.Object)">
+ <summary>
+ Construct a TestCaseAttribute with a three arguments
+ </summary>
+ <param name="arg1"></param>
+ <param name="arg2"></param>
+ <param name="arg3"></param>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.Arguments">
+ <summary>
+ Gets the list of arguments to a test case
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.Result">
+ <summary>
+ Gets or sets the expected result.
+ </summary>
+ <value>The result.</value>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedException">
+ <summary>
+ Gets or sets the expected exception.
+ </summary>
+ <value>The expected exception.</value>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedExceptionName">
+ <summary>
+ Gets or sets the name the expected exception.
+ </summary>
+ <value>The expected name of the exception.</value>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedMessage">
+ <summary>
+ Gets or sets the expected message of the expected exception
+ </summary>
+ <value>The expected message of the exception.</value>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.MatchType">
+ <summary>
+ Gets or sets the type of match to be performed on the expected message
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.Description">
+ <summary>
+ Gets or sets the description.
+ </summary>
+ <value>The description.</value>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.TestName">
+ <summary>
+ Gets or sets the name of the test.
+ </summary>
+ <value>The name of the test.</value>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.Ignore">
+ <summary>
+ Gets or sets the ignored status of the test
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.Ignored">
+ <summary>
+ Gets or sets the ignored status of the test
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseAttribute.IgnoreReason">
+ <summary>
+ Gets the ignore reason.
+ </summary>
+ <value>The ignore reason.</value>
+ </member>
+ <member name="T:NUnit.Framework.TestCaseData">
+ <summary>
+ The TestCaseData class represents a set of arguments
+ and other parameter info to be used for a parameterized
+ test case. It provides a number of instance modifiers
+ for use in initializing the test case.
+
+ Note: Instance modifiers are getters that return
+ the same instance after modifying it's state.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TestCaseData.arguments">
+ <summary>
+ The argument list to be provided to the test
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TestCaseData.result">
+ <summary>
+ The expected result to be returned
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TestCaseData.expectedExceptionType">
+ <summary>
+ The expected exception Type
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TestCaseData.expectedExceptionName">
+ <summary>
+ The FullName of the expected exception
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TestCaseData.testName">
+ <summary>
+ The name to be used for the test
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TestCaseData.description">
+ <summary>
+ The description of the test
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TestCaseData.properties">
+ <summary>
+ A dictionary of properties, used to add information
+ to tests without requiring the class to change.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TestCaseData.isIgnored">
+ <summary>
+ If true, indicates that the test case is to be ignored
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.TestCaseData.ignoreReason">
+ <summary>
+ The reason for ignoring a test case
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:TestCaseData"/> class.
+ </summary>
+ <param name="args">The arguments.</param>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object)">
+ <summary>
+ Initializes a new instance of the <see cref="T:TestCaseData"/> class.
+ </summary>
+ <param name="arg">The argument.</param>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object)">
+ <summary>
+ Initializes a new instance of the <see cref="T:TestCaseData"/> class.
+ </summary>
+ <param name="arg1">The first argument.</param>
+ <param name="arg2">The second argument.</param>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object,System.Object)">
+ <summary>
+ Initializes a new instance of the <see cref="T:TestCaseData"/> class.
+ </summary>
+ <param name="arg1">The first argument.</param>
+ <param name="arg2">The second argument.</param>
+ <param name="arg3">The third argument.</param>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.Returns(System.Object)">
+ <summary>
+ Sets the expected result for the test
+ </summary>
+ <param name="result">The expected result</param>
+ <returns>A modified TestCaseData</returns>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.Throws(System.Type)">
+ <summary>
+ Sets the expected exception type for the test
+ </summary>
+ <param name="exceptionType">Type of the expected exception.</param>
+ <returns>The modified TestCaseData instance</returns>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.Throws(System.String)">
+ <summary>
+ Sets the expected exception type for the test
+ </summary>
+ <param name="exceptionName">FullName of the expected exception.</param>
+ <returns>The modified TestCaseData instance</returns>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.SetName(System.String)">
+ <summary>
+ Sets the name of the test case
+ </summary>
+ <returns>The modified TestCaseData instance</returns>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.SetDescription(System.String)">
+ <summary>
+ Sets the description for the test case
+ being constructed.
+ </summary>
+ <param name="description">The description.</param>
+ <returns>The modified TestCaseData instance.</returns>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.SetCategory(System.String)">
+ <summary>
+ Applies a category to the test
+ </summary>
+ <param name="category"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.String)">
+ <summary>
+ Applies a named property to the test
+ </summary>
+ <param name="propName"></param>
+ <param name="propValue"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Int32)">
+ <summary>
+ Applies a named property to the test
+ </summary>
+ <param name="propName"></param>
+ <param name="propValue"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Double)">
+ <summary>
+ Applies a named property to the test
+ </summary>
+ <param name="propName"></param>
+ <param name="propValue"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.Ignore">
+ <summary>
+ Ignores this TestCase.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseData.Ignore(System.String)">
+ <summary>
+ Ignores this TestCase, specifying the reason.
+ </summary>
+ <param name="reason">The reason.</param>
+ <returns></returns>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseData.Arguments">
+ <summary>
+ Gets the argument list to be provided to the test
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseData.Result">
+ <summary>
+ Gets the expected result
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseData.ExpectedException">
+ <summary>
+ Gets the expected exception Type
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseData.ExpectedExceptionName">
+ <summary>
+ Gets the FullName of the expected exception
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseData.TestName">
+ <summary>
+ Gets the name to be used for the test
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseData.Description">
+ <summary>
+ Gets the description of the test
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseData.Ignored">
+ <summary>
+ Gets a value indicating whether this <see cref="T:NUnit.Framework.ITestCaseData"/> is ignored.
+ </summary>
+ <value><c>true</c> if ignored; otherwise, <c>false</c>.</value>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseData.IgnoreReason">
+ <summary>
+ Gets the ignore reason.
+ </summary>
+ <value>The ignore reason.</value>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseData.Categories">
+ <summary>
+ Gets a list of categories associated with this test.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseData.Properties">
+ <summary>
+ Gets the property dictionary for this test
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.SuccessException">
+ <summary>
+ Thrown when an assertion failed.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.SuccessException.#ctor(System.String)">
+ <param name="message"></param>
+ </member>
+ <member name="M:NUnit.Framework.SuccessException.#ctor(System.String,System.Exception)">
+ <param name="message">The error message that explains
+ the reason for the exception</param>
+ <param name="inner">The exception that caused the
+ current exception</param>
+ </member>
+ <member name="M:NUnit.Framework.SuccessException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Serialization Constructor
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.InconclusiveException">
+ <summary>
+ Thrown when a test executes inconclusively.
+ </summary>
+
+ </member>
+ <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String)">
+ <param name="message">The error message that explains
+ the reason for the exception</param>
+ </member>
+ <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String,System.Exception)">
+ <param name="message">The error message that explains
+ the reason for the exception</param>
+ <param name="inner">The exception that caused the
+ current exception</param>
+ </member>
+ <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Serialization Constructor
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.TestFixtureSetUpAttribute">
+ <summary>
+ Attribute used to identify a method that is
+ called before any tests in a fixture are run.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.TestFixtureTearDownAttribute">
+ <summary>
+ Attribute used to identify a method that is called after
+ all the tests in a fixture have run. The method is
+ guaranteed to be called, even if an exception is thrown.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.CategoryAttribute">
+ <summary>
+ Attribute used to apply a category to a test
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.CategoryAttribute.categoryName">
+ <summary>
+ The name of the category
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.CategoryAttribute.#ctor(System.String)">
+ <summary>
+ Construct attribute for a given category
+ </summary>
+ <param name="name">The name of the category</param>
+ </member>
+ <member name="M:NUnit.Framework.CategoryAttribute.#ctor">
+ <summary>
+ Protected constructor uses the Type name as the name
+ of the category.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.CategoryAttribute.Name">
+ <summary>
+ The name of the category
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.ExplicitAttribute">
+ <summary>
+ ExplicitAttribute marks a test or test fixture so that it will
+ only be run if explicitly executed from the gui or command line
+ or if it is included by use of a filter. The test will not be
+ run simply because an enclosing suite is run.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.ExplicitAttribute.#ctor">
+ <summary>
+ Default constructor
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.ExplicitAttribute.#ctor(System.String)">
+ <summary>
+ Constructor with a reason
+ </summary>
+ <param name="reason">The reason test is marked explicit</param>
+ </member>
+ <member name="P:NUnit.Framework.ExplicitAttribute.Reason">
+ <summary>
+ The reason test is marked explicit
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.AssertionException">
+ <summary>
+ Thrown when an assertion failed.
+ </summary>
+
+ </member>
+ <member name="M:NUnit.Framework.AssertionException.#ctor(System.String)">
+ <param name="message">The error message that explains
+ the reason for the exception</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionException.#ctor(System.String,System.Exception)">
+ <param name="message">The error message that explains
+ the reason for the exception</param>
+ <param name="inner">The exception that caused the
+ current exception</param>
+ </member>
+ <member name="M:NUnit.Framework.AssertionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Serialization Constructor
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.IgnoreException">
+ <summary>
+ Thrown when an assertion failed.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String)">
+ <param name="message"></param>
+ </member>
+ <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String,System.Exception)">
+ <param name="message">The error message that explains
+ the reason for the exception</param>
+ <param name="inner">The exception that caused the
+ current exception</param>
+ </member>
+ <member name="M:NUnit.Framework.IgnoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Serialization Constructor
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.MessageMatch">
+ <summary>
+ Enumeration indicating how the expected message parameter is to be used
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.MessageMatch.Exact">
+ Expect an exact match
+ </member>
+ <member name="F:NUnit.Framework.MessageMatch.Contains">
+ Expect a message containing the parameter string
+ </member>
+ <member name="F:NUnit.Framework.MessageMatch.Regex">
+ Match the regular expression provided as a parameter
+ </member>
+ <member name="F:NUnit.Framework.MessageMatch.StartsWith">
+ Expect a message that starts with the parameter string
+ </member>
+ <member name="T:NUnit.Framework.ExpectedExceptionAttribute">
+ <summary>
+ ExpectedExceptionAttribute
+ </summary>
+
+ </member>
+ <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor">
+ <summary>
+ Constructor for a non-specific exception
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor(System.Type)">
+ <summary>
+ Constructor for a given type of exception
+ </summary>
+ <param name="exceptionType">The type of the expected exception</param>
+ </member>
+ <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor(System.String)">
+ <summary>
+ Constructor for a given exception name
+ </summary>
+ <param name="exceptionName">The full name of the expected exception</param>
+ </member>
+ <member name="P:NUnit.Framework.ExpectedExceptionAttribute.ExpectedException">
+ <summary>
+ Gets or sets the expected exception type
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ExpectedExceptionAttribute.ExpectedExceptionName">
+ <summary>
+ Gets or sets the full Type name of the expected exception
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ExpectedExceptionAttribute.ExpectedMessage">
+ <summary>
+ Gets or sets the expected message text
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ExpectedExceptionAttribute.UserMessage">
+ <summary>
+ Gets or sets the user message displayed in case of failure
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ExpectedExceptionAttribute.MatchType">
+ <summary>
+ Gets or sets the type of match to be performed on the expected message
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ExpectedExceptionAttribute.Handler">
+ <summary>
+ Gets the name of a method to be used as an exception handler
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.IgnoreAttribute">
+ <summary>
+ Attribute used to mark a test that is to be ignored.
+ Ignored tests result in a warning message when the
+ tests are run.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.IgnoreAttribute.#ctor">
+ <summary>
+ Constructs the attribute without giving a reason
+ for ignoring the test.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.IgnoreAttribute.#ctor(System.String)">
+ <summary>
+ Constructs the attribute giving a reason for ignoring the test
+ </summary>
+ <param name="reason">The reason for ignoring the test</param>
+ </member>
+ <member name="P:NUnit.Framework.IgnoreAttribute.Reason">
+ <summary>
+ The reason for ignoring a test
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.SetUpAttribute">
+ <summary>
+ Attribute used to mark a class that contains one-time SetUp
+ and/or TearDown methods that apply to all the tests in a
+ namespace or an assembly.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.SuiteAttribute">
+ <summary>
+ Attribute used to mark a static (shared in VB) property
+ that returns a list of tests.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.TearDownAttribute">
+ <summary>
+ Attribute used to identify a method that is called
+ immediately after each test is run. The method is
+ guaranteed to be called, even if an exception is thrown.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.TestAttribute">
+ <summary>
+ Adding this attribute to a method within a <seealso cref="T:NUnit.Framework.TestFixtureAttribute"/>
+ class makes the method callable from the NUnit test runner. There is a property
+ called Description which is optional which you can provide a more detailed test
+ description. This class cannot be inherited.
+ </summary>
+
+ <example>
+ [TestFixture]
+ public class Fixture
+ {
+ [Test]
+ public void MethodToTest()
+ {}
+
+ [Test(Description = "more detailed description")]
+ publc void TestDescriptionMethod()
+ {}
+ }
+ </example>
+
+ </member>
+ <member name="P:NUnit.Framework.TestAttribute.Description">
+ <summary>
+ Descriptive text for this test
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.TestFixtureAttribute">
+ <example>
+ [TestFixture]
+ public class ExampleClass
+ {}
+ </example>
+ </member>
+ <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor">
+ <summary>
+ Default constructor
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor(System.Object[])">
+ <summary>
+ Construct with a object[] representing a set of arguments.
+ In .NET 2.0, the arguments may later be separated into
+ type arguments and constructor arguments.
+ </summary>
+ <param name="arguments"></param>
+ </member>
+ <member name="P:NUnit.Framework.TestFixtureAttribute.Description">
+ <summary>
+ Descriptive text for this fixture
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestFixtureAttribute.Arguments">
+ <summary>
+ The arguments originally provided to the attribute
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestFixtureAttribute.Ignore">
+ <summary>
+ Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestFixtureAttribute"/> should be ignored.
+ </summary>
+ <value><c>true</c> if ignore; otherwise, <c>false</c>.</value>
+ </member>
+ <member name="P:NUnit.Framework.TestFixtureAttribute.IgnoreReason">
+ <summary>
+ Gets or sets the ignore reason. May set Ignored as a side effect.
+ </summary>
+ <value>The ignore reason.</value>
+ </member>
+ <member name="P:NUnit.Framework.TestFixtureAttribute.TypeArgs">
+ <summary>
+ Get or set the type arguments. If not set
+ explicitly, any leading arguments that are
+ Types are taken as type arguments.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.RequiredAddinAttribute">
+ <summary>
+ RequiredAddinAttribute may be used to indicate the names of any addins
+ that must be present in order to run some or all of the tests in an
+ assembly. If the addin is not loaded, the entire assembly is marked
+ as NotRunnable.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.RequiredAddinAttribute.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:RequiredAddinAttribute"/> class.
+ </summary>
+ <param name="requiredAddin">The required addin.</param>
+ </member>
+ <member name="P:NUnit.Framework.RequiredAddinAttribute.RequiredAddin">
+ <summary>
+ Gets the name of required addin.
+ </summary>
+ <value>The required addin name.</value>
+ </member>
+ <member name="T:NUnit.Framework.CombinatorialAttribute">
+ <summary>
+ Marks a test to use a combinatorial join of any argument data
+ provided. NUnit will create a test case for every combination of
+ the arguments provided. This can result in a large number of test
+ cases and so should be used judiciously. This is the default join
+ type, so the attribute need not be used except as documentation.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.CombinatorialAttribute.#ctor">
+ <summary>
+ Default constructor
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.PairwiseAttribute">
+ <summary>
+ Marks a test to use pairwise join of any argument data provided.
+ NUnit will attempt too excercise every pair of argument values at
+ least once, using as small a number of test cases as it can. With
+ only two arguments, this is the same as a combinatorial join.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.PairwiseAttribute.#ctor">
+ <summary>
+ Default constructor
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.SequentialAttribute">
+ <summary>
+ Marks a test to use a sequential join of any argument data
+ provided. NUnit will use arguements for each parameter in
+ sequence, generating test cases up to the largest number
+ of argument values provided and using null for any arguments
+ for which it runs out of values. Normally, this should be
+ used with the same number of arguments for each parameter.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.SequentialAttribute.#ctor">
+ <summary>
+ Default constructor
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.ParameterDataAttribute">
+ <summary>
+ Abstract base class for attributes that apply to parameters
+ and supply data for the parameter.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.ParameterDataAttribute.GetData(System.Reflection.ParameterInfo)">
+ <summary>
+ Gets the data to be provided to the specified parameter
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.ValuesAttribute">
+ <summary>
+ ValuesAttribute is used to provide literal arguments for
+ an individual parameter of a test.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.ValuesAttribute.data">
+ <summary>
+ The collection of data to be returned. Must
+ be set by any derived attribute classes.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object)">
+ <summary>
+ Construct with one argument
+ </summary>
+ <param name="arg1"></param>
+ </member>
+ <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object)">
+ <summary>
+ Construct with two arguments
+ </summary>
+ <param name="arg1"></param>
+ <param name="arg2"></param>
+ </member>
+ <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object,System.Object)">
+ <summary>
+ Construct with three arguments
+ </summary>
+ <param name="arg1"></param>
+ <param name="arg2"></param>
+ <param name="arg3"></param>
+ </member>
+ <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object[])">
+ <summary>
+ Construct with an array of arguments
+ </summary>
+ <param name="args"></param>
+ </member>
+ <member name="M:NUnit.Framework.ValuesAttribute.GetData(System.Reflection.ParameterInfo)">
+ <summary>
+ Get the collection of values to be used as arguments
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.RandomAttribute">
+ <summary>
+ RandomAttribute is used to supply a set of random values
+ to a single parameter of a parameterized test.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32)">
+ <summary>
+ Construct a set of doubles from 0.0 to 1.0,
+ specifying only the count.
+ </summary>
+ <param name="count"></param>
+ </member>
+ <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Double,System.Double,System.Int32)">
+ <summary>
+ Construct a set of doubles from min to max
+ </summary>
+ <param name="min"></param>
+ <param name="max"></param>
+ <param name="count"></param>
+ </member>
+ <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32,System.Int32,System.Int32)">
+ <summary>
+ Construct a set of ints from min to max
+ </summary>
+ <param name="min"></param>
+ <param name="max"></param>
+ <param name="count"></param>
+ </member>
+ <member name="M:NUnit.Framework.RandomAttribute.GetData(System.Reflection.ParameterInfo)">
+ <summary>
+ Get the collection of values to be used as arguments
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.RangeAttribute">
+ <summary>
+ RangeAttribute is used to supply a range of values to an
+ individual parameter of a parameterized test.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32)">
+ <summary>
+ Construct a range of ints using default step of 1
+ </summary>
+ <param name="from"></param>
+ <param name="to"></param>
+ </member>
+ <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32,System.Int32)">
+ <summary>
+ Construct a range of ints specifying the step size
+ </summary>
+ <param name="from"></param>
+ <param name="to"></param>
+ <param name="step"></param>
+ </member>
+ <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64,System.Int64)">
+ <summary>
+ Construct a range of longs
+ </summary>
+ <param name="from"></param>
+ <param name="to"></param>
+ <param name="step"></param>
+ </member>
+ <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Double,System.Double,System.Double)">
+ <summary>
+ Construct a range of doubles
+ </summary>
+ <param name="from"></param>
+ <param name="to"></param>
+ <param name="step"></param>
+ </member>
+ <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Single,System.Single,System.Single)">
+ <summary>
+ Construct a range of floats
+ </summary>
+ <param name="from"></param>
+ <param name="to"></param>
+ <param name="step"></param>
+ </member>
+ <member name="T:NUnit.Framework.Has">
+ <summary>
+ Helper class with properties and methods that supply
+ a number of constraints used in Asserts.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Has.Property(System.String)">
+ <summary>
+ Returns a new PropertyConstraintExpression, which will either
+ test for the existence of the named property on the object
+ being tested or apply any following constraint to that property.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Has.Attribute(System.Type)">
+ <summary>
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Has.Attribute``1">
+ <summary>
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Has.Member(System.Object)">
+ <summary>
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Has.No">
+ <summary>
+ Returns a ConstraintExpression that negates any
+ following constraint.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Has.All">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them succeed.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Has.Some">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if at least one of them succeeds.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Has.None">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them fail.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Has.Length">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Length property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Has.Count">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Count property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Has.Message">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Message property of the object being tested.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Has.InnerException">
+ <summary>
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the InnerException property of the object being tested.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Is">
+ <summary>
+ Helper class with properties and methods that supply
+ a number of constraints used in Asserts.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.EqualTo(System.Object)">
+ <summary>
+ Returns a constraint that tests two items for equality
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.SameAs(System.Object)">
+ <summary>
+ Returns a constraint that tests that two references are the same object
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.GreaterThan(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is greater than the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.GreaterThanOrEqualTo(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.AtLeast(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.LessThan(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is less than the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.LessThanOrEqualTo(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.AtMost(System.Object)">
+ <summary>
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the suppled argument
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.TypeOf(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.TypeOf``1">
+ <summary>
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.InstanceOf(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.InstanceOf``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.InstanceOfType(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.InstanceOfType``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.AssignableFrom(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.AssignableFrom``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.AssignableTo(System.Type)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.AssignableTo``1">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.EquivalentTo(System.Collections.IEnumerable)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is a collection containing the same elements as the
+ collection supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.SubsetOf(System.Collections.IEnumerable)">
+ <summary>
+ Returns a constraint that tests whether the actual value
+ is a subset of the collection supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.StringContaining(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.StringStarting(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.StringEnding(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.StringMatching(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value matches the Regex pattern supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.SamePath(System.String)">
+ <summary>
+ Returns a constraint that tests whether the path provided
+ is the same as an expected path after canonicalization.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.SamePathOrUnder(System.String)">
+ <summary>
+ Returns a constraint that tests whether the path provided
+ is the same path or under an expected path after canonicalization.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Is.InRange(System.IComparable,System.IComparable)">
+ <summary>
+ Returns a constraint that tests whether the actual value falls
+ within a specified range.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.Not">
+ <summary>
+ Returns a ConstraintExpression that negates any
+ following constraint.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.All">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them succeed.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.Null">
+ <summary>
+ Returns a constraint that tests for null
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.True">
+ <summary>
+ Returns a constraint that tests for True
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.False">
+ <summary>
+ Returns a constraint that tests for False
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.NaN">
+ <summary>
+ Returns a constraint that tests for NaN
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.Empty">
+ <summary>
+ Returns a constraint that tests for empty
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.Unique">
+ <summary>
+ Returns a constraint that tests whether a collection
+ contains all unique items.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.BinarySerializable">
+ <summary>
+ Returns a constraint that tests whether an object graph is serializable in binary format.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.XmlSerializable">
+ <summary>
+ Returns a constraint that tests whether an object graph is serializable in xml format.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Is.Ordered">
+ <summary>
+ Returns a constraint that tests whether a collection is ordered
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.List">
+ <summary>
+ The List class is a helper class with properties and methods
+ that supply a number of constraints used with lists and collections.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.List.Map(System.Collections.ICollection)">
+ <summary>
+ List.Map returns a ListMapper, which can be used to map
+ the original collection to another collection.
+ </summary>
+ <param name="actual"></param>
+ <returns></returns>
+ </member>
+ <member name="T:NUnit.Framework.ListMapper">
+ <summary>
+ ListMapper is used to transform a collection used as an actual argument
+ producing another collection to be used in the assertion.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.ListMapper.#ctor(System.Collections.ICollection)">
+ <summary>
+ Construct a ListMapper based on a collection
+ </summary>
+ <param name="original">The collection to be transformed</param>
+ </member>
+ <member name="M:NUnit.Framework.ListMapper.Property(System.String)">
+ <summary>
+ Produces a collection containing all the values of a property
+ </summary>
+ <param name="name">The collection of property values</param>
+ <returns></returns>
+ </member>
+ <member name="T:NUnit.Framework.Text">
+ <summary>
+ Helper class with static methods used to supply constraints
+ that operate on strings.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Text.Contains(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Text.DoesNotContain(System.String)">
+ <summary>
+ Returns a constraint that fails if the actual
+ value contains the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Text.StartsWith(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Text.DoesNotStartWith(System.String)">
+ <summary>
+ Returns a constraint that fails if the actual
+ value starts with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Text.EndsWith(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Text.DoesNotEndWith(System.String)">
+ <summary>
+ Returns a constraint that fails if the actual
+ value ends with the substring supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Text.Matches(System.String)">
+ <summary>
+ Returns a constraint that succeeds if the actual
+ value matches the Regex pattern supplied as an argument.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Text.DoesNotMatch(System.String)">
+ <summary>
+ Returns a constraint that fails if the actual
+ value matches the pattern supplied as an argument.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Text.All">
+ <summary>
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them succeed.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Throws">
+ <summary>
+ Helper class with properties and methods that supply
+ constraints that operate on exceptions.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Throws.TypeOf(System.Type)">
+ <summary>
+ Creates a constraint specifying the exact type of exception expected
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Throws.TypeOf``1">
+ <summary>
+ Creates a constraint specifying the exact type of exception expected
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Throws.InstanceOf(System.Type)">
+ <summary>
+ Creates a constraint specifying the type of exception expected
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Throws.InstanceOf``1">
+ <summary>
+ Creates a constraint specifying the type of exception expected
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Throws.Exception">
+ <summary>
+ Creates a constraint specifying an expected exception
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Throws.InnerException">
+ <summary>
+ Creates a constraint specifying an exception with a given InnerException
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Throws.TargetInvocationException">
+ <summary>
+ Creates a constraint specifying an expected TargetInvocationException
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Throws.ArgumentException">
+ <summary>
+ Creates a constraint specifying an expected TargetInvocationException
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Throws.InvalidOperationException">
+ <summary>
+ Creates a constraint specifying an expected TargetInvocationException
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Throws.Nothing">
+ <summary>
+ Creates a constraint specifying that no exception is thrown
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.TestCaseSourceAttribute">
+ <summary>
+ FactoryAttribute indicates the source to be used to
+ provide test cases for a test method.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String)">
+ <summary>
+ Construct with the name of the factory - for use with languages
+ that don't support params arrays.
+ </summary>
+ <param name="sourceName">An array of the names of the factories that will provide data</param>
+ </member>
+ <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String)">
+ <summary>
+ Construct with a Type and name - for use with languages
+ that don't support params arrays.
+ </summary>
+ <param name="sourceType">The Type that will provide data</param>
+ <param name="sourceName">The name of the method, property or field that will provide data</param>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceName">
+ <summary>
+ The name of a the method, property or fiend to be used as a source
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceType">
+ <summary>
+ A Type to be used as a source
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.ValueSourceAttribute">
+ <summary>
+ ValueSourceAttribute indicates the source to be used to
+ provide data for one parameter of a test method.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.String)">
+ <summary>
+ Construct with the name of the factory - for use with languages
+ that don't support params arrays.
+ </summary>
+ <param name="sourceName">The name of the data source to be used</param>
+ </member>
+ <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.Type,System.String)">
+ <summary>
+ Construct with a Type and name - for use with languages
+ that don't support params arrays.
+ </summary>
+ <param name="sourceType">The Type that will provide data</param>
+ <param name="sourceName">The name of the method, property or field that will provide data</param>
+ </member>
+ <member name="P:NUnit.Framework.ValueSourceAttribute.SourceName">
+ <summary>
+ The name of a the method, property or fiend to be used as a source
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.ValueSourceAttribute.SourceType">
+ <summary>
+ A Type to be used as a source
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Iz">
+ <summary>
+ The Iz class is a synonym for Is intended for use in VB,
+ which regards Is as a keyword.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.TimeoutAttribute">
+ <summary>
+ WUsed on a method, marks the test with a timeout value in milliseconds.
+ The test will be run in a separate thread and is cancelled if the timeout
+ is exceeded. Used on a method or assembly, sets the default timeout
+ for all contained test methods.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.TimeoutAttribute.#ctor(System.Int32)">
+ <summary>
+ Construct a TimeoutAttribute given a time in milliseconds
+ </summary>
+ <param name="timeout">The timeout value in milliseconds</param>
+ </member>
+ <member name="T:NUnit.Framework.RequiresSTAAttribute">
+ <summary>
+ Marks a test that must run in the STA, causing it
+ to run in a separate thread if necessary.
+
+ On methods, you may also use STAThreadAttribute
+ to serve the same purpose.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.RequiresSTAAttribute.#ctor">
+ <summary>
+ Construct a RequiresSTAAttribute
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.RequiresMTAAttribute">
+ <summary>
+ Marks a test that must run in the MTA, causing it
+ to run in a separate thread if necessary.
+
+ On methods, you may also use MTAThreadAttribute
+ to serve the same purpose.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.RequiresMTAAttribute.#ctor">
+ <summary>
+ Construct a RequiresMTAAttribute
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.RequiresThreadAttribute">
+ <summary>
+ Marks a test that must run on a separate thread.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor">
+ <summary>
+ Construct a RequiresThreadAttribute
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor(System.Threading.ApartmentState)">
+ <summary>
+ Construct a RequiresThreadAttribute, specifying the apartment
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.MaxTimeAttribute">
+ <summary>
+ Summary description for MaxTimeAttribute.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.MaxTimeAttribute.#ctor(System.Int32)">
+ <summary>
+ Construct a MaxTimeAttribute, given a time in milliseconds.
+ </summary>
+ <param name="milliseconds">The maximum elapsed time in milliseconds</param>
+ </member>
+ <member name="T:NUnit.Framework.RepeatAttribute">
+ <summary>
+ RepeatAttribute may be applied to test case in order
+ to run it multiple times.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.RepeatAttribute.#ctor(System.Int32)">
+ <summary>
+ Construct a RepeatAttribute
+ </summary>
+ <param name="count">The number of times to run the test</param>
+ </member>
+ <member name="T:NUnit.Framework.Assume">
+ <summary>
+ Provides static methods to express the assumptions
+ that must be met for a test to give a meaningful
+ result. If an assumption is not met, the test
+ should produce an inconclusive result.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Assume.Equals(System.Object,System.Object)">
+ <summary>
+ The Equals method throws an AssertionException. This is done
+ to make sure there is no mistake by calling this function.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.ReferenceEquals(System.Object,System.Object)">
+ <summary>
+ override the default ReferenceEquals to throw an AssertionException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+ </summary>
+ <param name="expression">A Constraint expression to be applied</param>
+ <param name="actual">The actual value to test</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+ </summary>
+ <param name="expression">A Constraint expression to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+ </summary>
+ <param name="expression">A Constraint expression to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+ </summary>
+ <param name="expr">A Constraint expression to be applied</param>
+ <param name="del">An ActualValueDelegate returning the value to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+ </summary>
+ <param name="expr">A Constraint expression to be applied</param>
+ <param name="del">An ActualValueDelegate returning the value to be tested</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+ </summary>
+ <param name="del">An ActualValueDelegate returning the value to be tested</param>
+ <param name="expr">A Constraint expression to be applied</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Apply a constraint to a referenced value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+ </summary>
+ <param name="expression">A Constraint expression to be applied</param>
+ <param name="actual">The actual value to test</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+ <summary>
+ Apply a constraint to a referenced value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+ </summary>
+ <param name="expression">A Constraint expression to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+ <summary>
+ Apply a constraint to a referenced value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+ </summary>
+ <param name="expression">A Constraint expression to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.String,System.Object[])">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.InconclusiveException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display if the condition is false</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.String)">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.InconclusiveException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display if the condition is false</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That(System.Boolean)">
+ <summary>
+ Asserts that a condition is true. If the condition is false the
+ method throws an <see cref="T:NUnit.Framework.InconclusiveException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ </member>
+ <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Asserts that the code represented by a delegate throws an exception
+ that satisfies the constraint provided.
+ </summary>
+ <param name="code">A TestDelegate to be executed</param>
+ <param name="constraint">A ThrowsConstraint used in the test</param>
+ </member>
+ <member name="T:NUnit.Framework.Randomizer">
+ <summary>
+ Randomizer returns a set of random values in a repeatable
+ way, to allow re-running of tests if necessary.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Randomizer.GetRandomizer(System.Reflection.MemberInfo)">
+ <summary>
+ Get a randomizer for a particular member, returning
+ one that has already been created if it exists.
+ This ensures that the same values are generated
+ each time the tests are reloaded.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Randomizer.GetRandomizer(System.Reflection.ParameterInfo)">
+ <summary>
+ Get a randomizer for a particular parameter, returning
+ one that has already been created if it exists.
+ This ensures that the same values are generated
+ each time the tests are reloaded.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Randomizer.#ctor">
+ <summary>
+ Construct a randomizer using a random seed
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Randomizer.#ctor(System.Int32)">
+ <summary>
+ Construct a randomizer using a specified seed
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Randomizer.GetDoubles(System.Int32)">
+ <summary>
+ Return an array of random doubles between 0.0 and 1.0.
+ </summary>
+ <param name="count"></param>
+ <returns></returns>
+ </member>
+ <member name="M:NUnit.Framework.Randomizer.GetDoubles(System.Double,System.Double,System.Int32)">
+ <summary>
+ Return an array of random doubles with values in a specified range.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Randomizer.GetInts(System.Int32,System.Int32,System.Int32)">
+ <summary>
+ Return an array of random ints with values in a specified range.
+ </summary>
+ </member>
+ <member name="P:NUnit.Framework.Randomizer.RandomSeed">
+ <summary>
+ Get a random seed for use in creating a randomizer.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.TheoryAttribute">
+ <summary>
+ Adding this attribute to a method within a <seealso cref="T:NUnit.Framework.TestFixtureAttribute"/>
+ class makes the method callable from the NUnit test runner. There is a property
+ called Description which is optional which you can provide a more detailed test
+ description. This class cannot be inherited.
+ </summary>
+
+ <example>
+ [TestFixture]
+ public class Fixture
+ {
+ [Test]
+ public void MethodToTest()
+ {}
+
+ [Test(Description = "more detailed description")]
+ publc void TestDescriptionMethod()
+ {}
+ }
+ </example>
+
+ </member>
+ <member name="T:NUnit.Framework.DatapointAttribute">
+ <summary>
+ Used to mark a field for use as a datapoint when executing a theory
+ within the same fixture that requires an argument of the field's Type.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.DatapointsAttribute">
+ <summary>
+ Used to mark an array as containing a set of datapoints to be used
+ executing a theory within the same fixture that requires an argument
+ of the Type of the array elements.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.SpecialValue">
+ <summary>
+ The SpecialValue enum is used to represent TestCase arguments
+ that cannot be used as arguments to an Attribute.
+ </summary>
+ </member>
+ <member name="F:NUnit.Framework.SpecialValue.Null">
+ <summary>
+ Null represents a null value, which cannot be used as an
+ argument to an attriute under .NET 1.x
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.SetUICultureAttribute">
+ <summary>
+ Summary description for SetUICultureAttribute.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.SetUICultureAttribute.#ctor(System.String)">
+ <summary>
+ Construct given the name of a culture
+ </summary>
+ <param name="culture"></param>
+ </member>
+ <member name="T:NUnit.Framework.TestDelegate">
+ <summary>
+ Delegate used by tests that execute code and
+ capture any thrown exception.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Assert">
+ <summary>
+ The Assert class contains a collection of static methods that
+ implement the most common assertions used in NUnit.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Assert.#ctor">
+ <summary>
+ We don't actually want any instances of this object, but some people
+ like to inherit from it to add other static methods. Hence, the
+ protected constructor disallows any instances of this object.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Equals(System.Object,System.Object)">
+ <summary>
+ The Equals method throws an AssertionException. This is done
+ to make sure there is no mistake by calling this function.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.ReferenceEquals(System.Object,System.Object)">
+ <summary>
+ override the default ReferenceEquals to throw an AssertionException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AssertDoublesAreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])">
+ <summary>
+ Helper for Assert.AreEqual(double expected, double actual, ...)
+ allowing code generation to work consistently.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="delta">The maximum acceptable difference between the
+ the expected and the actual</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Pass(System.String,System.Object[])">
+ <summary>
+ Throws a <see cref="T:NUnit.Framework.SuccessException"/> with the message and arguments
+ that are passed in. This allows a test to be cut short, with a result
+ of success returned to NUnit.
+ </summary>
+ <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Pass(System.String)">
+ <summary>
+ Throws a <see cref="T:NUnit.Framework.SuccessException"/> with the message and arguments
+ that are passed in. This allows a test to be cut short, with a result
+ of success returned to NUnit.
+ </summary>
+ <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Pass">
+ <summary>
+ Throws a <see cref="T:NUnit.Framework.SuccessException"/> with the message and arguments
+ that are passed in. This allows a test to be cut short, with a result
+ of success returned to NUnit.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Fail(System.String,System.Object[])">
+ <summary>
+ Throws an <see cref="T:NUnit.Framework.AssertionException"/> with the message and arguments
+ that are passed in. This is used by the other Assert functions.
+ </summary>
+ <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Fail(System.String)">
+ <summary>
+ Throws an <see cref="T:NUnit.Framework.AssertionException"/> with the message that is
+ passed in. This is used by the other Assert functions.
+ </summary>
+ <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Fail">
+ <summary>
+ Throws an <see cref="T:NUnit.Framework.AssertionException"/>.
+ This is used by the other Assert functions.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Ignore(System.String,System.Object[])">
+ <summary>
+ Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message and arguments
+ that are passed in. This causes the test to be reported as ignored.
+ </summary>
+ <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Ignore(System.String)">
+ <summary>
+ Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message that is
+ passed in. This causes the test to be reported as ignored.
+ </summary>
+ <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Ignore">
+ <summary>
+ Throws an <see cref="T:NUnit.Framework.IgnoreException"/>.
+ This causes the test to be reported as ignored.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Inconclusive(System.String,System.Object[])">
+ <summary>
+ Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message and arguments
+ that are passed in. This causes the test to be reported as inconclusive.
+ </summary>
+ <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Inconclusive(System.String)">
+ <summary>
+ Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message that is
+ passed in. This causes the test to be reported as inconclusive.
+ </summary>
+ <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Inconclusive">
+ <summary>
+ Throws an <see cref="T:NUnit.Framework.InconclusiveException"/>.
+ This causes the test to be reported as Inconclusive.
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expression">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expression">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expression">A Constraint expression to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expr">A Constraint expression to be applied</param>
+ <param name="del">An ActualValueDelegate returning the value to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expr">A Constraint expression to be applied</param>
+ <param name="del">An ActualValueDelegate returning the value to be tested</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+ <summary>
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="del">An ActualValueDelegate returning the value to be tested</param>
+ <param name="expr">A Constraint expression to be applied</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Apply a constraint to a referenced value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expression">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+ <summary>
+ Apply a constraint to a referenced value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expression">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+ <summary>
+ Apply a constraint to a referenced value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ </summary>
+ <param name="expression">A Constraint to be applied</param>
+ <param name="actual">The actual value to test</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display if the condition is false</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String)">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display if the condition is false</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That(System.Boolean)">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+ <summary>
+ Asserts that the code represented by a delegate throws an exception
+ that satisfies the constraint provided.
+ </summary>
+ <param name="code">A TestDelegate to be executed</param>
+ <param name="constraint">A ThrowsConstraint used in the test</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate,System.String,System.Object[])">
+ <summary>
+ Verifies that a delegate throws a particular exception when called.
+ </summary>
+ <param name="expression">A constraint to be satisfied by the exception</param>
+ <param name="code">A TestSnippet delegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate,System.String)">
+ <summary>
+ Verifies that a delegate throws a particular exception when called.
+ </summary>
+ <param name="expression">A constraint to be satisfied by the exception</param>
+ <param name="code">A TestSnippet delegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate)">
+ <summary>
+ Verifies that a delegate throws a particular exception when called.
+ </summary>
+ <param name="expression">A constraint to be satisfied by the exception</param>
+ <param name="code">A TestSnippet delegate</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])">
+ <summary>
+ Verifies that a delegate throws a particular exception when called.
+ </summary>
+ <param name="expectedExceptionType">The exception Type expected</param>
+ <param name="code">A TestSnippet delegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate,System.String)">
+ <summary>
+ Verifies that a delegate throws a particular exception when called.
+ </summary>
+ <param name="expectedExceptionType">The exception Type expected</param>
+ <param name="code">A TestSnippet delegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate)">
+ <summary>
+ Verifies that a delegate throws a particular exception when called.
+ </summary>
+ <param name="expectedExceptionType">The exception Type expected</param>
+ <param name="code">A TestSnippet delegate</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate,System.String,System.Object[])">
+ <summary>
+ Verifies that a delegate throws a particular exception when called.
+ </summary>
+ <typeparam name="T">Type of the expected exception</typeparam>
+ <param name="code">A TestSnippet delegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate,System.String)">
+ <summary>
+ Verifies that a delegate throws a particular exception when called.
+ </summary>
+ <typeparam name="T">Type of the expected exception</typeparam>
+ <param name="code">A TestSnippet delegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate)">
+ <summary>
+ Verifies that a delegate throws a particular exception when called.
+ </summary>
+ <typeparam name="T">Type of the expected exception</typeparam>
+ <param name="code">A TestSnippet delegate</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate,System.String,System.Object[])">
+ <summary>
+ Verifies that a delegate throws an exception when called
+ and returns it.
+ </summary>
+ <param name="code">A TestDelegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate,System.String)">
+ <summary>
+ Verifies that a delegate throws an exception when called
+ and returns it.
+ </summary>
+ <param name="code">A TestDelegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate)">
+ <summary>
+ Verifies that a delegate throws an exception when called
+ and returns it.
+ </summary>
+ <param name="code">A TestDelegate</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])">
+ <summary>
+ Verifies that a delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+ </summary>
+ <param name="expectedExceptionType">The expected Exception Type</param>
+ <param name="code">A TestDelegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate,System.String)">
+ <summary>
+ Verifies that a delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+ </summary>
+ <param name="expectedExceptionType">The expected Exception Type</param>
+ <param name="code">A TestDelegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate)">
+ <summary>
+ Verifies that a delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+ </summary>
+ <param name="expectedExceptionType">The expected Exception Type</param>
+ <param name="code">A TestDelegate</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate,System.String,System.Object[])">
+ <summary>
+ Verifies that a delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+ </summary>
+ <typeparam name="T">The expected Exception Type</typeparam>
+ <param name="code">A TestDelegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate,System.String)">
+ <summary>
+ Verifies that a delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+ </summary>
+ <typeparam name="T">The expected Exception Type</typeparam>
+ <param name="code">A TestDelegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate)">
+ <summary>
+ Verifies that a delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+ </summary>
+ <typeparam name="T">The expected Exception Type</typeparam>
+ <param name="code">A TestDelegate</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate,System.String,System.Object[])">
+ <summary>
+ Verifies that a delegate does not throw an exception
+ </summary>
+ <param name="code">A TestSnippet delegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ <param name="args">Arguments to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate,System.String)">
+ <summary>
+ Verifies that a delegate does not throw an exception.
+ </summary>
+ <param name="code">A TestSnippet delegate</param>
+ <param name="message">The message that will be displayed on failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate)">
+ <summary>
+ Verifies that a delegate does not throw an exception.
+ </summary>
+ <param name="code">A TestSnippet delegate</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.True(System.Boolean,System.String,System.Object[])">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.True(System.Boolean,System.String)">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.True(System.Boolean)">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String,System.Object[])">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String)">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean)">
+ <summary>
+ Asserts that a condition is true. If the condition is false the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.False(System.Boolean,System.String,System.Object[])">
+ <summary>
+ Asserts that a condition is false. If the condition is true the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.False(System.Boolean,System.String)">
+ <summary>
+ Asserts that a condition is false. If the condition is true the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.False(System.Boolean)">
+ <summary>
+ Asserts that a condition is false. If the condition is true the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String,System.Object[])">
+ <summary>
+ Asserts that a condition is false. If the condition is true the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String)">
+ <summary>
+ Asserts that a condition is false. If the condition is true the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean)">
+ <summary>
+ Asserts that a condition is false. If the condition is true the method throws
+ an <see cref="T:NUnit.Framework.AssertionException"/>.
+ </summary>
+ <param name="condition">The evaluated condition</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.NotNull(System.Object,System.String,System.Object[])">
+ <summary>
+ Verifies that the object that is passed in is not equal to <code>null</code>
+ If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.NotNull(System.Object,System.String)">
+ <summary>
+ Verifies that the object that is passed in is not equal to <code>null</code>
+ If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.NotNull(System.Object)">
+ <summary>
+ Verifies that the object that is passed in is not equal to <code>null</code>
+ If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String,System.Object[])">
+ <summary>
+ Verifies that the object that is passed in is not equal to <code>null</code>
+ If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String)">
+ <summary>
+ Verifies that the object that is passed in is not equal to <code>null</code>
+ If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object)">
+ <summary>
+ Verifies that the object that is passed in is not equal to <code>null</code>
+ If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Null(System.Object,System.String,System.Object[])">
+ <summary>
+ Verifies that the object that is passed in is equal to <code>null</code>
+ If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Null(System.Object,System.String)">
+ <summary>
+ Verifies that the object that is passed in is equal to <code>null</code>
+ If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Null(System.Object)">
+ <summary>
+ Verifies that the object that is passed in is equal to <code>null</code>
+ If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String,System.Object[])">
+ <summary>
+ Verifies that the object that is passed in is equal to <code>null</code>
+ If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String)">
+ <summary>
+ Verifies that the object that is passed in is equal to <code>null</code>
+ If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNull(System.Object)">
+ <summary>
+ Verifies that the object that is passed in is equal to <code>null</code>
+ If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="anObject">The object that is to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String,System.Object[])">
+ <summary>
+ Verifies that the double that is passed in is an <code>NaN</code> value.
+ If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="aDouble">The value that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String)">
+ <summary>
+ Verifies that the double that is passed in is an <code>NaN</code> value.
+ If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="aDouble">The value that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNaN(System.Double)">
+ <summary>
+ Verifies that the double that is passed in is an <code>NaN</code> value.
+ If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="aDouble">The value that is to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double},System.String,System.Object[])">
+ <summary>
+ Verifies that the double that is passed in is an <code>NaN</code> value.
+ If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="aDouble">The value that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double},System.String)">
+ <summary>
+ Verifies that the double that is passed in is an <code>NaN</code> value.
+ If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="aDouble">The value that is to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double})">
+ <summary>
+ Verifies that the double that is passed in is an <code>NaN</code> value.
+ If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+ is thrown.
+ </summary>
+ <param name="aDouble">The value that is to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String,System.Object[])">
+ <summary>
+ Assert that a string is empty - that is equal to string.Empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String)">
+ <summary>
+ Assert that a string is empty - that is equal to string.Empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsEmpty(System.String)">
+ <summary>
+ Assert that a string is empty - that is equal to string.Empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.ICollection,System.String,System.Object[])">
+ <summary>
+ Assert that an array, list or other collection is empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing ICollection</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.ICollection,System.String)">
+ <summary>
+ Assert that an array, list or other collection is empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing ICollection</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.ICollection)">
+ <summary>
+ Assert that an array, list or other collection is empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing ICollection</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String,System.Object[])">
+ <summary>
+ Assert that a string is not empty - that is not equal to string.Empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String)">
+ <summary>
+ Assert that a string is not empty - that is not equal to string.Empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String)">
+ <summary>
+ Assert that a string is not empty - that is not equal to string.Empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.ICollection,System.String,System.Object[])">
+ <summary>
+ Assert that an array, list or other collection is not empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing ICollection</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.ICollection,System.String)">
+ <summary>
+ Assert that an array, list or other collection is not empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing ICollection</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.ICollection)">
+ <summary>
+ Assert that an array, list or other collection is not empty
+ </summary>
+ <param name="collection">An array, list or other collection implementing ICollection</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNullOrEmpty(System.String,System.String,System.Object[])">
+ <summary>
+ Assert that a string is either null or equal to string.Empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNullOrEmpty(System.String,System.String)">
+ <summary>
+ Assert that a string is either null or equal to string.Empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNullOrEmpty(System.String)">
+ <summary>
+ Assert that a string is either null or equal to string.Empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotNullOrEmpty(System.String,System.String,System.Object[])">
+ <summary>
+ Assert that a string is not null or empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotNullOrEmpty(System.String,System.String)">
+ <summary>
+ Assert that a string is not null or empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotNullOrEmpty(System.String)">
+ <summary>
+ Assert that a string is not null or empty
+ </summary>
+ <param name="aString">The string to be tested</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that an object may be assigned a value of a given Type.
+ </summary>
+ <param name="expected">The expected Type.</param>
+ <param name="actual">The object under examination</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String)">
+ <summary>
+ Asserts that an object may be assigned a value of a given Type.
+ </summary>
+ <param name="expected">The expected Type.</param>
+ <param name="actual">The object under examination</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object)">
+ <summary>
+ Asserts that an object may be assigned a value of a given Type.
+ </summary>
+ <param name="expected">The expected Type.</param>
+ <param name="actual">The object under examination</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that an object may be assigned a value of a given Type.
+ </summary>
+ <typeparam name="T">The expected Type.</typeparam>
+ <param name="actual">The object under examination</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object,System.String)">
+ <summary>
+ Asserts that an object may be assigned a value of a given Type.
+ </summary>
+ <typeparam name="T">The expected Type.</typeparam>
+ <param name="actual">The object under examination</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object)">
+ <summary>
+ Asserts that an object may be assigned a value of a given Type.
+ </summary>
+ <typeparam name="T">The expected Type.</typeparam>
+ <param name="actual">The object under examination</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that an object may not be assigned a value of a given Type.
+ </summary>
+ <param name="expected">The expected Type.</param>
+ <param name="actual">The object under examination</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String)">
+ <summary>
+ Asserts that an object may not be assigned a value of a given Type.
+ </summary>
+ <param name="expected">The expected Type.</param>
+ <param name="actual">The object under examination</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object)">
+ <summary>
+ Asserts that an object may not be assigned a value of a given Type.
+ </summary>
+ <param name="expected">The expected Type.</param>
+ <param name="actual">The object under examination</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that an object may not be assigned a value of a given Type.
+ </summary>
+ <typeparam name="T">The expected Type.</typeparam>
+ <param name="actual">The object under examination</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object,System.String)">
+ <summary>
+ Asserts that an object may not be assigned a value of a given Type.
+ </summary>
+ <typeparam name="T">The expected Type.</typeparam>
+ <param name="actual">The object under examination</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object)">
+ <summary>
+ Asserts that an object may not be assigned a value of a given Type.
+ </summary>
+ <typeparam name="T">The expected Type.</typeparam>
+ <param name="actual">The object under examination</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that an object is an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object,System.String)">
+ <summary>
+ Asserts that an object is an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object)">
+ <summary>
+ Asserts that an object is an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that an object is an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object,System.String)">
+ <summary>
+ Asserts that an object is an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object)">
+ <summary>
+ Asserts that an object is an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that an object is an instance of a given type.
+ </summary>
+ <typeparam name="T">The expected Type</typeparam>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object,System.String)">
+ <summary>
+ Asserts that an object is an instance of a given type.
+ </summary>
+ <typeparam name="T">The expected Type</typeparam>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object)">
+ <summary>
+ Asserts that an object is an instance of a given type.
+ </summary>
+ <typeparam name="T">The expected Type</typeparam>
+ <param name="actual">The object being examined</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that an object is not an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object,System.String)">
+ <summary>
+ Asserts that an object is not an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object)">
+ <summary>
+ Asserts that an object is not an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that an object is not an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object,System.String)">
+ <summary>
+ Asserts that an object is not an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object)">
+ <summary>
+ Asserts that an object is not an instance of a given type.
+ </summary>
+ <param name="expected">The expected Type</param>
+ <param name="actual">The object being examined</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that an object is not an instance of a given type.
+ </summary>
+ <typeparam name="T">The expected Type</typeparam>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object,System.String)">
+ <summary>
+ Asserts that an object is not an instance of a given type.
+ </summary>
+ <typeparam name="T">The expected Type</typeparam>
+ <param name="actual">The object being examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object)">
+ <summary>
+ Asserts that an object is not an instance of a given type.
+ </summary>
+ <typeparam name="T">The expected Type</typeparam>
+ <param name="actual">The object being examined</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Int32,System.Int32,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Int32,System.Int32,System.String)">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Int32,System.Int32)">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Int64,System.Int64,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Int64,System.Int64,System.String)">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Int64,System.Int64)">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt32,System.UInt32,System.String)">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt32,System.UInt32)">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt64,System.UInt64,System.String)">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt64,System.UInt64)">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Decimal,System.Decimal,System.String)">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Decimal,System.Decimal)">
+ <summary>
+ Verifies that two values are equal. If they are not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])">
+ <summary>
+ Verifies that two doubles are equal considering a delta. If the
+ expected value is infinity then the delta value is ignored. If
+ they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+ thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="delta">The maximum acceptable difference between the
+ the expected and the actual</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String)">
+ <summary>
+ Verifies that two doubles are equal considering a delta. If the
+ expected value is infinity then the delta value is ignored. If
+ they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+ thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="delta">The maximum acceptable difference between the
+ the expected and the actual</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double)">
+ <summary>
+ Verifies that two doubles are equal considering a delta. If the
+ expected value is infinity then the delta value is ignored. If
+ they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+ thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="delta">The maximum acceptable difference between the
+ the expected and the actual</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double,System.String,System.Object[])">
+ <summary>
+ Verifies that two doubles are equal considering a delta. If the
+ expected value is infinity then the delta value is ignored. If
+ they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+ thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="delta">The maximum acceptable difference between the
+ the expected and the actual</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double,System.String)">
+ <summary>
+ Verifies that two doubles are equal considering a delta. If the
+ expected value is infinity then the delta value is ignored. If
+ they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+ thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="delta">The maximum acceptable difference between the
+ the expected and the actual</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double)">
+ <summary>
+ Verifies that two doubles are equal considering a delta. If the
+ expected value is infinity then the delta value is ignored. If
+ they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+ thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="delta">The maximum acceptable difference between the
+ the expected and the actual</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String,System.Object[])">
+ <summary>
+ Verifies that two objects are equal. Two objects are considered
+ equal if both are null, or if both have the same value. NUnit
+ has special semantics for some object types.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The value that is expected</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String)">
+ <summary>
+ Verifies that two objects are equal. Two objects are considered
+ equal if both are null, or if both have the same value. NUnit
+ has special semantics for some object types.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The value that is expected</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object)">
+ <summary>
+ Verifies that two objects are equal. Two objects are considered
+ equal if both are null, or if both have the same value. NUnit
+ has special semantics for some object types.
+ If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The value that is expected</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int32,System.Int32,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int32,System.Int32,System.String)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int32,System.Int32)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int64,System.Int64,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int64,System.Int64,System.String)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int64,System.Int64)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt32,System.UInt32,System.String)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt32,System.UInt32)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt64,System.UInt64,System.String)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt64,System.UInt64)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Decimal,System.Decimal,System.String)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Decimal,System.Decimal)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Single,System.Single,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Single,System.Single,System.String)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Single,System.Single)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Double,System.Double,System.String,System.Object[])">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Double,System.Double,System.String)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Double,System.Double)">
+ <summary>
+ Verifies that two values are not equal. If they are equal, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected value</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String,System.Object[])">
+ <summary>
+ Verifies that two objects are not equal. Two objects are considered
+ equal if both are null, or if both have the same value. NUnit
+ has special semantics for some object types.
+ If they are equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The value that is expected</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String)">
+ <summary>
+ Verifies that two objects are not equal. Two objects are considered
+ equal if both are null, or if both have the same value. NUnit
+ has special semantics for some object types.
+ If they are equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The value that is expected</param>
+ <param name="actual">The actual value</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object)">
+ <summary>
+ Verifies that two objects are not equal. Two objects are considered
+ equal if both are null, or if both have the same value. NUnit
+ has special semantics for some object types.
+ If they are equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The value that is expected</param>
+ <param name="actual">The actual value</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that two objects refer to the same object. If they
+ are not the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected object</param>
+ <param name="actual">The actual object</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String)">
+ <summary>
+ Asserts that two objects refer to the same object. If they
+ are not the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected object</param>
+ <param name="actual">The actual object</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object)">
+ <summary>
+ Asserts that two objects refer to the same object. If they
+ are not the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected object</param>
+ <param name="actual">The actual object</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String,System.Object[])">
+ <summary>
+ Asserts that two objects do not refer to the same object. If they
+ are the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected object</param>
+ <param name="actual">The actual object</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String)">
+ <summary>
+ Asserts that two objects do not refer to the same object. If they
+ are the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected object</param>
+ <param name="actual">The actual object</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object)">
+ <summary>
+ Asserts that two objects do not refer to the same object. If they
+ are the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="expected">The expected object</param>
+ <param name="actual">The actual object</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable)">
+ <summary>
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable)">
+ <summary>
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable)">
+ <summary>
+ Verifies that the first value is greater than or equal tothe second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be greater</param>
+ <param name="arg2">The second value, expected to be less</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable)">
+ <summary>
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+ </summary>
+ <param name="arg1">The first value, expected to be less</param>
+ <param name="arg2">The second value, expected to be greater</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String,System.Object[])">
+ <summary>
+ Asserts that an object is contained in a list.
+ </summary>
+ <param name="expected">The expected object</param>
+ <param name="actual">The list to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ <param name="args">Array of objects to be used in formatting the message</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String)">
+ <summary>
+ Asserts that an object is contained in a list.
+ </summary>
+ <param name="expected">The expected object</param>
+ <param name="actual">The list to be examined</param>
+ <param name="message">The message to display in case of failure</param>
+ </member>
+ <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection)">
+ <summary>
+ Asserts that an object is contained in a list.
+ </summary>
+ <param name="expected">The expected object</param>
+ <param name="actual">The list to be examined</param>
+ </member>
+ <member name="P:NUnit.Framework.Assert.Counter">
+ <summary>
+ Gets the number of assertions executed so far and
+ resets the counter to zero.
+ </summary>
+ </member>
+ <member name="T:NUnit.Framework.Contains">
+ <summary>
+ Static helper class used in the constraint-based syntax
+ </summary>
+ </member>
+ <member name="M:NUnit.Framework.Contains.Substring(System.String)">
+ <summary>
+ Creates a new SubstringConstraint
+ </summary>
+ <param name="substring">The value of the substring</param>
+ <returns>A SubstringConstraint</returns>
+ </member>
+ <member name="M:NUnit.Framework.Contains.Item(System.Object)">
+ <summary>
+ Creates a new CollectionContainsConstraint.
+ </summary>
+ <param name="item">The item that should be found.</param>
+ <returns>A new CollectionContainsConstraint</returns>
+ </member>
+ </members>
+</doc>
diff --git a/projecttemplates/MvcRelyingParty.vstemplate b/projecttemplates/MvcRelyingParty.vstemplate
index d554cae..b599a75 100644
--- a/projecttemplates/MvcRelyingParty.vstemplate
+++ b/projecttemplates/MvcRelyingParty.vstemplate
@@ -2,9 +2,8 @@
<TemplateData>
<Name>ASP.NET MVC OpenID-InfoCard RP</Name>
<RequiredFrameworkVersion>3.5</RequiredFrameworkVersion>
- <Description>An ASP.NET MVC web site that accepts OpenID and InfoCard logins</Description>
+ <Description>An ASP.NET MVC web site that accepts OpenID logins and acts as an OAuth service provider.</Description>
<ProjectType>CSharp</ProjectType>
- <ProjectSubType>Web</ProjectSubType>
<NumberOfParentCategoriesToRollUp>2</NumberOfParentCategoriesToRollUp>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
diff --git a/projecttemplates/MvcRelyingParty/GettingStarted.htm b/projecttemplates/MvcRelyingParty/Getting Started.htm
index c4fb3aa..c4fb3aa 100644
--- a/projecttemplates/MvcRelyingParty/GettingStarted.htm
+++ b/projecttemplates/MvcRelyingParty/Getting Started.htm
diff --git a/projecttemplates/MvcRelyingParty/MvcRelyingParty.csproj b/projecttemplates/MvcRelyingParty/MvcRelyingParty.csproj
index a4604e5..c25c6d3 100644
--- a/projecttemplates/MvcRelyingParty/MvcRelyingParty.csproj
+++ b/projecttemplates/MvcRelyingParty/MvcRelyingParty.csproj
@@ -1,17 +1,21 @@
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{152B7BAB-E884-4A59-8067-440971A682B3}</ProjectGuid>
- <ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+ <ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MvcRelyingParty</RootNamespace>
<AssemblyName>MvcRelyingParty</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>4.0</OldToolsVersion>
+ <UpgradeBackupLocation />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -21,6 +25,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -29,6 +34,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
@@ -90,7 +96,7 @@
</ItemGroup>
<ItemGroup>
<Content Include="Default.aspx" />
- <Content Include="GettingStarted.htm" />
+ <Content Include="Getting Started.htm" />
<Content Include="Global.asax" />
<Content Include="Setup.aspx" />
<Content Include="Views\Account\EditFields.ascx" />
@@ -138,13 +144,13 @@
<Folder Include="App_Data\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target> -->
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
- <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
+ <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" />
</Target>
<ProjectExtensions>
<VisualStudio>
diff --git a/projecttemplates/MvcRelyingParty/MvcRelyingParty.vstemplate b/projecttemplates/MvcRelyingParty/MvcRelyingParty.vstemplate
index 86b636f..2b608eb 100644
--- a/projecttemplates/MvcRelyingParty/MvcRelyingParty.vstemplate
+++ b/projecttemplates/MvcRelyingParty/MvcRelyingParty.vstemplate
@@ -1,13 +1,13 @@
<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
<TemplateData>
<Name>ASP.NET MVC OpenID-InfoCard RP</Name>
- <Description>An ASP.NET MVC web site that accepts OpenID and InfoCard logins</Description>
+ <Description>An ASP.NET MVC web site that accepts OpenID and InfoCard logins and acts as an OAuth service provider.</Description>
<ProjectType>CSharp</ProjectType>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
<TemplateContent>
<Project File="MvcRelyingParty.csproj" ReplaceParameters="true">
- <ProjectItem OpenInWebBrowser="true">GettingStarted.htm</ProjectItem>
+ <ProjectItem OpenInWebBrowser="true">Getting Started.htm</ProjectItem>
</Project>
</TemplateContent>
</VSTemplate> \ No newline at end of file
diff --git a/projecttemplates/MvcRelyingParty/Web.config b/projecttemplates/MvcRelyingParty/Web.config
index 8bd0dfc..706b0a1 100644
--- a/projecttemplates/MvcRelyingParty/Web.config
+++ b/projecttemplates/MvcRelyingParty/Web.config
@@ -165,6 +165,7 @@
<add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
+ <remove assembly="DotNetOpenAuth.Contracts"/>
</assemblies>
</compilation>
diff --git a/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlcmdvars b/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlcmdvars
index 705af45..a396dc9 100644
--- a/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlcmdvars
+++ b/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlcmdvars
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<SqlCommandVariables xmlns="urn:Microsoft.VisualStudio.Data.Schema.Project.SqlCmdVars">
- <Version>1</Version>
+<SqlCommandVariables xmlns="urn:Microsoft.VisualStudio.Data.Schema.Package.SqlCmdVars">
+ <Version>1.0</Version>
<Properties>
<Property>
<PropertyName>Path1</PropertyName>
diff --git a/projecttemplates/RelyingPartyDatabase/Properties/Database.sqldeployment b/projecttemplates/RelyingPartyDatabase/Properties/Database.sqldeployment
index c3f58f1..5bef095 100644
--- a/projecttemplates/RelyingPartyDatabase/Properties/Database.sqldeployment
+++ b/projecttemplates/RelyingPartyDatabase/Properties/Database.sqldeployment
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<DeploymentConfigurationSettings xmlns="urn:Microsoft.VisualStudio.Data.Schema.Project.DeploymentConfigurationSettings">
- <Version>1</Version>
+<DeploymentConfigurationSettings xmlns="urn:Microsoft.VisualStudio.Data.Schema.Package.DeploymentConfigurationSettings">
+ <Version>1.0</Version>
<Properties>
<AbortOnFirstError>False</AbortOnFirstError>
<AlwaysCreateNewDatabase>False</AlwaysCreateNewDatabase>
@@ -10,7 +10,6 @@
<DeploymentCollationPreference>UseSourceModelCollation</DeploymentCollationPreference>
<DoNotUseAlterAssemblyStatementsToUpdateCLRTypes>False</DoNotUseAlterAssemblyStatementsToUpdateCLRTypes>
<GenerateDropsIfNotInProject>False</GenerateDropsIfNotInProject>
- <IgnoreFileAndLogFilePath>True</IgnoreFileAndLogFilePath>
<PerformDatabaseBackup>False</PerformDatabaseBackup>
<SingleUserMode>False</SingleUserMode>
</Properties>
diff --git a/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlsettings b/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlsettings
index b7d41ee..5f3b26c 100644
--- a/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlsettings
+++ b/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlsettings
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<CatalogProperties xmlns="urn:Microsoft.VisualStudio.Data.Schema.Project.CatalogProperties">
- <Version>1</Version>
+<CatalogProperties xmlns="urn:Microsoft.VisualStudio.Data.Schema.Package.CatalogProperties">
+ <Version>1.0</Version>
<Properties>
<AllowSnapshotIsolation>False</AllowSnapshotIsolation>
<AnsiNullDefault>False</AnsiNullDefault>
diff --git a/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj b/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj
index b791198..8163828 100644
--- a/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj
+++ b/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Name>"DatabaseProject"</Name>
<SchemaVersion>2.0</SchemaVersion>
- <ProjectVersion>3.5</ProjectVersion>
+ <ProjectVersion>4.0</ProjectVersion>
<ProjectGuid>{2b4261ac-25ac-4b8d-b459-1c42b6b1401d}</ProjectGuid>
- <DSP>Microsoft.Data.Schema.Sql.SqlDsp.Sql100DatabaseSchemaProvider</DSP>
+ <DSP>Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider</DSP>
<AppDesignerFolder>Properties</AppDesignerFolder>
<ShowWizard>True</ShowWizard>
<OutputType>Database</OutputType>
@@ -22,10 +22,10 @@
</ServerPropertiesFile>
<RootNamespace>RelyingPartyDatabase</RootNamespace>
<DefaultSchema>dbo</DefaultSchema>
- <PreviousProjectVersion>3.5</PreviousProjectVersion>
<AllowServerObjects>False</AllowServerObjects>
<AllowDatabaseObjects>True</AllowDatabaseObjects>
<DeployScriptFileName>..\..\..\RelyingPartyLogic\CreateDatabase.sql</DeployScriptFileName>
+ <PreviousProjectVersion>4.0</PreviousProjectVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>.\sql\release\</OutputPath>
@@ -54,7 +54,7 @@
<DeployToDatabase>False</DeployToDatabase>
</PropertyGroup>
<!--Import the settings-->
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" />
+ <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" />
<ItemGroup>
<Folder Include="Properties\" />
<Folder Include="Schema Objects\" />
@@ -282,8 +282,6 @@
</PostDeploy>
</ItemGroup>
<ItemGroup>
- <ArtifactReference Include="$(VSTSDBDirectory)\Extensions\SqlServer\2008\DBSchemas\Microsoft.SqlTypes.dbschema">
- <HintPath>..\..\..\..\..\..\Program Files\Microsoft Visual Studio 9.0\VSTSDB\Extensions\SqlServer\2008\DBSchemas\Microsoft.SqlTypes.dbschema</HintPath>
- </ArtifactReference>
+ <BuildContributorArgument Include="OutDir=$(OutDir)" />
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/projecttemplates/RelyingPartyLogic/CreateDatabase.sql b/projecttemplates/RelyingPartyLogic/CreateDatabase.sql
index 909315f..dd7a69e 100644
--- a/projecttemplates/RelyingPartyLogic/CreateDatabase.sql
+++ b/projecttemplates/RelyingPartyLogic/CreateDatabase.sql
@@ -11,6 +11,7 @@ GO
:setvar Path1 "WEBROOT\App_Data\"
:setvar DatabaseName "RelyingPartyDatabase"
:setvar DefaultDataPath ""
+:setvar DefaultLogPath ""
*/
GO
@@ -37,7 +38,7 @@ PRINT N'Creating $(DatabaseName)...'
GO
CREATE DATABASE [$(DatabaseName)]
ON
- PRIMARY(NAME = [$(Path1)$(DatabaseName).mdf], FILENAME = '$(Path1)$(DatabaseName).mdf', MAXSIZE = UNLIMITED, FILEGROWTH = 1024 KB)
+ PRIMARY(NAME = [$(Path1)$(DatabaseName).mdf], FILENAME = '$(Path1)$(DatabaseName).mdf', FILEGROWTH = 1024 KB)
LOG ON (NAME = [$(DatabaseName)_log], FILENAME = '$(Path1)$(DatabaseName)_log.LDF', MAXSIZE = 2097152 MB, FILEGROWTH = 10 %) COLLATE SQL_Latin1_General_CP1_CI_AS
GO
EXECUTE sp_dbcmptlevel [$(DatabaseName)], 90;
@@ -101,7 +102,8 @@ IF EXISTS (SELECT 1
PAGE_VERIFY CHECKSUM,
DATE_CORRELATION_OPTIMIZATION OFF,
DISABLE_BROKER,
- PARAMETERIZATION SIMPLE
+ PARAMETERIZATION SIMPLE,
+ SUPPLEMENTAL_LOGGING OFF
WITH ROLLBACK IMMEDIATE;
END
@@ -121,18 +123,25 @@ IF IS_SRVROLEMEMBER(N'sysadmin') = 1
END
ELSE
BEGIN
- PRINT N'The database settings for DB_CHAINING or TRUSTWORTHY cannot be modified. You must be a SysAdmin to apply these settings.';
+ PRINT N'The database settings cannot be modified. You must be a SysAdmin to apply these settings.';
END
GO
-IF EXISTS (SELECT 1
- FROM [master].[dbo].[sysdatabases]
- WHERE [name] = N'$(DatabaseName)')
+IF IS_SRVROLEMEMBER(N'sysadmin') = 1
BEGIN
- ALTER DATABASE [$(DatabaseName)]
- SET HONOR_BROKER_PRIORITY OFF
- WITH ROLLBACK IMMEDIATE;
+ IF EXISTS (SELECT 1
+ FROM [master].[dbo].[sysdatabases]
+ WHERE [name] = N'$(DatabaseName)')
+ BEGIN
+ EXECUTE sp_executesql N'ALTER DATABASE [$(DatabaseName)]
+ SET HONOR_BROKER_PRIORITY OFF
+ WITH ROLLBACK IMMEDIATE';
+ END
+ END
+ELSE
+ BEGIN
+ PRINT N'The database settings cannot be modified. You must be a SysAdmin to apply these settings.';
END
@@ -145,8 +154,6 @@ IF fulltextserviceproperty(N'IsFulltextInstalled') = 1
GO
-
-GO
/*
Pre-Deployment Script Template
--------------------------------------------------------------------------------------
@@ -160,9 +167,7 @@ GO
*/
GO
-
-GO
-PRINT N'Creating dbo.AuthenticationToken...';
+PRINT N'Creating [dbo].[AuthenticationToken]...';
GO
@@ -186,7 +191,16 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating dbo.Consumer...';
+PRINT N'Creating PK_AuthenticationToken...';
+
+
+GO
+ALTER TABLE [dbo].[AuthenticationToken]
+ ADD CONSTRAINT [PK_AuthenticationToken] PRIMARY KEY CLUSTERED ([AuthenticationTokenId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
+
+
+GO
+PRINT N'Creating [dbo].[Consumer]...';
GO
@@ -211,7 +225,25 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating dbo.IssuedToken...';
+PRINT N'Creating PK_Consumer...';
+
+
+GO
+ALTER TABLE [dbo].[Consumer]
+ ADD CONSTRAINT [PK_Consumer] PRIMARY KEY CLUSTERED ([ConsumerId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
+
+
+GO
+PRINT N'Creating [dbo].[Consumer].[IX_Consumer]...';
+
+
+GO
+CREATE UNIQUE NONCLUSTERED INDEX [IX_Consumer]
+ ON [dbo].[Consumer]([ConsumerKey] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, MAXDOP = 0);
+
+
+GO
+PRINT N'Creating [dbo].[IssuedToken]...';
GO
@@ -240,7 +272,25 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating dbo.Log...';
+PRINT N'Creating PK_IssuedToken...';
+
+
+GO
+ALTER TABLE [dbo].[IssuedToken]
+ ADD CONSTRAINT [PK_IssuedToken] PRIMARY KEY CLUSTERED ([IssuedTokenId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
+
+
+GO
+PRINT N'Creating [dbo].[IssuedToken].[IX_IssuedToken]...';
+
+
+GO
+CREATE UNIQUE NONCLUSTERED INDEX [IX_IssuedToken]
+ ON [dbo].[IssuedToken]([Token] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, MAXDOP = 0);
+
+
+GO
+PRINT N'Creating [dbo].[Log]...';
GO
@@ -256,7 +306,7 @@ CREATE TABLE [dbo].[Log] (
GO
-PRINT N'Creating dbo.Nonce...';
+PRINT N'Creating [dbo].[Nonce]...';
GO
@@ -278,7 +328,34 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating dbo.OpenIDAssociation...';
+PRINT N'Creating PK_Nonce...';
+
+
+GO
+ALTER TABLE [dbo].[Nonce]
+ ADD CONSTRAINT [PK_Nonce] PRIMARY KEY CLUSTERED ([NonceId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
+
+
+GO
+PRINT N'Creating [dbo].[Nonce].[IX_Nonce_Code]...';
+
+
+GO
+CREATE UNIQUE NONCLUSTERED INDEX [IX_Nonce_Code]
+ ON [dbo].[Nonce]([Context] ASC, [Code] ASC, [Issued] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, MAXDOP = 0);
+
+
+GO
+PRINT N'Creating [dbo].[Nonce].[IX_Nonce_Expires]...';
+
+
+GO
+CREATE NONCLUSTERED INDEX [IX_Nonce_Expires]
+ ON [dbo].[Nonce]([Expires] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, MAXDOP = 0);
+
+
+GO
+PRINT N'Creating [dbo].[OpenIDAssociation]...';
GO
@@ -301,26 +378,25 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating dbo.Role...';
+PRINT N'Creating PK_OpenIDAssociations...';
GO
-SET ANSI_NULLS, QUOTED_IDENTIFIER ON;
+ALTER TABLE [dbo].[OpenIDAssociation]
+ ADD CONSTRAINT [PK_OpenIDAssociations] PRIMARY KEY CLUSTERED ([AssociationId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
GO
-CREATE TABLE [dbo].[Role] (
- [RoleId] INT IDENTITY (1, 1) NOT NULL,
- [Name] NVARCHAR (50) NOT NULL
-);
+PRINT N'Creating [dbo].[OpenIDAssociation].[IX_OpenIDAssociations]...';
GO
-SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
+CREATE UNIQUE NONCLUSTERED INDEX [IX_OpenIDAssociations]
+ ON [dbo].[OpenIDAssociation]([DistinguishingFactor] ASC, [AssociationHandle] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, MAXDOP = 0);
GO
-PRINT N'Creating dbo.User...';
+PRINT N'Creating [dbo].[Role]...';
GO
@@ -328,13 +404,9 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER ON;
GO
-CREATE TABLE [dbo].[User] (
- [UserId] INT IDENTITY (1, 1) NOT NULL,
- [FirstName] NVARCHAR (50) NULL,
- [LastName] NVARCHAR (50) NULL,
- [EmailAddress] NVARCHAR (100) NULL,
- [EmailAddressVerified] BIT NOT NULL,
- [CreatedOn] DATETIME NOT NULL
+CREATE TABLE [dbo].[Role] (
+ [RoleId] INT IDENTITY (1, 1) NOT NULL,
+ [Name] NVARCHAR (50) NOT NULL
);
@@ -343,71 +415,76 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating dbo.UserRole...';
+PRINT N'Creating PK_Role...';
GO
-SET ANSI_NULLS, QUOTED_IDENTIFIER ON;
+ALTER TABLE [dbo].[Role]
+ ADD CONSTRAINT [PK_Role] PRIMARY KEY CLUSTERED ([RoleId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
GO
-CREATE TABLE [dbo].[UserRole] (
- [UserId] INT NOT NULL,
- [RoleId] INT NOT NULL
-);
+PRINT N'Creating [dbo].[User]...';
GO
-SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
+SET ANSI_NULLS, QUOTED_IDENTIFIER ON;
GO
-PRINT N'Creating dbo.Consumer.IX_Consumer...';
+CREATE TABLE [dbo].[User] (
+ [UserId] INT IDENTITY (1, 1) NOT NULL,
+ [FirstName] NVARCHAR (50) NULL,
+ [LastName] NVARCHAR (50) NULL,
+ [EmailAddress] NVARCHAR (100) NULL,
+ [EmailAddressVerified] BIT NOT NULL,
+ [CreatedOn] DATETIME NOT NULL
+);
GO
-CREATE UNIQUE NONCLUSTERED INDEX [IX_Consumer]
- ON [dbo].[Consumer]([ConsumerKey] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, MAXDOP = 0);
+SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating dbo.IssuedToken.IX_IssuedToken...';
+PRINT N'Creating PK_User...';
GO
-CREATE UNIQUE NONCLUSTERED INDEX [IX_IssuedToken]
- ON [dbo].[IssuedToken]([Token] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, MAXDOP = 0);
+ALTER TABLE [dbo].[User]
+ ADD CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED ([UserId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
GO
-PRINT N'Creating dbo.Nonce.IX_Nonce_Code...';
+PRINT N'Creating [dbo].[UserRole]...';
GO
-CREATE UNIQUE NONCLUSTERED INDEX [IX_Nonce_Code]
- ON [dbo].[Nonce]([Context] ASC, [Code] ASC, [Issued] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, MAXDOP = 0);
+SET ANSI_NULLS, QUOTED_IDENTIFIER ON;
GO
-PRINT N'Creating dbo.Nonce.IX_Nonce_Expires...';
+CREATE TABLE [dbo].[UserRole] (
+ [UserId] INT NOT NULL,
+ [RoleId] INT NOT NULL
+);
GO
-CREATE NONCLUSTERED INDEX [IX_Nonce_Expires]
- ON [dbo].[Nonce]([Expires] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, MAXDOP = 0);
+SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating dbo.OpenIDAssociation.IX_OpenIDAssociations...';
+PRINT N'Creating PK_UserRole...';
GO
-CREATE UNIQUE NONCLUSTERED INDEX [IX_OpenIDAssociations]
- ON [dbo].[OpenIDAssociation]([DistinguishingFactor] ASC, [AssociationHandle] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, MAXDOP = 0);
+ALTER TABLE [dbo].[UserRole]
+ ADD CONSTRAINT [PK_UserRole] PRIMARY KEY CLUSTERED ([UserId] ASC, [RoleId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
GO
-PRINT N'Creating dbo.DF_AuthenticationToken_CreatedOn...';
+PRINT N'Creating DF_AuthenticationToken_CreatedOn...';
GO
@@ -416,7 +493,7 @@ ALTER TABLE [dbo].[AuthenticationToken]
GO
-PRINT N'Creating dbo.DF_AuthenticationToken_LastUsed...';
+PRINT N'Creating DF_AuthenticationToken_LastUsed...';
GO
@@ -425,7 +502,7 @@ ALTER TABLE [dbo].[AuthenticationToken]
GO
-PRINT N'Creating dbo.DF_AuthenticationToken_UsageCount...';
+PRINT N'Creating DF_AuthenticationToken_UsageCount...';
GO
@@ -434,7 +511,7 @@ ALTER TABLE [dbo].[AuthenticationToken]
GO
-PRINT N'Creating dbo.DF_IssuedToken_CreatedOn...';
+PRINT N'Creating DF_IssuedToken_CreatedOn...';
GO
@@ -443,7 +520,7 @@ ALTER TABLE [dbo].[IssuedToken]
GO
-PRINT N'Creating dbo.DF_IssuedToken_IsAccessToken...';
+PRINT N'Creating DF_IssuedToken_IsAccessToken...';
GO
@@ -452,7 +529,7 @@ ALTER TABLE [dbo].[IssuedToken]
GO
-PRINT N'Creating dbo.DF_Nonce_Issued...';
+PRINT N'Creating DF_Nonce_Issued...';
GO
@@ -461,7 +538,7 @@ ALTER TABLE [dbo].[Nonce]
GO
-PRINT N'Creating dbo.DF_User_CreatedOn...';
+PRINT N'Creating DF_User_CreatedOn...';
GO
@@ -470,7 +547,7 @@ ALTER TABLE [dbo].[User]
GO
-PRINT N'Creating dbo.DF_User_EmailAddressVerified...';
+PRINT N'Creating DF_User_EmailAddressVerified...';
GO
@@ -479,124 +556,52 @@ ALTER TABLE [dbo].[User]
GO
-PRINT N'Creating dbo.PK_AuthenticationToken...';
-
-
-GO
-ALTER TABLE [dbo].[AuthenticationToken]
- ADD CONSTRAINT [PK_AuthenticationToken] PRIMARY KEY CLUSTERED ([AuthenticationTokenId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
-
-
-GO
-PRINT N'Creating dbo.PK_Consumer...';
-
-
-GO
-ALTER TABLE [dbo].[Consumer]
- ADD CONSTRAINT [PK_Consumer] PRIMARY KEY CLUSTERED ([ConsumerId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
-
-
-GO
-PRINT N'Creating dbo.PK_IssuedToken...';
-
-
-GO
-ALTER TABLE [dbo].[IssuedToken]
- ADD CONSTRAINT [PK_IssuedToken] PRIMARY KEY CLUSTERED ([IssuedTokenId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
-
-
-GO
-PRINT N'Creating dbo.PK_Nonce...';
-
-
-GO
-ALTER TABLE [dbo].[Nonce]
- ADD CONSTRAINT [PK_Nonce] PRIMARY KEY CLUSTERED ([NonceId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
-
-
-GO
-PRINT N'Creating dbo.PK_OpenIDAssociations...';
+PRINT N'Creating FK_AuthenticationToken_User...';
GO
-ALTER TABLE [dbo].[OpenIDAssociation]
- ADD CONSTRAINT [PK_OpenIDAssociations] PRIMARY KEY CLUSTERED ([AssociationId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
-
-
-GO
-PRINT N'Creating dbo.PK_Role...';
-
-
-GO
-ALTER TABLE [dbo].[Role]
- ADD CONSTRAINT [PK_Role] PRIMARY KEY CLUSTERED ([RoleId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
-
-
-GO
-PRINT N'Creating dbo.PK_User...';
-
-
-GO
-ALTER TABLE [dbo].[User]
- ADD CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED ([UserId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
-
-
-GO
-PRINT N'Creating dbo.PK_UserRole...';
-
-
-GO
-ALTER TABLE [dbo].[UserRole]
- ADD CONSTRAINT [PK_UserRole] PRIMARY KEY CLUSTERED ([UserId] ASC, [RoleId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
-
-
-GO
-PRINT N'Creating dbo.FK_AuthenticationToken_User...';
-
-
-GO
-ALTER TABLE [dbo].[AuthenticationToken]
+ALTER TABLE [dbo].[AuthenticationToken] WITH NOCHECK
ADD CONSTRAINT [FK_AuthenticationToken_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([UserId]) ON DELETE CASCADE ON UPDATE CASCADE;
GO
-PRINT N'Creating dbo.FK_IssuedToken_Consumer...';
+PRINT N'Creating FK_IssuedToken_Consumer...';
GO
-ALTER TABLE [dbo].[IssuedToken]
+ALTER TABLE [dbo].[IssuedToken] WITH NOCHECK
ADD CONSTRAINT [FK_IssuedToken_Consumer] FOREIGN KEY ([ConsumerId]) REFERENCES [dbo].[Consumer] ([ConsumerId]) ON DELETE CASCADE ON UPDATE CASCADE;
GO
-PRINT N'Creating dbo.FK_IssuedToken_User...';
+PRINT N'Creating FK_IssuedToken_User...';
GO
-ALTER TABLE [dbo].[IssuedToken]
+ALTER TABLE [dbo].[IssuedToken] WITH NOCHECK
ADD CONSTRAINT [FK_IssuedToken_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([UserId]) ON DELETE CASCADE ON UPDATE CASCADE;
GO
-PRINT N'Creating dbo.FK_UserRole_Role...';
+PRINT N'Creating FK_UserRole_Role...';
GO
-ALTER TABLE [dbo].[UserRole]
+ALTER TABLE [dbo].[UserRole] WITH NOCHECK
ADD CONSTRAINT [FK_UserRole_Role] FOREIGN KEY ([RoleId]) REFERENCES [dbo].[Role] ([RoleId]) ON DELETE CASCADE ON UPDATE CASCADE;
GO
-PRINT N'Creating dbo.FK_UserRole_User...';
+PRINT N'Creating FK_UserRole_User...';
GO
-ALTER TABLE [dbo].[UserRole]
+ALTER TABLE [dbo].[UserRole] WITH NOCHECK
ADD CONSTRAINT [FK_UserRole_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([UserId]) ON DELETE CASCADE ON UPDATE CASCADE;
GO
-PRINT N'Creating dbo.AddUser...';
+PRINT N'Creating [dbo].[AddUser]...';
GO
@@ -605,9 +610,14 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER ON;
GO
CREATE PROCEDURE [dbo].[AddUser]
-@firstName NVARCHAR (50), @lastName NVARCHAR (50), @openid NVARCHAR (255), @role NVARCHAR (255)
+ (
+ @firstName nvarchar(50),
+ @lastName nvarchar(50),
+ @openid nvarchar(255),
+ @role nvarchar(255)
+ )
AS
-DECLARE
+ DECLARE
@roleid int,
@userid int
@@ -636,14 +646,12 @@ DECLARE
COMMIT TRANSACTION
RETURN @userid
-
-
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating dbo.ClearExpiredAssociations...';
+PRINT N'Creating [dbo].[ClearExpiredAssociations]...';
GO
@@ -651,19 +659,17 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER ON;
GO
-CREATE PROCEDURE [dbo].[ClearExpiredAssociations]
-
+CREATE PROCEDURE dbo.ClearExpiredAssociations
AS
+
DELETE FROM dbo.OpenIDAssociation
WHERE [Expiration] < getutcdate()
-
-
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating dbo.ClearExpiredNonces...';
+PRINT N'Creating [dbo].[ClearExpiredNonces]...';
GO
@@ -671,27 +677,20 @@ SET ANSI_NULLS, QUOTED_IDENTIFIER ON;
GO
-CREATE PROCEDURE [dbo].[ClearExpiredNonces]
-
+CREATE PROCEDURE dbo.ClearExpiredNonces
AS
+
DELETE FROM dbo.[Nonce]
WHERE [Expires] < getutcdate()
-
-
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
-PRINT N'Creating AutoCreatedLocal...';
-
-
+-- Refactoring step to update target server with deployed transaction logs
+CREATE TABLE [dbo].[__RefactorLog] (OperationKey UNIQUEIDENTIFIER NOT NULL PRIMARY KEY)
GO
-CREATE ROUTE [AutoCreatedLocal]
- AUTHORIZATION [dbo]
- WITH ADDRESS = N'LOCAL';
-
-
+sp_addextendedproperty N'microsoft_database_tools_support', N'refactoring log', N'schema', N'dbo', N'table', N'__RefactorLog'
GO
GO
@@ -708,8 +707,20 @@ Post-Deployment Script Template
*/
GO
+PRINT N'Checking existing data against newly created constraints';
+
GO
+ALTER TABLE [dbo].[AuthenticationToken] WITH CHECK CHECK CONSTRAINT [FK_AuthenticationToken_User];
+
+ALTER TABLE [dbo].[IssuedToken] WITH CHECK CHECK CONSTRAINT [FK_IssuedToken_Consumer];
+
+ALTER TABLE [dbo].[IssuedToken] WITH CHECK CHECK CONSTRAINT [FK_IssuedToken_User];
+
+ALTER TABLE [dbo].[UserRole] WITH CHECK CHECK CONSTRAINT [FK_UserRole_Role];
+
+ALTER TABLE [dbo].[UserRole] WITH CHECK CHECK CONSTRAINT [FK_UserRole_User];
+
GO
ALTER DATABASE [$(DatabaseName)]
diff --git a/projecttemplates/RelyingPartyLogic/Model.Designer.cs b/projecttemplates/RelyingPartyLogic/Model.Designer.cs
index 93753a2..a1a5348 100644
--- a/projecttemplates/RelyingPartyLogic/Model.Designer.cs
+++ b/projecttemplates/RelyingPartyLogic/Model.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4927
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -15,7 +15,7 @@
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("DatabaseModel", "FK_IssuedToken_User1", "User", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(RelyingPartyLogic.User), "IssuedToken", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.IssuedToken))]
// Original file name:
-// Generation date: 12/9/2009 8:19:16 AM
+// Generation date: 1/7/2010 8:42:18 PM
namespace RelyingPartyLogic
{
@@ -52,6 +52,7 @@ namespace RelyingPartyLogic
/// <summary>
/// There are no comments for Roles in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.Data.Objects.ObjectQuery<Role> Roles
{
get
@@ -63,10 +64,12 @@ namespace RelyingPartyLogic
return this._Roles;
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.Data.Objects.ObjectQuery<Role> _Roles;
/// <summary>
/// There are no comments for Users in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.Data.Objects.ObjectQuery<User> Users
{
get
@@ -78,10 +81,12 @@ namespace RelyingPartyLogic
return this._Users;
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.Data.Objects.ObjectQuery<User> _Users;
/// <summary>
/// There are no comments for AuthenticationTokens in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.Data.Objects.ObjectQuery<AuthenticationToken> AuthenticationTokens
{
get
@@ -93,10 +98,12 @@ namespace RelyingPartyLogic
return this._AuthenticationTokens;
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.Data.Objects.ObjectQuery<AuthenticationToken> _AuthenticationTokens;
/// <summary>
/// There are no comments for Consumers in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.Data.Objects.ObjectQuery<Consumer> Consumers
{
get
@@ -108,10 +115,12 @@ namespace RelyingPartyLogic
return this._Consumers;
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.Data.Objects.ObjectQuery<Consumer> _Consumers;
/// <summary>
/// There are no comments for IssuedTokens in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.Data.Objects.ObjectQuery<IssuedToken> IssuedTokens
{
get
@@ -123,10 +132,12 @@ namespace RelyingPartyLogic
return this._IssuedTokens;
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.Data.Objects.ObjectQuery<IssuedToken> _IssuedTokens;
/// <summary>
/// There are no comments for Nonces in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.Data.Objects.ObjectQuery<Nonce> Nonces
{
get
@@ -138,10 +149,12 @@ namespace RelyingPartyLogic
return this._Nonces;
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.Data.Objects.ObjectQuery<Nonce> _Nonces;
/// <summary>
/// There are no comments for OpenIdAssociations in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.Data.Objects.ObjectQuery<OpenIdAssociation> OpenIdAssociations
{
get
@@ -153,10 +166,12 @@ namespace RelyingPartyLogic
return this._OpenIdAssociations;
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.Data.Objects.ObjectQuery<OpenIdAssociation> _OpenIdAssociations;
/// <summary>
/// There are no comments for Roles in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public void AddToRoles(Role role)
{
base.AddObject("Roles", role);
@@ -164,6 +179,7 @@ namespace RelyingPartyLogic
/// <summary>
/// There are no comments for Users in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public void AddToUsers(User user)
{
base.AddObject("Users", user);
@@ -171,6 +187,7 @@ namespace RelyingPartyLogic
/// <summary>
/// There are no comments for AuthenticationTokens in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public void AddToAuthenticationTokens(AuthenticationToken authenticationToken)
{
base.AddObject("AuthenticationTokens", authenticationToken);
@@ -178,6 +195,7 @@ namespace RelyingPartyLogic
/// <summary>
/// There are no comments for Consumers in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public void AddToConsumers(Consumer consumer)
{
base.AddObject("Consumers", consumer);
@@ -185,6 +203,7 @@ namespace RelyingPartyLogic
/// <summary>
/// There are no comments for IssuedTokens in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public void AddToIssuedTokens(IssuedToken issuedToken)
{
base.AddObject("IssuedTokens", issuedToken);
@@ -192,6 +211,7 @@ namespace RelyingPartyLogic
/// <summary>
/// There are no comments for Nonces in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public void AddToNonces(Nonce nonce)
{
base.AddObject("Nonces", nonce);
@@ -199,6 +219,7 @@ namespace RelyingPartyLogic
/// <summary>
/// There are no comments for OpenIdAssociations in the schema.
/// </summary>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public void AddToOpenIdAssociations(OpenIdAssociation openIdAssociation)
{
base.AddObject("OpenIdAssociations", openIdAssociation);
@@ -223,6 +244,7 @@ namespace RelyingPartyLogic
/// <param name="lastUsedUtc">Initial value of LastUsedUtc.</param>
/// <param name="usageCount">Initial value of UsageCount.</param>
/// <param name="authenticationTokenId">Initial value of AuthenticationTokenId.</param>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public static AuthenticationToken CreateAuthenticationToken(string claimedIdentifier, global::System.DateTime createdOnUtc, global::System.DateTime lastUsedUtc, int usageCount, int authenticationTokenId)
{
AuthenticationToken authenticationToken = new AuthenticationToken();
@@ -234,10 +256,11 @@ namespace RelyingPartyLogic
return authenticationToken;
}
/// <summary>
- /// There are no comments for Property ClaimedIdentifier in the schema.
+ /// There are no comments for property ClaimedIdentifier in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string ClaimedIdentifier
{
get
@@ -253,14 +276,18 @@ namespace RelyingPartyLogic
this.OnClaimedIdentifierChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _ClaimedIdentifier;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnClaimedIdentifierChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnClaimedIdentifierChanged();
/// <summary>
- /// There are no comments for Property FriendlyIdentifier in the schema.
+ /// There are no comments for property FriendlyIdentifier in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string FriendlyIdentifier
{
get
@@ -276,14 +303,18 @@ namespace RelyingPartyLogic
this.OnFriendlyIdentifierChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _FriendlyIdentifier;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnFriendlyIdentifierChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnFriendlyIdentifierChanged();
/// <summary>
- /// There are no comments for Property CreatedOnUtc in the schema.
+ /// There are no comments for property CreatedOnUtc in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.DateTime CreatedOnUtc
{
get
@@ -299,14 +330,18 @@ namespace RelyingPartyLogic
this.OnCreatedOnUtcChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.DateTime _CreatedOnUtc;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCreatedOnUtcChanging(global::System.DateTime value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCreatedOnUtcChanged();
/// <summary>
- /// There are no comments for Property LastUsedUtc in the schema.
+ /// There are no comments for property LastUsedUtc in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.DateTime LastUsedUtc
{
get
@@ -322,14 +357,18 @@ namespace RelyingPartyLogic
this.OnLastUsedUtcChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.DateTime _LastUsedUtc;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnLastUsedUtcChanging(global::System.DateTime value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnLastUsedUtcChanged();
/// <summary>
- /// There are no comments for Property UsageCount in the schema.
+ /// There are no comments for property UsageCount in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public int UsageCount
{
get
@@ -345,14 +384,18 @@ namespace RelyingPartyLogic
this.OnUsageCountChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _UsageCount;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnUsageCountChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnUsageCountChanged();
/// <summary>
- /// There are no comments for Property AuthenticationTokenId in the schema.
+ /// There are no comments for property AuthenticationTokenId in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public int AuthenticationTokenId
{
get
@@ -368,13 +411,17 @@ namespace RelyingPartyLogic
this.OnAuthenticationTokenIdChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _AuthenticationTokenId;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnAuthenticationTokenIdChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnAuthenticationTokenIdChanged();
/// <summary>
/// There are no comments for User in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_AuthenticationToken_User", "User")]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -393,6 +440,7 @@ namespace RelyingPartyLogic
/// There are no comments for User in the schema.
/// </summary>
[global::System.ComponentModel.BrowsableAttribute(false)]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public global::System.Data.Objects.DataClasses.EntityReference<User> UserReference
{
@@ -425,6 +473,7 @@ namespace RelyingPartyLogic
/// </summary>
/// <param name="name">Initial value of Name.</param>
/// <param name="roleId">Initial value of RoleId.</param>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public static Role CreateRole(string name, int roleId)
{
Role role = new Role();
@@ -433,10 +482,11 @@ namespace RelyingPartyLogic
return role;
}
/// <summary>
- /// There are no comments for Property Name in the schema.
+ /// There are no comments for property Name in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string Name
{
get
@@ -452,14 +502,18 @@ namespace RelyingPartyLogic
this.OnNameChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _Name;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnNameChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnNameChanged();
/// <summary>
- /// There are no comments for Property RoleId in the schema.
+ /// There are no comments for property RoleId in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public int RoleId
{
get
@@ -475,13 +529,17 @@ namespace RelyingPartyLogic
this.OnRoleIdChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _RoleId;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnRoleIdChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnRoleIdChanged();
/// <summary>
/// There are no comments for Users in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "UserRole", "User")]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -517,6 +575,7 @@ namespace RelyingPartyLogic
/// <param name="emailAddressVerified">Initial value of EmailAddressVerified.</param>
/// <param name="createdOnUtc">Initial value of CreatedOnUtc.</param>
/// <param name="userId">Initial value of UserId.</param>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public static User CreateUser(bool emailAddressVerified, global::System.DateTime createdOnUtc, int userId)
{
User user = new User();
@@ -526,10 +585,11 @@ namespace RelyingPartyLogic
return user;
}
/// <summary>
- /// There are no comments for Property FirstName in the schema.
+ /// There are no comments for property FirstName in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string FirstName
{
get
@@ -545,14 +605,18 @@ namespace RelyingPartyLogic
this.OnFirstNameChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _FirstName;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnFirstNameChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnFirstNameChanged();
/// <summary>
- /// There are no comments for Property LastName in the schema.
+ /// There are no comments for property LastName in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string LastName
{
get
@@ -568,14 +632,18 @@ namespace RelyingPartyLogic
this.OnLastNameChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _LastName;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnLastNameChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnLastNameChanged();
/// <summary>
/// The email address claimed to be controlled by the user. Whether it is actually owned by the user is indicated by the EmailAddressVerified property.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string EmailAddress
{
get
@@ -591,14 +659,18 @@ namespace RelyingPartyLogic
this.OnEmailAddressChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _EmailAddress;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnEmailAddressChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnEmailAddressChanged();
/// <summary>
/// A value indicating whether the email address has been verified as actually owned by this user.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public bool EmailAddressVerified
{
get
@@ -614,14 +686,18 @@ namespace RelyingPartyLogic
this.OnEmailAddressVerifiedChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private bool _EmailAddressVerified;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnEmailAddressVerifiedChanging(bool value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnEmailAddressVerifiedChanged();
/// <summary>
- /// There are no comments for Property CreatedOnUtc in the schema.
+ /// There are no comments for property CreatedOnUtc in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.DateTime CreatedOnUtc
{
get
@@ -637,14 +713,18 @@ namespace RelyingPartyLogic
this.OnCreatedOnUtcChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.DateTime _CreatedOnUtc;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCreatedOnUtcChanging(global::System.DateTime value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCreatedOnUtcChanged();
/// <summary>
- /// There are no comments for Property UserId in the schema.
+ /// There are no comments for property UserId in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public int UserId
{
get
@@ -660,13 +740,17 @@ namespace RelyingPartyLogic
this.OnUserIdChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _UserId;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnUserIdChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnUserIdChanged();
/// <summary>
/// There are no comments for Roles in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "UserRole", "Role")]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -688,6 +772,7 @@ namespace RelyingPartyLogic
/// There are no comments for AuthenticationTokens in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_AuthenticationToken_User", "AuthenticationToken")]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -709,6 +794,7 @@ namespace RelyingPartyLogic
/// There are no comments for IssuedTokens in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_User1", "IssuedToken")]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -744,6 +830,7 @@ namespace RelyingPartyLogic
/// <param name="consumerKey">Initial value of ConsumerKey.</param>
/// <param name="verificationCodeLength">Initial value of VerificationCodeLength.</param>
/// <param name="consumerId">Initial value of ConsumerId.</param>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public static Consumer CreateConsumer(string consumerKey, int verificationCodeLength, int consumerId)
{
Consumer consumer = new Consumer();
@@ -753,10 +840,11 @@ namespace RelyingPartyLogic
return consumer;
}
/// <summary>
- /// There are no comments for Property ConsumerKey in the schema.
+ /// There are no comments for property ConsumerKey in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string ConsumerKey
{
get
@@ -772,14 +860,18 @@ namespace RelyingPartyLogic
this.OnConsumerKeyChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _ConsumerKey;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnConsumerKeyChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnConsumerKeyChanged();
/// <summary>
- /// There are no comments for Property ConsumerSecret in the schema.
+ /// There are no comments for property ConsumerSecret in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string ConsumerSecret
{
get
@@ -795,14 +887,18 @@ namespace RelyingPartyLogic
this.OnConsumerSecretChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _ConsumerSecret;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnConsumerSecretChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnConsumerSecretChanged();
/// <summary>
- /// There are no comments for Property X509CertificateAsBinary in the schema.
+ /// There are no comments for property X509CertificateAsBinary in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private byte[] X509CertificateAsBinary
{
get
@@ -818,14 +914,18 @@ namespace RelyingPartyLogic
this.OnX509CertificateAsBinaryChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private byte[] _X509CertificateAsBinary;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnX509CertificateAsBinaryChanging(byte[] value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnX509CertificateAsBinaryChanged();
/// <summary>
- /// There are no comments for Property CallbackAsString in the schema.
+ /// There are no comments for property CallbackAsString in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string CallbackAsString
{
get
@@ -841,14 +941,18 @@ namespace RelyingPartyLogic
this.OnCallbackAsStringChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _CallbackAsString;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCallbackAsStringChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCallbackAsStringChanged();
/// <summary>
- /// There are no comments for Property VerificationCodeFormatAsInt in the schema.
+ /// There are no comments for property VerificationCodeFormatAsInt in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int VerificationCodeFormatAsInt
{
get
@@ -864,14 +968,18 @@ namespace RelyingPartyLogic
this.OnVerificationCodeFormatAsIntChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _VerificationCodeFormatAsInt;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnVerificationCodeFormatAsIntChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnVerificationCodeFormatAsIntChanged();
/// <summary>
- /// There are no comments for Property VerificationCodeLength in the schema.
+ /// There are no comments for property VerificationCodeLength in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public int VerificationCodeLength
{
get
@@ -887,14 +995,18 @@ namespace RelyingPartyLogic
this.OnVerificationCodeLengthChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _VerificationCodeLength;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnVerificationCodeLengthChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnVerificationCodeLengthChanged();
/// <summary>
- /// There are no comments for Property ConsumerId in the schema.
+ /// There are no comments for property ConsumerId in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public int ConsumerId
{
get
@@ -910,14 +1022,18 @@ namespace RelyingPartyLogic
this.OnConsumerIdChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _ConsumerId;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnConsumerIdChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnConsumerIdChanged();
/// <summary>
- /// There are no comments for Property Name in the schema.
+ /// There are no comments for property Name in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string Name
{
get
@@ -933,13 +1049,17 @@ namespace RelyingPartyLogic
this.OnNameChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _Name;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnNameChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnNameChanged();
/// <summary>
/// There are no comments for IssuedTokens in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_Consumer1", "IssuedToken")]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -972,10 +1092,11 @@ namespace RelyingPartyLogic
public abstract partial class IssuedToken : global::System.Data.Objects.DataClasses.EntityObject
{
/// <summary>
- /// There are no comments for Property Token in the schema.
+ /// There are no comments for property Token in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string Token
{
get
@@ -991,14 +1112,18 @@ namespace RelyingPartyLogic
this.OnTokenChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _Token;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnTokenChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnTokenChanged();
/// <summary>
- /// There are no comments for Property TokenSecret in the schema.
+ /// There are no comments for property TokenSecret in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string TokenSecret
{
get
@@ -1014,14 +1139,18 @@ namespace RelyingPartyLogic
this.OnTokenSecretChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _TokenSecret;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnTokenSecretChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnTokenSecretChanged();
/// <summary>
- /// There are no comments for Property CreatedOnUtc in the schema.
+ /// There are no comments for property CreatedOnUtc in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.DateTime CreatedOnUtc
{
get
@@ -1037,14 +1166,18 @@ namespace RelyingPartyLogic
this.OnCreatedOnUtcChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.DateTime _CreatedOnUtc;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCreatedOnUtcChanging(global::System.DateTime value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCreatedOnUtcChanged();
/// <summary>
- /// There are no comments for Property Scope in the schema.
+ /// There are no comments for property Scope in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string Scope
{
get
@@ -1060,14 +1193,18 @@ namespace RelyingPartyLogic
this.OnScopeChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _Scope;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnScopeChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnScopeChanged();
/// <summary>
- /// There are no comments for Property IssuedTokenId in the schema.
+ /// There are no comments for property IssuedTokenId in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public int IssuedTokenId
{
get
@@ -1083,13 +1220,17 @@ namespace RelyingPartyLogic
this.OnIssuedTokenIdChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _IssuedTokenId;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnIssuedTokenIdChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnIssuedTokenIdChanged();
/// <summary>
/// There are no comments for Consumer in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_Consumer1", "Consumer")]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -1108,6 +1249,7 @@ namespace RelyingPartyLogic
/// There are no comments for Consumer in the schema.
/// </summary>
[global::System.ComponentModel.BrowsableAttribute(false)]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public global::System.Data.Objects.DataClasses.EntityReference<Consumer> ConsumerReference
{
@@ -1127,6 +1269,7 @@ namespace RelyingPartyLogic
/// There are no comments for User in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_User1", "User")]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -1145,6 +1288,7 @@ namespace RelyingPartyLogic
/// There are no comments for User in the schema.
/// </summary>
[global::System.ComponentModel.BrowsableAttribute(false)]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public global::System.Data.Objects.DataClasses.EntityReference<User> UserReference
{
@@ -1179,6 +1323,7 @@ namespace RelyingPartyLogic
/// <param name="tokenSecret">Initial value of TokenSecret.</param>
/// <param name="createdOnUtc">Initial value of CreatedOnUtc.</param>
/// <param name="issuedTokenId">Initial value of IssuedTokenId.</param>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public static IssuedRequestToken CreateIssuedRequestToken(string token, string tokenSecret, global::System.DateTime createdOnUtc, int issuedTokenId)
{
IssuedRequestToken issuedRequestToken = new IssuedRequestToken();
@@ -1189,10 +1334,11 @@ namespace RelyingPartyLogic
return issuedRequestToken;
}
/// <summary>
- /// There are no comments for Property ConsumerVersionAsString in the schema.
+ /// There are no comments for property ConsumerVersionAsString in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string ConsumerVersionAsString
{
get
@@ -1208,14 +1354,18 @@ namespace RelyingPartyLogic
this.OnConsumerVersionAsStringChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _ConsumerVersionAsString;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnConsumerVersionAsStringChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnConsumerVersionAsStringChanged();
/// <summary>
- /// There are no comments for Property VerificationCode in the schema.
+ /// There are no comments for property VerificationCode in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string VerificationCode
{
get
@@ -1231,14 +1381,18 @@ namespace RelyingPartyLogic
this.OnVerificationCodeChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _VerificationCode;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnVerificationCodeChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnVerificationCodeChanged();
/// <summary>
- /// There are no comments for Property CallbackAsString in the schema.
+ /// There are no comments for property CallbackAsString in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string CallbackAsString
{
get
@@ -1254,8 +1408,11 @@ namespace RelyingPartyLogic
this.OnCallbackAsStringChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _CallbackAsString;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCallbackAsStringChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCallbackAsStringChanged();
}
/// <summary>
@@ -1276,6 +1433,7 @@ namespace RelyingPartyLogic
/// <param name="tokenSecret">Initial value of TokenSecret.</param>
/// <param name="createdOnUtc">Initial value of CreatedOnUtc.</param>
/// <param name="issuedTokenId">Initial value of IssuedTokenId.</param>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public static IssuedAccessToken CreateIssuedAccessToken(string token, string tokenSecret, global::System.DateTime createdOnUtc, int issuedTokenId)
{
IssuedAccessToken issuedAccessToken = new IssuedAccessToken();
@@ -1286,10 +1444,11 @@ namespace RelyingPartyLogic
return issuedAccessToken;
}
/// <summary>
- /// There are no comments for Property ExpirationDateUtc in the schema.
+ /// There are no comments for property ExpirationDateUtc in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.Nullable<global::System.DateTime> ExpirationDateUtc
{
get
@@ -1305,8 +1464,11 @@ namespace RelyingPartyLogic
this.OnExpirationDateUtcChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.Nullable<global::System.DateTime> _ExpirationDateUtc;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnExpirationDateUtcChanging(global::System.Nullable<global::System.DateTime> value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnExpirationDateUtcChanged();
}
/// <summary>
@@ -1328,6 +1490,7 @@ namespace RelyingPartyLogic
/// <param name="code">Initial value of Code.</param>
/// <param name="issuedUtc">Initial value of IssuedUtc.</param>
/// <param name="expiresUtc">Initial value of ExpiresUtc.</param>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public static Nonce CreateNonce(int nonceId, string context, string code, global::System.DateTime issuedUtc, global::System.DateTime expiresUtc)
{
Nonce nonce = new Nonce();
@@ -1339,10 +1502,11 @@ namespace RelyingPartyLogic
return nonce;
}
/// <summary>
- /// There are no comments for Property NonceId in the schema.
+ /// There are no comments for property NonceId in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public int NonceId
{
get
@@ -1358,14 +1522,18 @@ namespace RelyingPartyLogic
this.OnNonceIdChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _NonceId;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnNonceIdChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnNonceIdChanged();
/// <summary>
/// Gets or sets the Provider Endpoint URL the nonce came from.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string Context
{
get
@@ -1381,14 +1549,18 @@ namespace RelyingPartyLogic
this.OnContextChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _Context;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnContextChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnContextChanged();
/// <summary>
- /// There are no comments for Property Code in the schema.
+ /// There are no comments for property Code in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string Code
{
get
@@ -1404,14 +1576,18 @@ namespace RelyingPartyLogic
this.OnCodeChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _Code;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCodeChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnCodeChanged();
/// <summary>
- /// There are no comments for Property IssuedUtc in the schema.
+ /// There are no comments for property IssuedUtc in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.DateTime IssuedUtc
{
get
@@ -1427,14 +1603,18 @@ namespace RelyingPartyLogic
this.OnIssuedUtcChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.DateTime _IssuedUtc;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnIssuedUtcChanging(global::System.DateTime value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnIssuedUtcChanged();
/// <summary>
- /// There are no comments for Property ExpiresUtc in the schema.
+ /// There are no comments for property ExpiresUtc in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.DateTime ExpiresUtc
{
get
@@ -1450,8 +1630,11 @@ namespace RelyingPartyLogic
this.OnExpiresUtcChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.DateTime _ExpiresUtc;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnExpiresUtcChanging(global::System.DateTime value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnExpiresUtcChanged();
}
/// <summary>
@@ -1474,6 +1657,7 @@ namespace RelyingPartyLogic
/// <param name="expirationUtc">Initial value of ExpirationUtc.</param>
/// <param name="privateData">Initial value of PrivateData.</param>
/// <param name="privateDataLength">Initial value of PrivateDataLength.</param>
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public static OpenIdAssociation CreateOpenIdAssociation(int associationId, string distinguishingFactor, string associationHandle, global::System.DateTime expirationUtc, byte[] privateData, int privateDataLength)
{
OpenIdAssociation openIdAssociation = new OpenIdAssociation();
@@ -1486,10 +1670,11 @@ namespace RelyingPartyLogic
return openIdAssociation;
}
/// <summary>
- /// There are no comments for Property AssociationId in the schema.
+ /// There are no comments for property AssociationId in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public int AssociationId
{
get
@@ -1505,14 +1690,18 @@ namespace RelyingPartyLogic
this.OnAssociationIdChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _AssociationId;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnAssociationIdChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnAssociationIdChanged();
/// <summary>
/// Gets or sets the Provider Endpoint URL the association is with.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string DistinguishingFactor
{
get
@@ -1528,14 +1717,18 @@ namespace RelyingPartyLogic
this.OnDistinguishingFactorChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _DistinguishingFactor;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnDistinguishingFactorChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnDistinguishingFactorChanged();
/// <summary>
- /// There are no comments for Property AssociationHandle in the schema.
+ /// There are no comments for property AssociationHandle in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public string AssociationHandle
{
get
@@ -1551,14 +1744,18 @@ namespace RelyingPartyLogic
this.OnAssociationHandleChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private string _AssociationHandle;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnAssociationHandleChanging(string value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnAssociationHandleChanged();
/// <summary>
- /// There are no comments for Property ExpirationUtc in the schema.
+ /// There are no comments for property ExpirationUtc in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.DateTime ExpirationUtc
{
get
@@ -1574,14 +1771,18 @@ namespace RelyingPartyLogic
this.OnExpirationUtcChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private global::System.DateTime _ExpirationUtc;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnExpirationUtcChanging(global::System.DateTime value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnExpirationUtcChanged();
/// <summary>
- /// There are no comments for Property PrivateData in the schema.
+ /// There are no comments for property PrivateData in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public byte[] PrivateData
{
get
@@ -1597,14 +1798,18 @@ namespace RelyingPartyLogic
this.OnPrivateDataChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private byte[] _PrivateData;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnPrivateDataChanging(byte[] value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnPrivateDataChanged();
/// <summary>
- /// There are no comments for Property PrivateDataLength in the schema.
+ /// There are no comments for property PrivateDataLength in the schema.
/// </summary>
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public int PrivateDataLength
{
get
@@ -1620,8 +1825,11 @@ namespace RelyingPartyLogic
this.OnPrivateDataLengthChanged();
}
}
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
private int _PrivateDataLength;
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnPrivateDataLengthChanging(int value);
+ [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
partial void OnPrivateDataLengthChanged();
}
}
diff --git a/projecttemplates/RelyingPartyLogic/Model.edmx b/projecttemplates/RelyingPartyLogic/Model.edmx
index f3bb739..9d7ec7b 100644
--- a/projecttemplates/RelyingPartyLogic/Model.edmx
+++ b/projecttemplates/RelyingPartyLogic/Model.edmx
@@ -4,16 +4,16 @@
<edmx:Runtime>
<!-- SSDL content -->
<edmx:StorageModels>
- <Schema Namespace="DatabaseModel.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
+ <Schema Namespace="DatabaseModel.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
<EntityContainer Name="DatabaseModelStoreContainer">
- <EntitySet Name="AuthenticationToken" EntityType="DatabaseModel.Store.AuthenticationToken" store:Type="Tables" Schema="dbo" />
- <EntitySet Name="Consumer" EntityType="DatabaseModel.Store.Consumer" store:Type="Tables" Schema="dbo" />
- <EntitySet Name="IssuedToken" EntityType="DatabaseModel.Store.IssuedToken" store:Type="Tables" Schema="dbo" />
- <EntitySet Name="Nonce" EntityType="DatabaseModel.Store.Nonce" store:Type="Tables" Schema="dbo" />
- <EntitySet Name="OpenIDAssociation" EntityType="DatabaseModel.Store.OpenIDAssociation" store:Type="Tables" Schema="dbo" />
- <EntitySet Name="Role" EntityType="DatabaseModel.Store.Role" store:Type="Tables" Schema="dbo" />
- <EntitySet Name="User" EntityType="DatabaseModel.Store.User" store:Type="Tables" Schema="dbo" />
- <EntitySet Name="UserRole" EntityType="DatabaseModel.Store.UserRole" store:Type="Tables" Schema="dbo" />
+ <EntitySet Name="AuthenticationToken" EntityType="DatabaseModel.Store.AuthenticationToken" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" />
+ <EntitySet Name="Consumer" EntityType="DatabaseModel.Store.Consumer" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" />
+ <EntitySet Name="IssuedToken" EntityType="DatabaseModel.Store.IssuedToken" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" />
+ <EntitySet Name="Nonce" EntityType="DatabaseModel.Store.Nonce" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" />
+ <EntitySet Name="OpenIDAssociation" EntityType="DatabaseModel.Store.OpenIDAssociation" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" />
+ <EntitySet Name="Role" EntityType="DatabaseModel.Store.Role" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" />
+ <EntitySet Name="User" EntityType="DatabaseModel.Store.User" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" />
+ <EntitySet Name="UserRole" EntityType="DatabaseModel.Store.UserRole" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" />
<AssociationSet Name="FK_AuthenticationToken_User" Association="DatabaseModel.Store.FK_AuthenticationToken_User">
<End Role="User" EntitySet="User" />
<End Role="AuthenticationToken" EntitySet="AuthenticationToken" />
@@ -243,11 +243,11 @@
<PropertyRef Name="UserId" /></Key>
<Property Name="FirstName" Type="String" MaxLength="50" Unicode="true" FixedLength="false" />
<Property Name="LastName" Type="String" MaxLength="50" Unicode="true" FixedLength="false" />
- <Property Name="EmailAddress" Type="String" MaxLength="100" Unicode="true" FixedLength="false" >
+ <Property Name="EmailAddress" Type="String" MaxLength="100" Unicode="true" FixedLength="false">
<Documentation>
<Summary>The email address claimed to be controlled by the user. Whether it is actually owned by the user is indicated by the EmailAddressVerified property.</Summary></Documentation></Property>
<NavigationProperty Name="Roles" Relationship="DatabaseModel.UserRole" FromRole="User" ToRole="Role" />
- <Property Name="EmailAddressVerified" Type="Boolean" Nullable="false" >
+ <Property Name="EmailAddressVerified" Type="Boolean" Nullable="false">
<Documentation>
<Summary>A value indicating whether the email address has been verified as actually owned by this user.</Summary></Documentation></Property>
<Property Name="CreatedOnUtc" Type="DateTime" Nullable="false" a:SetterAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" />
@@ -263,9 +263,9 @@
<PropertyRef Name="ConsumerId" /></Key>
<Property Name="ConsumerKey" Type="String" Nullable="false" />
<Property Name="ConsumerSecret" Type="String" Nullable="true" />
- <Property Name="X509CertificateAsBinary" Type="Binary" Nullable="true" a:SetterAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" a:GetterAccess="Private" />
+ <Property Name="X509CertificateAsBinary" Type="Binary" Nullable="true" a:SetterAccess="Private" a:GetterAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" />
<Property Name="CallbackAsString" Type="String" Nullable="true" />
- <Property Name="VerificationCodeFormatAsInt" Type="Int32" Nullable="false" a:GetterAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" a:SetterAccess="Private" />
+ <Property Name="VerificationCodeFormatAsInt" Type="Int32" Nullable="false" a:GetterAccess="Private" a:SetterAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" />
<Property Name="VerificationCodeLength" Type="Int32" Nullable="false" />
<Property Name="ConsumerId" Type="Int32" Nullable="false" a:SetterAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" />
<Property Name="Name" Type="String" Nullable="true" />
@@ -281,9 +281,9 @@
<NavigationProperty Name="Consumer" Relationship="DatabaseModel.FK_IssuedToken_Consumer1" FromRole="IssuedToken" ToRole="Consumer" />
<NavigationProperty Name="User" Relationship="DatabaseModel.FK_IssuedToken_User1" FromRole="IssuedToken" ToRole="User" /></EntityType>
<EntityType Name="IssuedRequestToken" BaseType="DatabaseModel.IssuedToken">
- <Property Name="ConsumerVersionAsString" Type="String" Nullable="false" a:GetterAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" a:SetterAccess="Private" />
+ <Property Name="ConsumerVersionAsString" Type="String" Nullable="false" a:GetterAccess="Private" a:SetterAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" />
<Property Name="VerificationCode" Type="String" Nullable="true" />
- <Property Name="CallbackAsString" Type="String" Nullable="true" a:GetterAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" a:SetterAccess="Private" /></EntityType>
+ <Property Name="CallbackAsString" Type="String" Nullable="true" a:GetterAccess="Private" a:SetterAccess="Private" xmlns:a="http://schemas.microsoft.com/ado/2006/04/codegeneration" /></EntityType>
<EntityType Name="IssuedAccessToken" BaseType="DatabaseModel.IssuedToken">
<Property Name="ExpirationDateUtc" Type="DateTime" Nullable="true" /></EntityType>
<Association Name="FK_AuthenticationToken_User">
@@ -299,7 +299,7 @@
<Key>
<PropertyRef Name="NonceId" /></Key>
<Property Name="NonceId" Type="Int32" Nullable="false" />
- <Property Name="Context" Type="String" Nullable="false" >
+ <Property Name="Context" Type="String" Nullable="false">
<Documentation>
<Summary>Gets or sets the Provider Endpoint URL the nonce came from.</Summary></Documentation></Property>
<Property Name="Code" Type="String" Nullable="false" />
@@ -309,7 +309,7 @@
<Key>
<PropertyRef Name="AssociationId" /></Key>
<Property Name="AssociationId" Type="Int32" Nullable="false" />
- <Property Name="DistinguishingFactor" Type="String" Nullable="false" >
+ <Property Name="DistinguishingFactor" Type="String" Nullable="false">
<Documentation>
<Summary>Gets or sets the Provider Endpoint URL the association is with.</Summary></Documentation></Property>
<Property Name="AssociationHandle" Type="String" Nullable="false" />
@@ -379,14 +379,14 @@
<ScalarProperty Name="Token" ColumnName="Token" />
</MappingFragment></EntityTypeMapping>
<EntityTypeMapping TypeName="IsTypeOf(DatabaseModel.IssuedRequestToken)">
- <MappingFragment StoreEntitySet="IssuedToken" >
+ <MappingFragment StoreEntitySet="IssuedToken">
<ScalarProperty Name="IssuedTokenId" ColumnName="IssuedTokenId" />
<ScalarProperty Name="CallbackAsString" ColumnName="Callback" />
<ScalarProperty Name="ConsumerVersionAsString" ColumnName="ConsumerVersion" />
<ScalarProperty Name="VerificationCode" ColumnName="VerificationCode" />
<Condition ColumnName="IsAccessToken" Value="0" /></MappingFragment></EntityTypeMapping>
<EntityTypeMapping TypeName="IsTypeOf(DatabaseModel.IssuedAccessToken)">
- <MappingFragment StoreEntitySet="IssuedToken" >
+ <MappingFragment StoreEntitySet="IssuedToken">
<ScalarProperty Name="IssuedTokenId" ColumnName="IssuedTokenId" />
<ScalarProperty Name="ExpirationDateUtc" ColumnName="ExpirationDate" />
<Condition ColumnName="IsAccessToken" Value="1" /></MappingFragment></EntityTypeMapping></EntitySetMapping>
@@ -428,20 +428,20 @@
</edmx:Mappings>
</edmx:Runtime>
<!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
- <edmx:Designer xmlns="http://schemas.microsoft.com/ado/2007/06/edmx">
+ <edmx:Designer>
<edmx:Connection>
- <DesignerInfoPropertySet>
+ <DesignerInfoPropertySet xmlns="http://schemas.microsoft.com/ado/2007/06/edmx">
<DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" />
</DesignerInfoPropertySet>
</edmx:Connection>
<edmx:Options>
- <DesignerInfoPropertySet>
+ <DesignerInfoPropertySet xmlns="http://schemas.microsoft.com/ado/2007/06/edmx">
<DesignerProperty Name="ValidateOnBuild" Value="true" />
</DesignerInfoPropertySet>
</edmx:Options>
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
- <Diagram Name="Model" ZoomLevel="56">
+ <Diagram Name="Model" ZoomLevel="56" xmlns="http://schemas.microsoft.com/ado/2007/06/edmx">
<EntityTypeShape EntityType="DatabaseModel.AuthenticationToken" Width="1.875" PointX="5.25" PointY="0.75" Height="2.5571907552083339" IsExpanded="true" />
<EntityTypeShape EntityType="DatabaseModel.Role" Width="1.5" PointX="0.75" PointY="1.25" Height="1.59568359375" IsExpanded="true" />
<EntityTypeShape EntityType="DatabaseModel.User" Width="1.75" PointX="2.875" PointY="0.5" Height="3.1340950520833339" IsExpanded="true" />
@@ -463,14 +463,14 @@
<ConnectorPoint PointX="6.875" PointY="6.6244921875" />
<ConnectorPoint PointX="6.875" PointY="7" />
</InheritanceConnector>
- <AssociationConnector Association="DatabaseModel.FK_AuthenticationToken_User" >
+ <AssociationConnector Association="DatabaseModel.FK_AuthenticationToken_User">
<ConnectorPoint PointX="4.625" PointY="1.4776205358072916" />
<ConnectorPoint PointX="5.25" PointY="1.4776205358072916" /></AssociationConnector>
- <AssociationConnector Association="DatabaseModel.FK_IssuedToken_Consumer1" >
+ <AssociationConnector Association="DatabaseModel.FK_IssuedToken_Consumer1">
<ConnectorPoint PointX="2.625" PointY="4.8322661624685885" />
<ConnectorPoint PointX="5.25" PointY="4.8322661624685885" />
</AssociationConnector>
- <AssociationConnector Association="DatabaseModel.FK_IssuedToken_User1" >
+ <AssociationConnector Association="DatabaseModel.FK_IssuedToken_User1">
<ConnectorPoint PointX="3.75" PointY="3.6340950520833339" />
<ConnectorPoint PointX="3.75" PointY="4.0627779870647478" />
<ConnectorPoint PointX="5.25" PointY="4.0627779870647478" /></AssociationConnector>
diff --git a/projecttemplates/RelyingPartyLogic/RelyingPartyLogic.csproj b/projecttemplates/RelyingPartyLogic/RelyingPartyLogic.csproj
index 9eba352..9f58bfa 100644
--- a/projecttemplates/RelyingPartyLogic/RelyingPartyLogic.csproj
+++ b/projecttemplates/RelyingPartyLogic/RelyingPartyLogic.csproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -12,6 +12,26 @@
<AssemblyName>RelyingPartyLogic</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <IsWebBootstrapper>false</IsWebBootstrapper>
+ <TargetFrameworkProfile />
+ <PublishUrl>publish\</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Disk</InstallFrom>
+ <UpdateEnabled>false</UpdateEnabled>
+ <UpdateMode>Foreground</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>true</MapFileExtensions>
+ <ApplicationRevision>0</ApplicationRevision>
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -21,6 +41,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -29,6 +50,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
@@ -125,6 +147,23 @@
<ItemGroup>
<EmbeddedResource Include="CreateDatabase.sql" />
</ItemGroup>
+ <ItemGroup>
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+ <Visible>False</Visible>
+ <ProductName>Windows Installer 3.1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/projecttemplates/RelyingPartyLogic/Utilities.cs b/projecttemplates/RelyingPartyLogic/Utilities.cs
index 57a1baa..47212e6 100644
--- a/projecttemplates/RelyingPartyLogic/Utilities.cs
+++ b/projecttemplates/RelyingPartyLogic/Utilities.cs
@@ -47,28 +47,24 @@ EXEC [dbo].[AddUser] 'admin', 'admin', '{1}', '{2}'
GO
";
var removeSnippets = new string[] { @"
-IF EXISTS (SELECT 1
- FROM [master].[dbo].[sysdatabases]
- WHERE [name] = N'$(DatabaseName)')
+IF IS_SRVROLEMEMBER(N'sysadmin') = 1
BEGIN
- ALTER DATABASE [$(DatabaseName)]
- SET HONOR_BROKER_PRIORITY OFF
- WITH ROLLBACK IMMEDIATE;
+ IF EXISTS (SELECT 1
+ FROM [master].[dbo].[sysdatabases]
+ WHERE [name] = N'$(DatabaseName)')
+ BEGIN
+ EXECUTE sp_executesql N'ALTER DATABASE [$(DatabaseName)]
+ SET HONOR_BROKER_PRIORITY OFF
+ WITH ROLLBACK IMMEDIATE';
+ END
+ END
+ELSE
+ BEGIN
+ PRINT N'The database settings cannot be modified. You must be a SysAdmin to apply these settings.';
END
-GO", @"
-PRINT N'Creating AutoCreatedLocal...';
-
-
-GO
-CREATE ROUTE [AutoCreatedLocal]
- AUTHORIZATION [dbo]
- WITH ADDRESS = N'LOCAL';
-
-
-GO
-" };
+GO" };
string databasePath = HttpContext.Current.Server.MapPath("~/App_Data/" + databaseName + ".mdf");
StringBuilder schemaSqlBuilder = new StringBuilder();
using (var sr = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream(DefaultNamespace + ".CreateDatabase.sql"))) {
diff --git a/projecttemplates/WebFormsRelyingParty.vstemplate b/projecttemplates/WebFormsRelyingParty.vstemplate
index e582d63..0773df2 100644
--- a/projecttemplates/WebFormsRelyingParty.vstemplate
+++ b/projecttemplates/WebFormsRelyingParty.vstemplate
@@ -2,9 +2,8 @@
<TemplateData>
<Name>ASP.NET OpenID-InfoCard RP</Name>
<RequiredFrameworkVersion>3.5</RequiredFrameworkVersion>
- <Description>An ASP.NET web forms web site that accepts OpenID and InfoCard logins</Description>
+ <Description>An ASP.NET web forms web site that accepts OpenID and InfoCard logins and acts as an OAuth service provider.</Description>
<ProjectType>CSharp</ProjectType>
- <ProjectSubType>Web</ProjectSubType>
<NumberOfParentCategoriesToRollUp>2</NumberOfParentCategoriesToRollUp>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
diff --git a/projecttemplates/WebFormsRelyingParty/GettingStarted.htm b/projecttemplates/WebFormsRelyingParty/Getting Started.htm
index c4fb3aa..c4fb3aa 100644
--- a/projecttemplates/WebFormsRelyingParty/GettingStarted.htm
+++ b/projecttemplates/WebFormsRelyingParty/Getting Started.htm
diff --git a/projecttemplates/WebFormsRelyingParty/Web.config b/projecttemplates/WebFormsRelyingParty/Web.config
index 2092ba0..eabe925 100644
--- a/projecttemplates/WebFormsRelyingParty/Web.config
+++ b/projecttemplates/WebFormsRelyingParty/Web.config
@@ -158,6 +158,7 @@
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Web.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
+ <remove assembly="DotNetOpenAuth.Contracts"/>
</assemblies>
</compilation>
<!--
diff --git a/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.csproj b/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.csproj
index 9db3c05..4d92530 100644
--- a/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.csproj
+++ b/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.csproj
@@ -1,4 +1,5 @@
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -11,6 +12,11 @@
<RootNamespace>WebFormsRelyingParty</RootNamespace>
<AssemblyName>WebFormsRelyingParty</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -20,6 +26,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -28,6 +35,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
@@ -36,12 +44,7 @@
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
- <Reference Include="System.Core">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Data.DataSetExtensions">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
+ <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data.Entity">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
@@ -58,6 +61,7 @@
<Reference Include="System.ServiceModel">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
+ <Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\Windows\assembly\GAC_MSIL\System.Web.Entity\3.5.0.0__b77a5c561934e089\System.Web.Entity.dll</HintPath>
@@ -66,9 +70,6 @@
<Reference Include="System.Web.Extensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
- <Reference Include="System.Xml.Linq">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
@@ -76,6 +77,7 @@
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
+ <Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Content Include="Members\AccountInfo.aspx" />
@@ -186,7 +188,7 @@
<Content Include="styles\Standard.css" />
</ItemGroup>
<ItemGroup>
- <Content Include="GettingStarted.htm" />
+ <Content Include="Getting Started.htm" />
<Content Include="images\infocard_23x16.png" />
<Content Include="images\myopenid.png" />
<Content Include="images\openid.gif" />
@@ -253,7 +255,7 @@
<Folder Include="bin\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.vstemplate b/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.vstemplate
index 6be2927..567e3a1 100644
--- a/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.vstemplate
+++ b/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.vstemplate
@@ -1,13 +1,13 @@
<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
<TemplateData>
<Name>ASP.NET OpenID-InfoCard RP</Name>
- <Description>An ASP.NET web forms web site that accepts OpenID and InfoCard logins</Description>
+ <Description>An ASP.NET web forms web site that accepts OpenID and InfoCard logins and acts as an OAuth service provider.</Description>
<ProjectType>CSharp</ProjectType>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
<TemplateContent>
<Project File="WebFormsRelyingParty.csproj" ReplaceParameters="true">
- <ProjectItem OpenInWebBrowser="true">GettingStarted.htm</ProjectItem>
+ <ProjectItem OpenInWebBrowser="true">Getting Started.htm</ProjectItem>
</Project>
</TemplateContent>
</VSTemplate> \ No newline at end of file
diff --git a/samples/DotNetOpenAuth.ApplicationBlock/DotNetOpenAuth.ApplicationBlock.csproj b/samples/DotNetOpenAuth.ApplicationBlock/DotNetOpenAuth.ApplicationBlock.csproj
index 976a325..28c4ff4 100644
--- a/samples/DotNetOpenAuth.ApplicationBlock/DotNetOpenAuth.ApplicationBlock.csproj
+++ b/samples/DotNetOpenAuth.ApplicationBlock/DotNetOpenAuth.ApplicationBlock.csproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -12,6 +12,26 @@
<AssemblyName>DotNetOpenAuth.ApplicationBlock</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <IsWebBootstrapper>false</IsWebBootstrapper>
+ <TargetFrameworkProfile />
+ <PublishUrl>publish\</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Disk</InstallFrom>
+ <UpdateEnabled>false</UpdateEnabled>
+ <UpdateMode>Foreground</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>true</MapFileExtensions>
+ <ApplicationRevision>0</ApplicationRevision>
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -21,6 +41,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -29,6 +50,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'CodeAnalysis|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -39,6 +61,7 @@
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
@@ -69,6 +92,23 @@
<Name>DotNetOpenAuth</Name>
</ProjectReference>
</ItemGroup>
+ <ItemGroup>
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+ <Visible>False</Visible>
+ <ProductName>Windows Installer 3.1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/samples/InfoCardRelyingParty/web.config b/samples/InfoCardRelyingParty/web.config
index d91f9e8..7599561 100644
--- a/samples/InfoCardRelyingParty/web.config
+++ b/samples/InfoCardRelyingParty/web.config
@@ -65,6 +65,7 @@
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <remove assembly="DotNetOpenAuth.Contracts"/>
</assemblies>
</compilation>
<pages>
diff --git a/samples/OAuthConsumer/Web.config b/samples/OAuthConsumer/Web.config
index 9467175..496da95 100644
--- a/samples/OAuthConsumer/Web.config
+++ b/samples/OAuthConsumer/Web.config
@@ -66,6 +66,7 @@
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <remove assembly="DotNetOpenAuth.Contracts"/>
</assemblies>
</compilation>
<!--
diff --git a/samples/OAuthConsumerWpf/OAuthConsumerWpf.csproj b/samples/OAuthConsumerWpf/OAuthConsumerWpf.csproj
index c91f0b4..1da5329 100644
--- a/samples/OAuthConsumerWpf/OAuthConsumerWpf.csproj
+++ b/samples/OAuthConsumerWpf/OAuthConsumerWpf.csproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -14,6 +14,26 @@
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <PublishUrl>publish\</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Disk</InstallFrom>
+ <UpdateEnabled>false</UpdateEnabled>
+ <UpdateMode>Foreground</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>true</MapFileExtensions>
+ <ApplicationRevision>0</ApplicationRevision>
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+ <IsWebBootstrapper>false</IsWebBootstrapper>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
+ <TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -23,6 +43,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -31,6 +52,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'CodeAnalysis|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -41,6 +63,7 @@
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
@@ -88,14 +111,20 @@
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
</ApplicationDefinition>
<Page Include="Authorize.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
</Page>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
</Page>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
@@ -175,6 +204,23 @@
<LastGenOutput>Reference.cs</LastGenOutput>
</None>
</ItemGroup>
+ <ItemGroup>
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+ <Visible>False</Visible>
+ <ProductName>Windows Installer 3.1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/samples/OAuthConsumerWpf/Properties/Resources.Designer.cs b/samples/OAuthConsumerWpf/Properties/Resources.Designer.cs
index 7ab595b..4daf53b 100644
--- a/samples/OAuthConsumerWpf/Properties/Resources.Designer.cs
+++ b/samples/OAuthConsumerWpf/Properties/Resources.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4912
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth.Samples.OAuthConsumerWpf.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
diff --git a/samples/OAuthConsumerWpf/Properties/Settings.Designer.cs b/samples/OAuthConsumerWpf/Properties/Settings.Designer.cs
index 57010d6..f1f42ca 100644
--- a/samples/OAuthConsumerWpf/Properties/Settings.Designer.cs
+++ b/samples/OAuthConsumerWpf/Properties/Settings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4912
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -12,7 +12,7 @@ namespace DotNetOpenAuth.Samples.OAuthConsumerWpf.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/samples/OAuthConsumerWpf/Service References/WcfSampleService/Reference.cs b/samples/OAuthConsumerWpf/Service References/WcfSampleService/Reference.cs
index 216c8b3..33bf064 100644
--- a/samples/OAuthConsumerWpf/Service References/WcfSampleService/Reference.cs
+++ b/samples/OAuthConsumerWpf/Service References/WcfSampleService/Reference.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4918
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -11,7 +11,7 @@
namespace DotNetOpenAuth.Samples.OAuthConsumerWpf.WcfSampleService {
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName="WcfSampleService.IDataApi")]
public interface IDataApi {
@@ -25,12 +25,12 @@ namespace DotNetOpenAuth.Samples.OAuthConsumerWpf.WcfSampleService {
string[] GetFavoriteSites();
}
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public interface IDataApiChannel : DotNetOpenAuth.Samples.OAuthConsumerWpf.WcfSampleService.IDataApi, System.ServiceModel.IClientChannel {
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class DataApiClient : System.ServiceModel.ClientBase<DotNetOpenAuth.Samples.OAuthConsumerWpf.WcfSampleService.IDataApi>, DotNetOpenAuth.Samples.OAuthConsumerWpf.WcfSampleService.IDataApi {
public DataApiClient() {
diff --git a/samples/OAuthServiceProvider/Web.config b/samples/OAuthServiceProvider/Web.config
index c21ebd4..3ea490f 100644
--- a/samples/OAuthServiceProvider/Web.config
+++ b/samples/OAuthServiceProvider/Web.config
@@ -61,6 +61,7 @@
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <remove assembly="DotNetOpenAuth.Contracts"/>
</assemblies>
</compilation>
<authentication mode="Forms">
diff --git a/samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj b/samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj
index 2860365..a2a56ba 100644
--- a/samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj
+++ b/samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..\</ProjectRoot>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -14,13 +14,33 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DotNetOpenAuth.OpenIdOfflineProvider</RootNamespace>
<AssemblyName>OpenIdOfflineProvider</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<UICulture>en-US</UICulture>
- <OutputPath Condition=" '$(OutputPath)' == '' ">bin\$(Configuration)\</OutputPath>
+ <TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v3.5</TargetFrameworkVersion>
+ <OutputPath>bin\$(TargetFrameworkVersion)\$(Configuration)\</OutputPath>
<ApplicationIcon>openid.ico</ApplicationIcon>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <IsWebBootstrapper>false</IsWebBootstrapper>
+ <TargetFrameworkProfile />
+ <PublishUrl>publish\</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Disk</InstallFrom>
+ <UpdateEnabled>false</UpdateEnabled>
+ <UpdateMode>Foreground</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>true</MapFileExtensions>
+ <ApplicationRevision>0</ApplicationRevision>
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -52,6 +72,7 @@
<CodeContractsRunInBackground>True</CodeContractsRunInBackground>
<CodeContractsShowSquigglies>True</CodeContractsShowSquigglies>
<CodeContractsRuntimeOnlyPublicSurface>False</CodeContractsRuntimeOnlyPublicSurface>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -59,16 +80,13 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\log4net.dll</HintPath>
</Reference>
- <Reference Include="Microsoft.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=736440c9b414ea16, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\lib\Microsoft.Contracts.dll</HintPath>
- </Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
@@ -99,14 +117,20 @@
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
</ApplicationDefinition>
<Page Include="CheckIdWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
</Page>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
</Page>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
@@ -158,6 +182,23 @@
<ItemGroup>
<Resource Include="openid.ico" />
</ItemGroup>
+ <ItemGroup>
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+ <Visible>False</Visible>
+ <ProductName>Windows Installer 3.1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" />
</Project>
diff --git a/samples/OpenIdOfflineProvider/Properties/Resources.Designer.cs b/samples/OpenIdOfflineProvider/Properties/Resources.Designer.cs
index ac28082..a0e18ee 100644
--- a/samples/OpenIdOfflineProvider/Properties/Resources.Designer.cs
+++ b/samples/OpenIdOfflineProvider/Properties/Resources.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4912
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth.OpenIdOfflineProvider.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
diff --git a/samples/OpenIdOfflineProvider/Properties/Settings.Designer.cs b/samples/OpenIdOfflineProvider/Properties/Settings.Designer.cs
index 014a460..f1e9c35 100644
--- a/samples/OpenIdOfflineProvider/Properties/Settings.Designer.cs
+++ b/samples/OpenIdOfflineProvider/Properties/Settings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4912
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -12,7 +12,7 @@ namespace DotNetOpenAuth.OpenIdOfflineProvider.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/samples/OpenIdProviderMvc/OpenIdProviderMvc.csproj b/samples/OpenIdProviderMvc/OpenIdProviderMvc.csproj
index 512ab71..a7a2296 100644
--- a/samples/OpenIdProviderMvc/OpenIdProviderMvc.csproj
+++ b/samples/OpenIdProviderMvc/OpenIdProviderMvc.csproj
@@ -1,17 +1,18 @@
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{AEA29D4D-396F-47F6-BC81-B58D4B855245}</ProjectGuid>
- <ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+ <ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OpenIdProviderMvc</RootNamespace>
<AssemblyName>OpenIdProviderMvc</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
+ <TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -21,6 +22,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -29,32 +31,30 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
+ <Reference Include="System.Core" />
<Reference Include="System.Data" />
- <Reference Include="System.Core">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Data.DataSetExtensions">
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Web.DynamicData" />
+ <Reference Include="System.Web.Entity" />
+ <Reference Include="System.ComponentModel.DataAnnotations">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\System.Web.Mvc.dll</HintPath>
</Reference>
- <Reference Include="System.Xml.Linq">
+ <Reference Include="System.Web" />
+ <Reference Include="System.Web.Extensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
- <Reference Include="System.Drawing" />
- <Reference Include="System.Web" />
- <Reference Include="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Web.Abstractions">
- <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\System.Web.Abstractions.dll</HintPath>
</Reference>
<Reference Include="System.Web.Routing">
- <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\System.Web.Routing.dll</HintPath>
</Reference>
<Reference Include="System.Xml" />
@@ -62,6 +62,7 @@
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
+ <Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Code\AccountMembershipService.cs" />
@@ -125,13 +126,13 @@
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target> -->
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
- <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
+ <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" />
</Target>
<ProjectExtensions>
<VisualStudio>
diff --git a/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js b/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js
index afd4566..2364244 100644
--- a/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js
+++ b/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js
@@ -31,6 +31,24 @@ Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode', false);
////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.JsonValidationField
+
+Sys.Mvc.$create_JsonValidationField = function Sys_Mvc_JsonValidationField() { return {}; }
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.JsonValidationOptions
+
+Sys.Mvc.$create_JsonValidationOptions = function Sys_Mvc_JsonValidationOptions() { return {}; }
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.JsonValidationRule
+
+Sys.Mvc.$create_JsonValidationRule = function Sys_Mvc_JsonValidationRule() { return {}; }
+
+
+////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.AjaxContext
Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) {
@@ -84,6 +102,12 @@ Sys.Mvc.AjaxContext.prototype = {
return this._loadingElement;
},
+ get_object: function Sys_Mvc_AjaxContext$get_object() {
+ /// <value type="Object"></value>
+ var executor = this.get_response();
+ return (executor) ? executor.get_object() : null;
+ },
+
get_response: function Sys_Mvc_AjaxContext$get_response() {
/// <value type="Sys.Net.WebRequestExecutor"></value>
return this._response;
@@ -124,10 +148,473 @@ Sys.Mvc.AsyncHyperlink.handleClick = function Sys_Mvc_AsyncHyperlink$handleClick
////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.FieldValidation
+
+Sys.Mvc.FieldValidation = function Sys_Mvc_FieldValidation(formValidation, fieldElements, validationMessageElement, replaceValidationMessageContents) {
+ /// <param name="formValidation" type="Sys.Mvc.FormValidation">
+ /// </param>
+ /// <param name="fieldElements" type="Array" elementType="Object" elementDomElement="true">
+ /// </param>
+ /// <param name="validationMessageElement" type="Object" domElement="true">
+ /// </param>
+ /// <param name="replaceValidationMessageContents" type="Boolean">
+ /// </param>
+ /// <field name="_hasTextChangedTag" type="String" static="true">
+ /// </field>
+ /// <field name="_hasValidationFiredTag" type="String" static="true">
+ /// </field>
+ /// <field name="_inputElementErrorCss" type="String" static="true">
+ /// </field>
+ /// <field name="_inputElementValidCss" type="String" static="true">
+ /// </field>
+ /// <field name="_validationMessageErrorCss" type="String" static="true">
+ /// </field>
+ /// <field name="_validationMessageValidCss" type="String" static="true">
+ /// </field>
+ /// <field name="_onBlurHandler" type="Sys.UI.DomEventHandler">
+ /// </field>
+ /// <field name="_onChangeHandler" type="Sys.UI.DomEventHandler">
+ /// </field>
+ /// <field name="_onInputHandler" type="Sys.UI.DomEventHandler">
+ /// </field>
+ /// <field name="_onPropertyChangeHandler" type="Sys.UI.DomEventHandler">
+ /// </field>
+ /// <field name="_errors" type="Array">
+ /// </field>
+ /// <field name="_fieldElements" type="Array" elementType="Object" elementDomElement="true">
+ /// </field>
+ /// <field name="_formValidation" type="Sys.Mvc.FormValidation">
+ /// </field>
+ /// <field name="_replaceValidationMessageContents" type="Boolean">
+ /// </field>
+ /// <field name="_validationMessageElement" type="Object" domElement="true">
+ /// </field>
+ /// <field name="_validators" type="Array">
+ /// </field>
+ this._errors = [];
+ this._validators = [];
+ this._formValidation = formValidation;
+ this._fieldElements = fieldElements;
+ this._validationMessageElement = validationMessageElement;
+ this._replaceValidationMessageContents = replaceValidationMessageContents;
+ this._onBlurHandler = Function.createDelegate(this, this._element_OnBlur);
+ this._onChangeHandler = Function.createDelegate(this, this._element_OnChange);
+ this._onInputHandler = Function.createDelegate(this, this._element_OnInput);
+ this._onPropertyChangeHandler = Function.createDelegate(this, this._element_OnPropertyChange);
+}
+Sys.Mvc.FieldValidation.prototype = {
+ _onBlurHandler: null,
+ _onChangeHandler: null,
+ _onInputHandler: null,
+ _onPropertyChangeHandler: null,
+ _fieldElements: null,
+ _formValidation: null,
+ _replaceValidationMessageContents: false,
+ _validationMessageElement: null,
+
+ addError: function Sys_Mvc_FieldValidation$addError(message) {
+ /// <param name="message" type="String">
+ /// </param>
+ this.addErrors([ message ]);
+ },
+
+ addErrors: function Sys_Mvc_FieldValidation$addErrors(messages) {
+ /// <param name="messages" type="Array" elementType="String">
+ /// </param>
+ if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) {
+ Array.addRange(this._errors, messages);
+ this._onErrorCountChanged();
+ }
+ },
+
+ addValidator: function Sys_Mvc_FieldValidation$addValidator(validator) {
+ /// <param name="validator" type="Sys.Mvc.Validator">
+ /// </param>
+ Array.add(this._validators, validator);
+ },
+
+ disableDynamicValidation: function Sys_Mvc_FieldValidation$disableDynamicValidation() {
+ for (var i = 0; i < this._fieldElements.length; i++) {
+ var fieldElement = this._fieldElements[i];
+ if (Sys.Mvc._validationUtil.elementSupportsEvent(fieldElement, 'onpropertychange')) {
+ Sys.UI.DomEvent.removeHandler(fieldElement, 'propertychange', this._onPropertyChangeHandler);
+ }
+ else {
+ Sys.UI.DomEvent.removeHandler(fieldElement, 'input', this._onInputHandler);
+ }
+ Sys.UI.DomEvent.removeHandler(fieldElement, 'change', this._onChangeHandler);
+ Sys.UI.DomEvent.removeHandler(fieldElement, 'blur', this._onBlurHandler);
+ }
+ },
+
+ _displayError: function Sys_Mvc_FieldValidation$_displayError() {
+ if (this._validationMessageElement) {
+ if (this._replaceValidationMessageContents) {
+ Sys.Mvc._validationUtil.setInnerText(this._validationMessageElement, this._errors[0]);
+ }
+ Sys.UI.DomElement.removeCssClass(this._validationMessageElement, Sys.Mvc.FieldValidation._validationMessageValidCss);
+ Sys.UI.DomElement.addCssClass(this._validationMessageElement, Sys.Mvc.FieldValidation._validationMessageErrorCss);
+ }
+ for (var i = 0; i < this._fieldElements.length; i++) {
+ var fieldElement = this._fieldElements[i];
+ Sys.UI.DomElement.removeCssClass(fieldElement, Sys.Mvc.FieldValidation._inputElementValidCss);
+ Sys.UI.DomElement.addCssClass(fieldElement, Sys.Mvc.FieldValidation._inputElementErrorCss);
+ }
+ },
+
+ _displaySuccess: function Sys_Mvc_FieldValidation$_displaySuccess() {
+ if (this._validationMessageElement) {
+ if (this._replaceValidationMessageContents) {
+ Sys.Mvc._validationUtil.setInnerText(this._validationMessageElement, '');
+ }
+ Sys.UI.DomElement.removeCssClass(this._validationMessageElement, Sys.Mvc.FieldValidation._validationMessageErrorCss);
+ Sys.UI.DomElement.addCssClass(this._validationMessageElement, Sys.Mvc.FieldValidation._validationMessageValidCss);
+ }
+ for (var i = 0; i < this._fieldElements.length; i++) {
+ var fieldElement = this._fieldElements[i];
+ Sys.UI.DomElement.removeCssClass(fieldElement, Sys.Mvc.FieldValidation._inputElementErrorCss);
+ Sys.UI.DomElement.addCssClass(fieldElement, Sys.Mvc.FieldValidation._inputElementValidCss);
+ }
+ },
+
+ _element_OnInput: function Sys_Mvc_FieldValidation$_element_OnInput(e) {
+ /// <param name="e" type="Sys.UI.DomEvent">
+ /// </param>
+ e.target[Sys.Mvc.FieldValidation._hasTextChangedTag] = true;
+ if (e.target[Sys.Mvc.FieldValidation._hasValidationFiredTag]) {
+ this.validate();
+ }
+ },
+
+ _element_OnBlur: function Sys_Mvc_FieldValidation$_element_OnBlur(e) {
+ /// <param name="e" type="Sys.UI.DomEvent">
+ /// </param>
+ if (e.target[Sys.Mvc.FieldValidation._hasTextChangedTag] || e.target[Sys.Mvc.FieldValidation._hasValidationFiredTag]) {
+ this.validate();
+ }
+ },
+
+ _element_OnChange: function Sys_Mvc_FieldValidation$_element_OnChange(e) {
+ /// <param name="e" type="Sys.UI.DomEvent">
+ /// </param>
+ e.target[Sys.Mvc.FieldValidation._hasTextChangedTag] = true;
+ },
+
+ _element_OnPropertyChange: function Sys_Mvc_FieldValidation$_element_OnPropertyChange(e) {
+ /// <param name="e" type="Sys.UI.DomEvent">
+ /// </param>
+ if (e.rawEvent.propertyName === 'value') {
+ e.target[Sys.Mvc.FieldValidation._hasTextChangedTag] = true;
+ if (e.target[Sys.Mvc.FieldValidation._hasValidationFiredTag]) {
+ this.validate();
+ }
+ }
+ },
+
+ enableDynamicValidation: function Sys_Mvc_FieldValidation$enableDynamicValidation() {
+ for (var i = 0; i < this._fieldElements.length; i++) {
+ var fieldElement = this._fieldElements[i];
+ if (Sys.Mvc._validationUtil.elementSupportsEvent(fieldElement, 'onpropertychange')) {
+ Sys.UI.DomEvent.addHandler(fieldElement, 'propertychange', this._onPropertyChangeHandler);
+ }
+ else {
+ Sys.UI.DomEvent.addHandler(fieldElement, 'input', this._onInputHandler);
+ }
+ Sys.UI.DomEvent.addHandler(fieldElement, 'change', this._onChangeHandler);
+ Sys.UI.DomEvent.addHandler(fieldElement, 'blur', this._onBlurHandler);
+ }
+ },
+
+ _getStringValue: function Sys_Mvc_FieldValidation$_getStringValue() {
+ /// <returns type="String"></returns>
+ return (this._fieldElements.length > 0) ? this._fieldElements[0].value : null;
+ },
+
+ _onErrorCountChanged: function Sys_Mvc_FieldValidation$_onErrorCountChanged() {
+ if (!this._errors.length) {
+ this._displaySuccess();
+ }
+ else {
+ this._displayError();
+ }
+ },
+
+ removeAllErrors: function Sys_Mvc_FieldValidation$removeAllErrors() {
+ Array.clear(this._errors);
+ this._onErrorCountChanged();
+ },
+
+ validate: function Sys_Mvc_FieldValidation$validate() {
+ /// <returns type="Array" elementType="String"></returns>
+ var allErrors = [];
+ for (var i = 0; i < this._validators.length; i++) {
+ var validator = this._validators[i];
+ var thisErrors = validator.validate(this, this._fieldElements, this._getStringValue());
+ if (thisErrors) {
+ Array.addRange(allErrors, thisErrors);
+ }
+ }
+ for (var i = 0; i < this._fieldElements.length; i++) {
+ var fieldElement = this._fieldElements[i];
+ fieldElement[Sys.Mvc.FieldValidation._hasValidationFiredTag] = true;
+ }
+ this.removeAllErrors();
+ this.addErrors(allErrors);
+ return allErrors;
+ }
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.FormValidation
+
+Sys.Mvc.FormValidation = function Sys_Mvc_FormValidation(formElement, validationSummaryElement) {
+ /// <param name="formElement" type="Object" domElement="true">
+ /// </param>
+ /// <param name="validationSummaryElement" type="Object" domElement="true">
+ /// </param>
+ /// <field name="_validationSummaryErrorCss" type="String" static="true">
+ /// </field>
+ /// <field name="_validationSummaryValidCss" type="String" static="true">
+ /// </field>
+ /// <field name="_formValidationTag" type="String" static="true">
+ /// </field>
+ /// <field name="_onSubmitHandler" type="Sys.UI.DomEventHandler">
+ /// </field>
+ /// <field name="_errors" type="Array">
+ /// </field>
+ /// <field name="_fieldValidations" type="Array">
+ /// </field>
+ /// <field name="_formElement" type="Object" domElement="true">
+ /// </field>
+ /// <field name="_validationSummaryElement" type="Object" domElement="true">
+ /// </field>
+ /// <field name="_validationSummaryULElement" type="Object" domElement="true">
+ /// </field>
+ this._errors = [];
+ this._fieldValidations = [];
+ this._formElement = formElement;
+ this._validationSummaryElement = validationSummaryElement;
+ formElement[Sys.Mvc.FormValidation._formValidationTag] = this;
+ if (validationSummaryElement) {
+ var ulElements = validationSummaryElement.getElementsByTagName('ul');
+ if (ulElements.length > 0) {
+ this._validationSummaryULElement = ulElements[0];
+ }
+ }
+ this._onSubmitHandler = Function.createDelegate(this, this._form_OnSubmit);
+}
+Sys.Mvc.FormValidation.enableClientValidation = function Sys_Mvc_FormValidation$enableClientValidation(options, userState) {
+ /// <param name="options" type="Sys.Mvc.JsonValidationOptions">
+ /// </param>
+ /// <param name="userState" type="Object">
+ /// </param>
+ Sys.Application.add_load(Function.createDelegate(null, function(sender, e) {
+ Sys.Mvc.FormValidation.parseJsonOptions(options);
+ }));
+}
+Sys.Mvc.FormValidation._getFormElementsWithName = function Sys_Mvc_FormValidation$_getFormElementsWithName(formElement, name) {
+ /// <param name="formElement" type="Object" domElement="true">
+ /// </param>
+ /// <param name="name" type="String">
+ /// </param>
+ /// <returns type="Array" elementType="Object" elementDomElement="true"></returns>
+ var allElementsWithNameInForm = [];
+ var allElementsWithName = document.getElementsByName(name);
+ for (var i = 0; i < allElementsWithName.length; i++) {
+ var thisElement = allElementsWithName[i];
+ if (Sys.Mvc.FormValidation._isElementInHierarchy(formElement, thisElement)) {
+ Array.add(allElementsWithNameInForm, thisElement);
+ }
+ }
+ return allElementsWithNameInForm;
+}
+Sys.Mvc.FormValidation.getValidationForForm = function Sys_Mvc_FormValidation$getValidationForForm(formElement) {
+ /// <param name="formElement" type="Object" domElement="true">
+ /// </param>
+ /// <returns type="Sys.Mvc.FormValidation"></returns>
+ return formElement[Sys.Mvc.FormValidation._formValidationTag];
+}
+Sys.Mvc.FormValidation._isElementInHierarchy = function Sys_Mvc_FormValidation$_isElementInHierarchy(parent, child) {
+ /// <param name="parent" type="Object" domElement="true">
+ /// </param>
+ /// <param name="child" type="Object" domElement="true">
+ /// </param>
+ /// <returns type="Boolean"></returns>
+ while (child) {
+ if (parent === child) {
+ return true;
+ }
+ child = child.parentNode;
+ }
+ return false;
+}
+Sys.Mvc.FormValidation.parseJsonOptions = function Sys_Mvc_FormValidation$parseJsonOptions(options) {
+ /// <param name="options" type="Sys.Mvc.JsonValidationOptions">
+ /// </param>
+ /// <returns type="Sys.Mvc.FormValidation"></returns>
+ var formElement = $get(options.FormId);
+ var validationSummaryElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(options.ValidationSummaryId)) ? $get(options.ValidationSummaryId) : null;
+ var formValidation = new Sys.Mvc.FormValidation(formElement, validationSummaryElement);
+ formValidation.enableDynamicValidation();
+ for (var i = 0; i < options.Fields.length; i++) {
+ var field = options.Fields[i];
+ var fieldElements = Sys.Mvc.FormValidation._getFormElementsWithName(formElement, field.FieldName);
+ var validationMessageElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(field.ValidationMessageId)) ? $get(field.ValidationMessageId) : null;
+ var fieldValidation = new Sys.Mvc.FieldValidation(formValidation, fieldElements, validationMessageElement, field.ReplaceValidationMessageContents);
+ for (var j = 0; j < field.ValidationRules.length; j++) {
+ var rule = field.ValidationRules[j];
+ var validator = Sys.Mvc.ValidatorRegistry.getValidator(rule);
+ if (validator) {
+ fieldValidation.addValidator(validator);
+ }
+ }
+ fieldValidation.enableDynamicValidation();
+ formValidation.addFieldValidation(fieldValidation);
+ }
+ return formValidation;
+}
+Sys.Mvc.FormValidation.prototype = {
+ _onSubmitHandler: null,
+ _formElement: null,
+ _validationSummaryElement: null,
+ _validationSummaryULElement: null,
+
+ addError: function Sys_Mvc_FormValidation$addError(message) {
+ /// <param name="message" type="String">
+ /// </param>
+ this.addErrors([ message ]);
+ },
+
+ addErrors: function Sys_Mvc_FormValidation$addErrors(messages) {
+ /// <param name="messages" type="Array" elementType="String">
+ /// </param>
+ if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) {
+ Array.addRange(this._errors, messages);
+ this._onErrorCountChanged();
+ }
+ },
+
+ addFieldValidation: function Sys_Mvc_FormValidation$addFieldValidation(validation) {
+ /// <param name="validation" type="Sys.Mvc.FieldValidation">
+ /// </param>
+ Array.add(this._fieldValidations, validation);
+ },
+
+ disableDynamicValidation: function Sys_Mvc_FormValidation$disableDynamicValidation() {
+ Sys.UI.DomEvent.removeHandler(this._formElement, 'submit', this._onSubmitHandler);
+ },
+
+ _displayError: function Sys_Mvc_FormValidation$_displayError() {
+ if (this._validationSummaryElement) {
+ if (this._validationSummaryULElement) {
+ Sys.Mvc._validationUtil.removeAllChildren(this._validationSummaryULElement);
+ for (var i = 0; i < this._errors.length; i++) {
+ var liElement = document.createElement('li');
+ Sys.Mvc._validationUtil.setInnerText(liElement, this._errors[i]);
+ this._validationSummaryULElement.appendChild(liElement);
+ }
+ }
+ Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormValidation._validationSummaryValidCss);
+ Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormValidation._validationSummaryErrorCss);
+ }
+ },
+
+ _displaySuccess: function Sys_Mvc_FormValidation$_displaySuccess() {
+ if (this._validationSummaryElement) {
+ if (this._validationSummaryULElement) {
+ this._validationSummaryULElement.innerHTML = '';
+ }
+ Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormValidation._validationSummaryErrorCss);
+ Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormValidation._validationSummaryValidCss);
+ }
+ },
+
+ enableDynamicValidation: function Sys_Mvc_FormValidation$enableDynamicValidation() {
+ Sys.UI.DomEvent.addHandler(this._formElement, 'submit', this._onSubmitHandler);
+ },
+
+ _form_OnSubmit: function Sys_Mvc_FormValidation$_form_OnSubmit(e) {
+ /// <param name="e" type="Sys.UI.DomEvent">
+ /// </param>
+ var form = e.target;
+ var errorMessages = this.validate(true);
+ if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(errorMessages)) {
+ e.preventDefault();
+ }
+ },
+
+ _onErrorCountChanged: function Sys_Mvc_FormValidation$_onErrorCountChanged() {
+ if (!this._errors.length) {
+ this._displaySuccess();
+ }
+ else {
+ this._displayError();
+ }
+ },
+
+ removeAllErrors: function Sys_Mvc_FormValidation$removeAllErrors() {
+ Array.clear(this._errors);
+ this._onErrorCountChanged();
+ },
+
+ validate: function Sys_Mvc_FormValidation$validate(replaceValidationSummary) {
+ /// <param name="replaceValidationSummary" type="Boolean">
+ /// </param>
+ /// <returns type="Array" elementType="String"></returns>
+ var allErrors = [];
+ for (var i = 0; i < this._fieldValidations.length; i++) {
+ var validation = this._fieldValidations[i];
+ var thisErrors = validation.validate();
+ if (thisErrors) {
+ Array.addRange(allErrors, thisErrors);
+ }
+ }
+ if (replaceValidationSummary) {
+ this.removeAllErrors();
+ this.addErrors(allErrors);
+ }
+ return allErrors;
+ }
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.MvcHelpers
Sys.Mvc.MvcHelpers = function Sys_Mvc_MvcHelpers() {
}
+Sys.Mvc.MvcHelpers._serializeSubmitButton = function Sys_Mvc_MvcHelpers$_serializeSubmitButton(element, offsetX, offsetY) {
+ /// <param name="element" type="Object" domElement="true">
+ /// </param>
+ /// <param name="offsetX" type="Number" integer="true">
+ /// </param>
+ /// <param name="offsetY" type="Number" integer="true">
+ /// </param>
+ /// <returns type="String"></returns>
+ if (element.disabled) {
+ return null;
+ }
+ var name = element.name;
+ if (name) {
+ var tagName = element.tagName.toUpperCase();
+ var encodedName = encodeURIComponent(name);
+ var inputElement = element;
+ if (tagName === 'INPUT') {
+ var type = inputElement.type;
+ if (type === 'submit') {
+ return encodedName + '=' + encodeURIComponent(inputElement.value);
+ }
+ else if (type === 'image') {
+ return encodedName + '.x=' + offsetX + '&' + encodedName + '.y=' + offsetY;
+ }
+ }
+ else if ((tagName === 'BUTTON') && (name.length) && (inputElement.type === 'submit')) {
+ return encodedName + '=' + encodeURIComponent(inputElement.value);
+ }
+ }
+ return null;
+}
Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(form) {
/// <param name="form" type="Object" domElement="true">
/// </param>
@@ -172,6 +659,11 @@ Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(f
formBody.append('&');
}
}
+ var additionalInput = form._additionalInput;
+ if (additionalInput) {
+ formBody.append(additionalInput);
+ formBody.append('&');
+ }
return formBody.toString();
}
Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url, verb, body, triggerElement, ajaxOptions) {
@@ -200,8 +692,14 @@ Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url
body += '&';
}
body += 'X-Requested-With=XMLHttpRequest';
+ var upperCaseVerb = verb.toUpperCase();
+ var isGetOrPost = (upperCaseVerb === 'GET' || upperCaseVerb === 'POST');
+ if (!isGetOrPost) {
+ body += '&';
+ body += 'X-HTTP-Method-Override=' + upperCaseVerb;
+ }
var requestBody = '';
- if (verb.toUpperCase() === 'GET' || verb.toUpperCase() === 'DELETE') {
+ if (upperCaseVerb === 'GET' || upperCaseVerb === 'DELETE') {
if (url.indexOf('?') > -1) {
if (!url.endsWith('&')) {
url += '&';
@@ -218,7 +716,13 @@ Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url
}
var request = new Sys.Net.WebRequest();
request.set_url(url);
- request.set_httpVerb(verb);
+ if (isGetOrPost) {
+ request.set_httpVerb(verb);
+ }
+ else {
+ request.set_httpVerb('POST');
+ request.get_headers()['X-HTTP-Method-Override'] = upperCaseVerb;
+ }
request.set_body(requestBody);
if (verb.toUpperCase() === 'PUT') {
request.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;';
@@ -314,6 +818,14 @@ Sys.Mvc.MvcHelpers.updateDomElement = function Sys_Mvc_MvcHelpers$updateDomEleme
Sys.Mvc.AsyncForm = function Sys_Mvc_AsyncForm() {
}
+Sys.Mvc.AsyncForm.handleClick = function Sys_Mvc_AsyncForm$handleClick(form, evt) {
+ /// <param name="form" type="Object" domElement="true">
+ /// </param>
+ /// <param name="evt" type="Sys.UI.DomEvent">
+ /// </param>
+ var additionalInput = Sys.Mvc.MvcHelpers._serializeSubmitButton(evt.target, evt.offsetX, evt.offsetY);
+ form._additionalInput = additionalInput;
+}
Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, evt, ajaxOptions) {
/// <param name="form" type="Object" domElement="true">
/// </param>
@@ -327,10 +839,369 @@ Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, e
}
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.RangeValidator
+
+Sys.Mvc.RangeValidator = function Sys_Mvc_RangeValidator(errorMessage, minimum, maximum) {
+ /// <param name="errorMessage" type="String">
+ /// </param>
+ /// <param name="minimum" type="Number">
+ /// </param>
+ /// <param name="maximum" type="Number">
+ /// </param>
+ /// <field name="_errorMessage$1" type="String">
+ /// </field>
+ /// <field name="_minimum$1" type="Number">
+ /// </field>
+ /// <field name="_maximum$1" type="Number">
+ /// </field>
+ Sys.Mvc.RangeValidator.initializeBase(this);
+ this._errorMessage$1 = errorMessage;
+ this._minimum$1 = minimum;
+ this._maximum$1 = maximum;
+}
+Sys.Mvc.RangeValidator._create = function Sys_Mvc_RangeValidator$_create(rule) {
+ /// <param name="rule" type="Sys.Mvc.JsonValidationRule">
+ /// </param>
+ /// <returns type="Sys.Mvc.RangeValidator"></returns>
+ var min = rule.ValidationParameters['minimum'];
+ var max = rule.ValidationParameters['maximum'];
+ return new Sys.Mvc.RangeValidator(rule.ErrorMessage, min, max);
+}
+Sys.Mvc.RangeValidator.prototype = {
+ _errorMessage$1: null,
+ _minimum$1: null,
+ _maximum$1: null,
+
+ validate: function Sys_Mvc_RangeValidator$validate(validation, elements, value) {
+ /// <param name="validation" type="Sys.Mvc.FieldValidation">
+ /// </param>
+ /// <param name="elements" type="Array" elementType="Object" elementDomElement="true">
+ /// </param>
+ /// <param name="value" type="String">
+ /// </param>
+ /// <returns type="Array" elementType="String"></returns>
+ if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
+ return null;
+ }
+ var n = Number.parseLocale(value);
+ return (isNaN(n) || n < this._minimum$1 || n > this._maximum$1) ? [ this._errorMessage$1 ] : null;
+ }
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.RegularExpressionValidator
+
+Sys.Mvc.RegularExpressionValidator = function Sys_Mvc_RegularExpressionValidator(errorMessage, pattern) {
+ /// <param name="errorMessage" type="String">
+ /// </param>
+ /// <param name="pattern" type="String">
+ /// </param>
+ /// <field name="_errorMessage$1" type="String">
+ /// </field>
+ /// <field name="_pattern$1" type="String">
+ /// </field>
+ Sys.Mvc.RegularExpressionValidator.initializeBase(this);
+ this._errorMessage$1 = errorMessage;
+ this._pattern$1 = pattern;
+}
+Sys.Mvc.RegularExpressionValidator._create = function Sys_Mvc_RegularExpressionValidator$_create(rule) {
+ /// <param name="rule" type="Sys.Mvc.JsonValidationRule">
+ /// </param>
+ /// <returns type="Sys.Mvc.RegularExpressionValidator"></returns>
+ var pattern = rule.ValidationParameters['pattern'];
+ return new Sys.Mvc.RegularExpressionValidator(rule.ErrorMessage, pattern);
+}
+Sys.Mvc.RegularExpressionValidator.prototype = {
+ _errorMessage$1: null,
+ _pattern$1: null,
+
+ validate: function Sys_Mvc_RegularExpressionValidator$validate(validation, elements, value) {
+ /// <param name="validation" type="Sys.Mvc.FieldValidation">
+ /// </param>
+ /// <param name="elements" type="Array" elementType="Object" elementDomElement="true">
+ /// </param>
+ /// <param name="value" type="String">
+ /// </param>
+ /// <returns type="Array" elementType="String"></returns>
+ if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
+ return null;
+ }
+ var regExp = new RegExp(this._pattern$1);
+ var matches = regExp.exec(value);
+ return (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(matches) && matches[0].length === value.length) ? null : [ this._errorMessage$1 ];
+ }
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.RequiredValidator
+
+Sys.Mvc.RequiredValidator = function Sys_Mvc_RequiredValidator(errorMessage) {
+ /// <param name="errorMessage" type="String">
+ /// </param>
+ /// <field name="_errorMessage$1" type="String">
+ /// </field>
+ Sys.Mvc.RequiredValidator.initializeBase(this);
+ this._errorMessage$1 = errorMessage;
+}
+Sys.Mvc.RequiredValidator._create = function Sys_Mvc_RequiredValidator$_create(rule) {
+ /// <param name="rule" type="Sys.Mvc.JsonValidationRule">
+ /// </param>
+ /// <returns type="Sys.Mvc.RequiredValidator"></returns>
+ return new Sys.Mvc.RequiredValidator(rule.ErrorMessage);
+}
+Sys.Mvc.RequiredValidator._isRadioInputElement$1 = function Sys_Mvc_RequiredValidator$_isRadioInputElement$1(element) {
+ /// <param name="element" type="Object" domElement="true">
+ /// </param>
+ /// <returns type="Boolean"></returns>
+ if (element.tagName.toUpperCase() === 'INPUT') {
+ var inputType = (element.type).toUpperCase();
+ if (inputType === 'RADIO') {
+ return true;
+ }
+ }
+ return false;
+}
+Sys.Mvc.RequiredValidator._isSelectInputElement$1 = function Sys_Mvc_RequiredValidator$_isSelectInputElement$1(element) {
+ /// <param name="element" type="Object" domElement="true">
+ /// </param>
+ /// <returns type="Boolean"></returns>
+ if (element.tagName.toUpperCase() === 'SELECT') {
+ return true;
+ }
+ return false;
+}
+Sys.Mvc.RequiredValidator._isTextualInputElement$1 = function Sys_Mvc_RequiredValidator$_isTextualInputElement$1(element) {
+ /// <param name="element" type="Object" domElement="true">
+ /// </param>
+ /// <returns type="Boolean"></returns>
+ if (element.tagName.toUpperCase() === 'INPUT') {
+ var inputType = (element.type).toUpperCase();
+ switch (inputType) {
+ case 'TEXT':
+ case 'PASSWORD':
+ case 'FILE':
+ return true;
+ }
+ }
+ if (element.tagName.toUpperCase() === 'TEXTAREA') {
+ return true;
+ }
+ return false;
+}
+Sys.Mvc.RequiredValidator.prototype = {
+ _errorMessage$1: null,
+
+ validate: function Sys_Mvc_RequiredValidator$validate(validation, elements, value) {
+ /// <param name="validation" type="Sys.Mvc.FieldValidation">
+ /// </param>
+ /// <param name="elements" type="Array" elementType="Object" elementDomElement="true">
+ /// </param>
+ /// <param name="value" type="String">
+ /// </param>
+ /// <returns type="Array" elementType="String"></returns>
+ if (!elements.length) {
+ return null;
+ }
+ var sampleElement = elements[0];
+ if (Sys.Mvc.RequiredValidator._isTextualInputElement$1(sampleElement)) {
+ return this._validateTextualInput$1(sampleElement);
+ }
+ if (Sys.Mvc.RequiredValidator._isRadioInputElement$1(sampleElement)) {
+ return this._validateRadioInput$1(elements);
+ }
+ if (Sys.Mvc.RequiredValidator._isSelectInputElement$1(sampleElement)) {
+ return this._validateSelectInput$1((sampleElement).options);
+ }
+ return null;
+ },
+
+ _validateRadioInput$1: function Sys_Mvc_RequiredValidator$_validateRadioInput$1(elements) {
+ /// <param name="elements" type="Array" elementType="Object" elementDomElement="true">
+ /// </param>
+ /// <returns type="Array" elementType="String"></returns>
+ for (var i = 0; i < elements.length; i++) {
+ var element = elements[i];
+ if (element.checked) {
+ return null;
+ }
+ }
+ return [ this._errorMessage$1 ];
+ },
+
+ _validateSelectInput$1: function Sys_Mvc_RequiredValidator$_validateSelectInput$1(optionElements) {
+ /// <param name="optionElements" type="DOMElementCollection">
+ /// </param>
+ /// <returns type="Array" elementType="String"></returns>
+ for (var i = 0; i < optionElements.length; i++) {
+ var element = optionElements[i];
+ if (element.selected) {
+ if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)) {
+ return null;
+ }
+ }
+ }
+ return [ this._errorMessage$1 ];
+ },
+
+ _validateTextualInput$1: function Sys_Mvc_RequiredValidator$_validateTextualInput$1(element) {
+ /// <param name="element" type="Object" domElement="true">
+ /// </param>
+ /// <returns type="Array" elementType="String"></returns>
+ return (Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)) ? [ this._errorMessage$1 ] : null;
+ }
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.StringLengthValidator
+
+Sys.Mvc.StringLengthValidator = function Sys_Mvc_StringLengthValidator(errorMessage, minLength, maxLength) {
+ /// <param name="errorMessage" type="String">
+ /// </param>
+ /// <param name="minLength" type="Number" integer="true">
+ /// </param>
+ /// <param name="maxLength" type="Number" integer="true">
+ /// </param>
+ /// <field name="_errorMessage$1" type="String">
+ /// </field>
+ /// <field name="_maxLength$1" type="Number" integer="true">
+ /// </field>
+ /// <field name="_minLength$1" type="Number" integer="true">
+ /// </field>
+ Sys.Mvc.StringLengthValidator.initializeBase(this);
+ this._errorMessage$1 = errorMessage;
+ this._minLength$1 = minLength;
+ this._maxLength$1 = maxLength;
+}
+Sys.Mvc.StringLengthValidator._create = function Sys_Mvc_StringLengthValidator$_create(rule) {
+ /// <param name="rule" type="Sys.Mvc.JsonValidationRule">
+ /// </param>
+ /// <returns type="Sys.Mvc.StringLengthValidator"></returns>
+ var minLength = rule.ValidationParameters['minimumLength'];
+ var maxLength = rule.ValidationParameters['maximumLength'];
+ return new Sys.Mvc.StringLengthValidator(rule.ErrorMessage, minLength, maxLength);
+}
+Sys.Mvc.StringLengthValidator.prototype = {
+ _errorMessage$1: null,
+ _maxLength$1: 0,
+ _minLength$1: 0,
+
+ validate: function Sys_Mvc_StringLengthValidator$validate(validation, elements, value) {
+ /// <param name="validation" type="Sys.Mvc.FieldValidation">
+ /// </param>
+ /// <param name="elements" type="Array" elementType="Object" elementDomElement="true">
+ /// </param>
+ /// <param name="value" type="String">
+ /// </param>
+ /// <returns type="Array" elementType="String"></returns>
+ if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
+ return null;
+ }
+ return (this._minLength$1 <= value.length && value.length <= this._maxLength$1) ? null : [ this._errorMessage$1 ];
+ }
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc._validationUtil
+
+Sys.Mvc._validationUtil = function Sys_Mvc__validationUtil() {
+}
+Sys.Mvc._validationUtil.arrayIsNullOrEmpty = function Sys_Mvc__validationUtil$arrayIsNullOrEmpty(array) {
+ /// <param name="array" type="Array" elementType="Object">
+ /// </param>
+ /// <returns type="Boolean"></returns>
+ return (!array || !array.length);
+}
+Sys.Mvc._validationUtil.stringIsNullOrEmpty = function Sys_Mvc__validationUtil$stringIsNullOrEmpty(value) {
+ /// <param name="value" type="String">
+ /// </param>
+ /// <returns type="Boolean"></returns>
+ return (!value || !value.length);
+}
+Sys.Mvc._validationUtil.elementSupportsEvent = function Sys_Mvc__validationUtil$elementSupportsEvent(element, eventAttributeName) {
+ /// <param name="element" type="Object" domElement="true">
+ /// </param>
+ /// <param name="eventAttributeName" type="String">
+ /// </param>
+ /// <returns type="Boolean"></returns>
+ return (eventAttributeName in element);
+}
+Sys.Mvc._validationUtil.removeAllChildren = function Sys_Mvc__validationUtil$removeAllChildren(element) {
+ /// <param name="element" type="Object" domElement="true">
+ /// </param>
+ while (element.firstChild) {
+ element.removeChild(element.firstChild);
+ }
+}
+Sys.Mvc._validationUtil.setInnerText = function Sys_Mvc__validationUtil$setInnerText(element, innerText) {
+ /// <param name="element" type="Object" domElement="true">
+ /// </param>
+ /// <param name="innerText" type="String">
+ /// </param>
+ var textNode = document.createTextNode(innerText);
+ Sys.Mvc._validationUtil.removeAllChildren(element);
+ element.appendChild(textNode);
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.Validator
+
+Sys.Mvc.Validator = function Sys_Mvc_Validator() {
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.ValidatorRegistry
+
+Sys.Mvc.ValidatorRegistry = function Sys_Mvc_ValidatorRegistry() {
+ /// <field name="_validators" type="Object" static="true">
+ /// </field>
+}
+Sys.Mvc.ValidatorRegistry.get_creators = function Sys_Mvc_ValidatorRegistry$get_creators() {
+ /// <value type="Object"></value>
+ return Sys.Mvc.ValidatorRegistry._validators;
+}
+Sys.Mvc.ValidatorRegistry.getValidator = function Sys_Mvc_ValidatorRegistry$getValidator(rule) {
+ /// <param name="rule" type="Sys.Mvc.JsonValidationRule">
+ /// </param>
+ /// <returns type="Sys.Mvc.Validator"></returns>
+ var creator = Sys.Mvc.ValidatorRegistry._validators[rule.ValidationType];
+ return (creator) ? creator(rule) : null;
+}
+Sys.Mvc.ValidatorRegistry._getDefaultValidators = function Sys_Mvc_ValidatorRegistry$_getDefaultValidators() {
+ /// <returns type="Object"></returns>
+ return { required: Function.createDelegate(null, Sys.Mvc.RequiredValidator._create), stringLength: Function.createDelegate(null, Sys.Mvc.StringLengthValidator._create), regularExpression: Function.createDelegate(null, Sys.Mvc.RegularExpressionValidator._create), range: Function.createDelegate(null, Sys.Mvc.RangeValidator._create) };
+}
+
+
Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');
Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');
+Sys.Mvc.FieldValidation.registerClass('Sys.Mvc.FieldValidation');
+Sys.Mvc.FormValidation.registerClass('Sys.Mvc.FormValidation');
Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');
Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm');
+Sys.Mvc.Validator.registerClass('Sys.Mvc.Validator');
+Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator', Sys.Mvc.Validator);
+Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator', Sys.Mvc.Validator);
+Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator', Sys.Mvc.Validator);
+Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator', Sys.Mvc.Validator);
+Sys.Mvc._validationUtil.registerClass('Sys.Mvc._validationUtil');
+Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry');
+Sys.Mvc.FieldValidation._hasTextChangedTag = '__MVC_HasTextChanged';
+Sys.Mvc.FieldValidation._hasValidationFiredTag = '__MVC_HasValidationFired';
+Sys.Mvc.FieldValidation._inputElementErrorCss = 'input-validation-error';
+Sys.Mvc.FieldValidation._inputElementValidCss = 'input-validation-valid';
+Sys.Mvc.FieldValidation._validationMessageErrorCss = 'field-validation-error';
+Sys.Mvc.FieldValidation._validationMessageValidCss = 'field-validation-valid';
+Sys.Mvc.FormValidation._validationSummaryErrorCss = 'validation-summary-errors';
+Sys.Mvc.FormValidation._validationSummaryValidCss = 'validation-summary-valid';
+Sys.Mvc.FormValidation._formValidationTag = '__MVC_FormValidation';
+Sys.Mvc.ValidatorRegistry._validators = Sys.Mvc.ValidatorRegistry._getDefaultValidators();
// ---- Do not remove this footer ----
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
diff --git a/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.js b/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.js
index 6d6a7e8..7bdc08b 100644
--- a/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.js
+++ b/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.js
@@ -5,19 +5,60 @@
Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_AjaxOptions=function(){return {};}
Sys.Mvc.InsertionMode=function(){};Sys.Mvc.InsertionMode.prototype = {replace:0,insertBefore:1,insertAfter:2}
-Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode',false);Sys.Mvc.AjaxContext=function(request,updateTarget,loadingElement,insertionMode){this.$3=request;this.$4=updateTarget;this.$1=loadingElement;this.$0=insertionMode;}
-Sys.Mvc.AjaxContext.prototype={$0:0,$1:null,$2:null,$3:null,$4:null,get_data:function(){if(this.$2){return this.$2.get_responseData();}else{return null;}},get_insertionMode:function(){return this.$0;},get_loadingElement:function(){return this.$1;},get_response:function(){return this.$2;},set_response:function(value){this.$2=value;return value;},get_request:function(){return this.$3;},get_updateTarget:function(){return this.$4;}}
+Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode',false);Sys.Mvc.$create_JsonValidationField=function(){return {};}
+Sys.Mvc.$create_JsonValidationOptions=function(){return {};}
+Sys.Mvc.$create_JsonValidationRule=function(){return {};}
+Sys.Mvc.AjaxContext=function(request,updateTarget,loadingElement,insertionMode){this.$3=request;this.$4=updateTarget;this.$1=loadingElement;this.$0=insertionMode;}
+Sys.Mvc.AjaxContext.prototype={$0:0,$1:null,$2:null,$3:null,$4:null,get_data:function(){if(this.$2){return this.$2.get_responseData();}else{return null;}},get_insertionMode:function(){return this.$0;},get_loadingElement:function(){return this.$1;},get_object:function(){var $0=this.get_response();return ($0)?$0.get_object():null;},get_response:function(){return this.$2;},set_response:function(value){this.$2=value;return value;},get_request:function(){return this.$3;},get_updateTarget:function(){return this.$4;}}
Sys.Mvc.AsyncHyperlink=function(){}
-Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$1(anchor.href,'post','',anchor,ajaxOptions);}
+Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$2(anchor.href,'post','',anchor,ajaxOptions);}
+Sys.Mvc.FieldValidation=function(formValidation,fieldElements,validationMessageElement,replaceValidationMessageContents){this.$A=[];this.$F=[];this.$C=formValidation;this.$B=fieldElements;this.$E=validationMessageElement;this.$D=replaceValidationMessageContents;this.$6=Function.createDelegate(this,this.$13);this.$7=Function.createDelegate(this,this.$14);this.$8=Function.createDelegate(this,this.$12);this.$9=Function.createDelegate(this,this.$15);}
+Sys.Mvc.FieldValidation.prototype={$6:null,$7:null,$8:null,$9:null,$B:null,$C:null,$D:false,$E:null,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$A,messages);this.$17();}},addValidator:function(validator){Array.add(this.$F,validator);},disableDynamicValidation:function(){for(var $0=0;$0<this.$B.length;$0++){var $1=this.$B[$0];if(Sys.Mvc._ValidationUtil.$2($1,'onpropertychange')){Sys.UI.DomEvent.removeHandler($1,'propertychange',this.$9);}else{Sys.UI.DomEvent.removeHandler($1,'input',this.$8);}Sys.UI.DomEvent.removeHandler($1,'change',this.$7);Sys.UI.DomEvent.removeHandler($1,'blur',this.$6);}},$10:function(){if(this.$E){if(this.$D){Sys.Mvc._ValidationUtil.$4(this.$E,this.$A[0]);}Sys.UI.DomElement.removeCssClass(this.$E,'field-validation-valid');Sys.UI.DomElement.addCssClass(this.$E,'field-validation-error');}for(var $0=0;$0<this.$B.length;$0++){var $1=this.$B[$0];Sys.UI.DomElement.removeCssClass($1,'input-validation-valid');Sys.UI.DomElement.addCssClass($1,'input-validation-error');}},$11:function(){if(this.$E){if(this.$D){Sys.Mvc._ValidationUtil.$4(this.$E,'');}Sys.UI.DomElement.removeCssClass(this.$E,'field-validation-error');Sys.UI.DomElement.addCssClass(this.$E,'field-validation-valid');}for(var $0=0;$0<this.$B.length;$0++){var $1=this.$B[$0];Sys.UI.DomElement.removeCssClass($1,'input-validation-error');Sys.UI.DomElement.addCssClass($1,'input-validation-valid');}},$12:function($p0){$p0.target['__MVC_HasTextChanged'] = true;if($p0.target['__MVC_HasValidationFired']){this.validate();}},$13:function($p0){if($p0.target['__MVC_HasTextChanged']||$p0.target['__MVC_HasValidationFired']){this.validate();}},$14:function($p0){$p0.target['__MVC_HasTextChanged'] = true;},$15:function($p0){if($p0.rawEvent.propertyName==='value'){$p0.target['__MVC_HasTextChanged'] = true;if($p0.target['__MVC_HasValidationFired']){this.validate();}}},enableDynamicValidation:function(){for(var $0=0;$0<this.$B.length;$0++){var $1=this.$B[$0];if(Sys.Mvc._ValidationUtil.$2($1,'onpropertychange')){Sys.UI.DomEvent.addHandler($1,'propertychange',this.$9);}else{Sys.UI.DomEvent.addHandler($1,'input',this.$8);}Sys.UI.DomEvent.addHandler($1,'change',this.$7);Sys.UI.DomEvent.addHandler($1,'blur',this.$6);}},$16:function(){return (this.$B.length>0)?this.$B[0].value:null;},$17:function(){if(!this.$A.length){this.$11();}else{this.$10();}},removeAllErrors:function(){Array.clear(this.$A);this.$17();},validate:function(){var $0=[];for(var $1=0;$1<this.$F.length;$1++){var $2=this.$F[$1];var $3=$2.validate(this,this.$B,this.$16());if($3){Array.addRange($0,$3);}}for(var $4=0;$4<this.$B.length;$4++){var $5=this.$B[$4];$5['__MVC_HasValidationFired'] = true;}this.removeAllErrors();this.addErrors($0);return $0;}}
+Sys.Mvc.FormValidation=function(formElement,validationSummaryElement){this.$4=[];this.$5=[];this.$6=formElement;this.$7=validationSummaryElement;formElement['__MVC_FormValidation'] = this;if(validationSummaryElement){var $0=validationSummaryElement.getElementsByTagName('ul');if($0.length>0){this.$8=$0[0];}}this.$3=Function.createDelegate(this,this.$B);}
+Sys.Mvc.FormValidation.enableClientValidation=function(options,userState){Sys.Application.add_load(Function.createDelegate(null,function($p1_0,$p1_1){
+Sys.Mvc.FormValidation.parseJsonOptions(options);}));}
+Sys.Mvc.FormValidation.$C=function($p0,$p1){var $0=[];var $1=document.getElementsByName($p1);for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];if(Sys.Mvc.FormValidation.$D($p0,$3)){Array.add($0,$3);}}return $0;}
+Sys.Mvc.FormValidation.getValidationForForm=function(formElement){return formElement['__MVC_FormValidation'];}
+Sys.Mvc.FormValidation.$D=function($p0,$p1){while($p1){if($p0===$p1){return true;}$p1=$p1.parentNode;}return false;}
+Sys.Mvc.FormValidation.parseJsonOptions=function(options){var $0=$get(options.FormId);var $1=(!Sys.Mvc._ValidationUtil.$1(options.ValidationSummaryId))?$get(options.ValidationSummaryId):null;var $2=new Sys.Mvc.FormValidation($0,$1);$2.enableDynamicValidation();for(var $3=0;$3<options.Fields.length;$3++){var $4=options.Fields[$3];var $5=Sys.Mvc.FormValidation.$C($0,$4.FieldName);var $6=(!Sys.Mvc._ValidationUtil.$1($4.ValidationMessageId))?$get($4.ValidationMessageId):null;var $7=new Sys.Mvc.FieldValidation($2,$5,$6,$4.ReplaceValidationMessageContents);for(var $8=0;$8<$4.ValidationRules.length;$8++){var $9=$4.ValidationRules[$8];var $A=Sys.Mvc.ValidatorRegistry.getValidator($9);if($A){$7.addValidator($A);}}$7.enableDynamicValidation();$2.addFieldValidation($7);}return $2;}
+Sys.Mvc.FormValidation.prototype={$3:null,$6:null,$7:null,$8:null,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$4,messages);this.$E();}},addFieldValidation:function(validation){Array.add(this.$5,validation);},disableDynamicValidation:function(){Sys.UI.DomEvent.removeHandler(this.$6,'submit',this.$3);},$9:function(){if(this.$7){if(this.$8){Sys.Mvc._ValidationUtil.$3(this.$8);for(var $0=0;$0<this.$4.length;$0++){var $1=document.createElement('li');Sys.Mvc._ValidationUtil.$4($1,this.$4[$0]);this.$8.appendChild($1);}}Sys.UI.DomElement.removeCssClass(this.$7,'validation-summary-valid');Sys.UI.DomElement.addCssClass(this.$7,'validation-summary-errors');}},$A:function(){if(this.$7){if(this.$8){this.$8.innerHTML='';}Sys.UI.DomElement.removeCssClass(this.$7,'validation-summary-errors');Sys.UI.DomElement.addCssClass(this.$7,'validation-summary-valid');}},enableDynamicValidation:function(){Sys.UI.DomEvent.addHandler(this.$6,'submit',this.$3);},$B:function($p0){var $0=$p0.target;var $1=this.validate(true);if(!Sys.Mvc._ValidationUtil.$0($1)){$p0.preventDefault();}},$E:function(){if(!this.$4.length){this.$A();}else{this.$9();}},removeAllErrors:function(){Array.clear(this.$4);this.$E();},validate:function(replaceValidationSummary){var $0=[];for(var $1=0;$1<this.$5.length;$1++){var $2=this.$5[$1];var $3=$2.validate();if($3){Array.addRange($0,$3);}}if(replaceValidationSummary){this.removeAllErrors();this.addErrors($0);}return $0;}}
Sys.Mvc.MvcHelpers=function(){}
-Sys.Mvc.MvcHelpers.$0=function($p0){var $0=$p0.elements;var $1=new Sys.StringBuilder();var $2=$0.length;for(var $3=0;$3<$2;$3++){var $4=$0[$3];var $5=$4.name;if(!$5||!$5.length){continue;}var $6=$4.tagName.toUpperCase();if($6==='INPUT'){var $7=$4;var $8=$7.type;if(($8==='text')||($8==='password')||($8==='hidden')||((($8==='checkbox')||($8==='radio'))&&$4.checked)){$1.append(encodeURIComponent($5));$1.append('=');$1.append(encodeURIComponent($7.value));$1.append('&');}}else if($6==='SELECT'){var $9=$4;var $A=$9.options.length;for(var $B=0;$B<$A;$B++){var $C=$9.options[$B];if($C.selected){$1.append(encodeURIComponent($5));$1.append('=');$1.append(encodeURIComponent($C.value));$1.append('&');}}}else if($6==='TEXTAREA'){$1.append(encodeURIComponent($5));$1.append('=');$1.append(encodeURIComponent(($4.value)));$1.append('&');}}return $1.toString();}
-Sys.Mvc.MvcHelpers.$1=function($p0,$p1,$p2,$p3,$p4){if($p4.confirm){if(!confirm($p4.confirm)){return;}}if($p4.url){$p0=$p4.url;}if($p4.httpMethod){$p1=$p4.httpMethod;}if($p2.length>0&&!$p2.endsWith('&')){$p2+='&';}$p2+='X-Requested-With=XMLHttpRequest';var $0='';if($p1.toUpperCase()==='GET'||$p1.toUpperCase()==='DELETE'){if($p0.indexOf('?')>-1){if(!$p0.endsWith('&')){$p0+='&';}$p0+=$p2;}else{$p0+='?';$p0+=$p2;}}else{$0=$p2;}var $1=new Sys.Net.WebRequest();$1.set_url($p0);$1.set_httpVerb($p1);$1.set_body($0);if($p1.toUpperCase()==='PUT'){$1.get_headers()['Content-Type']='application/x-www-form-urlencoded;';}$1.get_headers()['X-Requested-With']='XMLHttpRequest';var $2=null;if($p4.updateTargetId){$2=$get($p4.updateTargetId);}var $3=null;if($p4.loadingElementId){$3=$get($p4.loadingElementId);}var $4=new Sys.Mvc.AjaxContext($1,$2,$3,$p4.insertionMode);var $5=true;if($p4.onBegin){$5=$p4.onBegin($4)!==false;}if($3){Sys.UI.DomElement.setVisible($4.get_loadingElement(),true);}if($5){$1.add_completed(Function.createDelegate(null,function($p1_0){
-Sys.Mvc.MvcHelpers.$2($1,$p4,$4);}));$1.invoke();}}
-Sys.Mvc.MvcHelpers.$2=function($p0,$p1,$p2){$p2.set_response($p0.get_executor());if($p1.onComplete&&$p1.onComplete($p2)===false){return;}var $0=$p2.get_response().get_statusCode();if(($0>=200&&$0<300)||$0===304||$0===1223){if($0!==204&&$0!==304&&$0!==1223){var $1=$p2.get_response().getResponseHeader('Content-Type');if(($1)&&($1.indexOf('application/x-javascript')!==-1)){eval($p2.get_data());}else{Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(),$p2.get_insertionMode(),$p2.get_data());}}if($p1.onSuccess){$p1.onSuccess($p2);}}else{if($p1.onFailure){$p1.onFailure($p2);}}if($p2.get_loadingElement()){Sys.UI.DomElement.setVisible($p2.get_loadingElement(),false);}}
+Sys.Mvc.MvcHelpers.$0=function($p0,$p1,$p2){if($p0.disabled){return null;}var $0=$p0.name;if($0){var $1=$p0.tagName.toUpperCase();var $2=encodeURIComponent($0);var $3=$p0;if($1==='INPUT'){var $4=$3.type;if($4==='submit'){return $2+'='+encodeURIComponent($3.value);}else if($4==='image'){return $2+'.x='+$p1+'&'+$2+'.y='+$p2;}}else if(($1==='BUTTON')&&($0.length)&&($3.type==='submit')){return $2+'='+encodeURIComponent($3.value);}}return null;}
+Sys.Mvc.MvcHelpers.$1=function($p0){var $0=$p0.elements;var $1=new Sys.StringBuilder();var $2=$0.length;for(var $4=0;$4<$2;$4++){var $5=$0[$4];var $6=$5.name;if(!$6||!$6.length){continue;}var $7=$5.tagName.toUpperCase();if($7==='INPUT'){var $8=$5;var $9=$8.type;if(($9==='text')||($9==='password')||($9==='hidden')||((($9==='checkbox')||($9==='radio'))&&$5.checked)){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($8.value));$1.append('&');}}else if($7==='SELECT'){var $A=$5;var $B=$A.options.length;for(var $C=0;$C<$B;$C++){var $D=$A.options[$C];if($D.selected){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($D.value));$1.append('&');}}}else if($7==='TEXTAREA'){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent(($5.value)));$1.append('&');}}var $3=$p0._additionalInput;if($3){$1.append($3);$1.append('&');}return $1.toString();}
+Sys.Mvc.MvcHelpers.$2=function($p0,$p1,$p2,$p3,$p4){if($p4.confirm){if(!confirm($p4.confirm)){return;}}if($p4.url){$p0=$p4.url;}if($p4.httpMethod){$p1=$p4.httpMethod;}if($p2.length>0&&!$p2.endsWith('&')){$p2+='&';}$p2+='X-Requested-With=XMLHttpRequest';var $0=$p1.toUpperCase();var $1=($0==='GET'||$0==='POST');if(!$1){$p2+='&';$p2+='X-HTTP-Method-Override='+$0;}var $2='';if($0==='GET'||$0==='DELETE'){if($p0.indexOf('?')>-1){if(!$p0.endsWith('&')){$p0+='&';}$p0+=$p2;}else{$p0+='?';$p0+=$p2;}}else{$2=$p2;}var $3=new Sys.Net.WebRequest();$3.set_url($p0);if($1){$3.set_httpVerb($p1);}else{$3.set_httpVerb('POST');$3.get_headers()['X-HTTP-Method-Override']=$0;}$3.set_body($2);if($p1.toUpperCase()==='PUT'){$3.get_headers()['Content-Type']='application/x-www-form-urlencoded;';}$3.get_headers()['X-Requested-With']='XMLHttpRequest';var $4=null;if($p4.updateTargetId){$4=$get($p4.updateTargetId);}var $5=null;if($p4.loadingElementId){$5=$get($p4.loadingElementId);}var $6=new Sys.Mvc.AjaxContext($3,$4,$5,$p4.insertionMode);var $7=true;if($p4.onBegin){$7=$p4.onBegin($6)!==false;}if($5){Sys.UI.DomElement.setVisible($6.get_loadingElement(),true);}if($7){$3.add_completed(Function.createDelegate(null,function($p1_0){
+Sys.Mvc.MvcHelpers.$3($3,$p4,$6);}));$3.invoke();}}
+Sys.Mvc.MvcHelpers.$3=function($p0,$p1,$p2){$p2.set_response($p0.get_executor());if($p1.onComplete&&$p1.onComplete($p2)===false){return;}var $0=$p2.get_response().get_statusCode();if(($0>=200&&$0<300)||$0===304||$0===1223){if($0!==204&&$0!==304&&$0!==1223){var $1=$p2.get_response().getResponseHeader('Content-Type');if(($1)&&($1.indexOf('application/x-javascript')!==-1)){eval($p2.get_data());}else{Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(),$p2.get_insertionMode(),$p2.get_data());}}if($p1.onSuccess){$p1.onSuccess($p2);}}else{if($p1.onFailure){$p1.onFailure($p2);}}if($p2.get_loadingElement()){Sys.UI.DomElement.setVisible($p2.get_loadingElement(),false);}}
Sys.Mvc.MvcHelpers.updateDomElement=function(target,insertionMode,content){if(target){switch(insertionMode){case 0:target.innerHTML=content;break;case 1:if(content&&content.length>0){target.innerHTML=content+target.innerHTML.trimStart();}break;case 2:if(content&&content.length>0){target.innerHTML=target.innerHTML.trimEnd()+content;}break;}}}
Sys.Mvc.AsyncForm=function(){}
-Sys.Mvc.AsyncForm.handleSubmit=function(form,evt,ajaxOptions){evt.preventDefault();var $0=Sys.Mvc.MvcHelpers.$0(form);Sys.Mvc.MvcHelpers.$1(form.action,form.method||'post',$0,form,ajaxOptions);}
-Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm');
+Sys.Mvc.AsyncForm.handleClick=function(form,evt){var $0=Sys.Mvc.MvcHelpers.$0(evt.target,evt.offsetX,evt.offsetY);form._additionalInput = $0;}
+Sys.Mvc.AsyncForm.handleSubmit=function(form,evt,ajaxOptions){evt.preventDefault();var $0=Sys.Mvc.MvcHelpers.$1(form);Sys.Mvc.MvcHelpers.$2(form.action,form.method||'post',$0,form,ajaxOptions);}
+Sys.Mvc.RangeValidator=function(errorMessage,minimum,maximum){Sys.Mvc.RangeValidator.initializeBase(this);this.$0=errorMessage;this.$1=minimum;this.$2=maximum;}
+Sys.Mvc.RangeValidator.$3=function($p0){var $0=$p0.ValidationParameters['minimum'];var $1=$p0.ValidationParameters['maximum'];return new Sys.Mvc.RangeValidator($p0.ErrorMessage,$0,$1);}
+Sys.Mvc.RangeValidator.prototype={$0:null,$1:null,$2:null,validate:function(validation,elements,value){if(Sys.Mvc._ValidationUtil.$1(value)){return null;}var $0=Number.parseLocale(value);return (isNaN($0)||$0<this.$1||$0>this.$2)?[this.$0]:null;}}
+Sys.Mvc.RegularExpressionValidator=function(errorMessage,pattern){Sys.Mvc.RegularExpressionValidator.initializeBase(this);this.$0=errorMessage;this.$1=pattern;}
+Sys.Mvc.RegularExpressionValidator.$2=function($p0){var $0=$p0.ValidationParameters['pattern'];return new Sys.Mvc.RegularExpressionValidator($p0.ErrorMessage,$0);}
+Sys.Mvc.RegularExpressionValidator.prototype={$0:null,$1:null,validate:function(validation,elements,value){if(Sys.Mvc._ValidationUtil.$1(value)){return null;}var $0=new RegExp(this.$1);var $1=$0.exec(value);return (!Sys.Mvc._ValidationUtil.$0($1)&&$1[0].length===value.length)?null:[this.$0];}}
+Sys.Mvc.RequiredValidator=function(errorMessage){Sys.Mvc.RequiredValidator.initializeBase(this);this.$0=errorMessage;}
+Sys.Mvc.RequiredValidator.$1=function($p0){return new Sys.Mvc.RequiredValidator($p0.ErrorMessage);}
+Sys.Mvc.RequiredValidator.$2=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();if($0==='RADIO'){return true;}}return false;}
+Sys.Mvc.RequiredValidator.$3=function($p0){if($p0.tagName.toUpperCase()==='SELECT'){return true;}return false;}
+Sys.Mvc.RequiredValidator.$4=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();switch($0){case 'TEXT':case 'PASSWORD':case 'FILE':return true;}}if($p0.tagName.toUpperCase()==='TEXTAREA'){return true;}return false;}
+Sys.Mvc.RequiredValidator.prototype={$0:null,validate:function(validation,elements,value){if(!elements.length){return null;}var $0=elements[0];if(Sys.Mvc.RequiredValidator.$4($0)){return this.$7($0);}if(Sys.Mvc.RequiredValidator.$2($0)){return this.$5(elements);}if(Sys.Mvc.RequiredValidator.$3($0)){return this.$6(($0).options);}return null;},$5:function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.checked){return null;}}return [this.$0];},$6:function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.selected){if(!Sys.Mvc._ValidationUtil.$1($1.value)){return null;}}}return [this.$0];},$7:function($p0){return (Sys.Mvc._ValidationUtil.$1($p0.value))?[this.$0]:null;}}
+Sys.Mvc.StringLengthValidator=function(errorMessage,minLength,maxLength){Sys.Mvc.StringLengthValidator.initializeBase(this);this.$0=errorMessage;this.$2=minLength;this.$1=maxLength;}
+Sys.Mvc.StringLengthValidator.$3=function($p0){var $0=$p0.ValidationParameters['minimumLength'];var $1=$p0.ValidationParameters['maximumLength'];return new Sys.Mvc.StringLengthValidator($p0.ErrorMessage,$0,$1);}
+Sys.Mvc.StringLengthValidator.prototype={$0:null,$1:0,$2:0,validate:function(validation,elements,value){if(Sys.Mvc._ValidationUtil.$1(value)){return null;}return (this.$2<=value.length&&value.length<=this.$1)?null:[this.$0];}}
+Sys.Mvc._ValidationUtil=function(){}
+Sys.Mvc._ValidationUtil.$0=function($p0){return (!$p0||!$p0.length);}
+Sys.Mvc._ValidationUtil.$1=function($p0){return (!$p0||!$p0.length);}
+Sys.Mvc._ValidationUtil.$2=function($p0,$p1){return ($p1 in $p0);}
+Sys.Mvc._ValidationUtil.$3=function($p0){while($p0.firstChild){$p0.removeChild($p0.firstChild);}}
+Sys.Mvc._ValidationUtil.$4=function($p0,$p1){var $0=document.createTextNode($p1);Sys.Mvc._ValidationUtil.$3($p0);$p0.appendChild($0);}
+Sys.Mvc.Validator=function(){}
+Sys.Mvc.ValidatorRegistry=function(){}
+Sys.Mvc.ValidatorRegistry.get_creators=function(){return Sys.Mvc.ValidatorRegistry.$0;}
+Sys.Mvc.ValidatorRegistry.getValidator=function(rule){var $0=Sys.Mvc.ValidatorRegistry.$0[rule.ValidationType];return ($0)?$0(rule):null;}
+Sys.Mvc.ValidatorRegistry.$1=function(){return {required:Function.createDelegate(null,Sys.Mvc.RequiredValidator.$1),stringLength:Function.createDelegate(null,Sys.Mvc.StringLengthValidator.$3),regularExpression:Function.createDelegate(null,Sys.Mvc.RegularExpressionValidator.$2),range:Function.createDelegate(null,Sys.Mvc.RangeValidator.$3)};}
+Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');Sys.Mvc.FieldValidation.registerClass('Sys.Mvc.FieldValidation');Sys.Mvc.FormValidation.registerClass('Sys.Mvc.FormValidation');Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm');Sys.Mvc.Validator.registerClass('Sys.Mvc.Validator');Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator',Sys.Mvc.Validator);Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator',Sys.Mvc.Validator);Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator',Sys.Mvc.Validator);Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator',Sys.Mvc.Validator);Sys.Mvc._ValidationUtil.registerClass('Sys.Mvc._ValidationUtil');Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry');Sys.Mvc.ValidatorRegistry.$0=Sys.Mvc.ValidatorRegistry.$1();
// ---- Do not remove this footer ----
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
// -----------------------------------
diff --git a/samples/OpenIdProviderMvc/Views/Web.config b/samples/OpenIdProviderMvc/Views/Web.config
index df858d4..95bc467 100644
--- a/samples/OpenIdProviderMvc/Views/Web.config
+++ b/samples/OpenIdProviderMvc/Views/Web.config
@@ -2,8 +2,7 @@
<configuration>
<system.web>
<httpHandlers>
- <add path="*" verb="*"
- type="System.Web.HttpNotFoundHandler"/>
+ <add path="*" verb="*" type="System.Web.HttpNotFoundHandler" />
</httpHandlers>
<!--
@@ -13,22 +12,18 @@
To change this behavior apply the ValidateInputAttribute to a
controller or action.
-->
- <pages
- validateRequest="false"
- pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
- pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
- userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<controls>
- <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
+ <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
</system.web>
<system.webServer>
- <validation validateIntegratedModeConfiguration="false"/>
+ <validation validateIntegratedModeConfiguration="false" />
<handlers>
- <remove name="BlockViewHandler"/>
- <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
+ <remove name="BlockViewHandler" />
+ <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>
diff --git a/samples/OpenIdProviderMvc/Web.config b/samples/OpenIdProviderMvc/Web.config
index fcca524..8f145b0 100644
--- a/samples/OpenIdProviderMvc/Web.config
+++ b/samples/OpenIdProviderMvc/Web.config
@@ -81,6 +81,7 @@
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <remove assembly="DotNetOpenAuth.Contracts"/>
</assemblies>
</compilation>
<!--
diff --git a/samples/OpenIdProviderWebForms/Code/CustomStoreDataSet.Designer.cs b/samples/OpenIdProviderWebForms/Code/CustomStoreDataSet.Designer.cs
index 813ff62..b8d98ec 100644
--- a/samples/OpenIdProviderWebForms/Code/CustomStoreDataSet.Designer.cs
+++ b/samples/OpenIdProviderWebForms/Code/CustomStoreDataSet.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4927
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -16,7 +16,6 @@ namespace OpenIdProviderWebForms.Code {
/// <summary>
///Represents a strongly typed in-memory cache of data.
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
[global::System.Serializable()]
[global::System.ComponentModel.DesignerCategoryAttribute("code")]
[global::System.ComponentModel.ToolboxItem(true)]
@@ -32,6 +31,7 @@ namespace OpenIdProviderWebForms.Code {
private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public CustomStoreDataSet() {
this.BeginInit();
this.InitClass();
@@ -42,6 +42,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected CustomStoreDataSet(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context, false) {
if ((this.IsBinarySerialized(info, context) == true)) {
@@ -80,6 +81,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.Browsable(false)]
[global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
public AssociationDataTable Association {
@@ -89,6 +91,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.Browsable(false)]
[global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
public NonceDataTable Nonce {
@@ -98,6 +101,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.BrowsableAttribute(true)]
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)]
public override global::System.Data.SchemaSerializationMode SchemaSerializationMode {
@@ -110,6 +114,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public new global::System.Data.DataTableCollection Tables {
get {
@@ -118,6 +123,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public new global::System.Data.DataRelationCollection Relations {
get {
@@ -126,6 +132,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void InitializeDerivedDataSet() {
this.BeginInit();
this.InitClass();
@@ -133,6 +140,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public override global::System.Data.DataSet Clone() {
CustomStoreDataSet cln = ((CustomStoreDataSet)(base.Clone()));
cln.InitVars();
@@ -141,16 +149,19 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override bool ShouldSerializeTables() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override bool ShouldSerializeRelations() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) {
if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {
this.Reset();
@@ -178,6 +189,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() {
global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream();
this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null));
@@ -186,11 +198,13 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal void InitVars() {
this.InitVars(true);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal void InitVars(bool initTable) {
this.tableAssociation = ((AssociationDataTable)(base.Tables["Association"]));
if ((initTable == true)) {
@@ -207,6 +221,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private void InitClass() {
this.DataSetName = "CustomStoreDataSet";
this.Prefix = "";
@@ -220,16 +235,19 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private bool ShouldSerializeAssociation() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private bool ShouldSerializeNonce() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) {
if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) {
this.InitVars();
@@ -237,6 +255,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
CustomStoreDataSet ds = new CustomStoreDataSet();
global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
@@ -282,14 +301,15 @@ namespace OpenIdProviderWebForms.Code {
return type;
}
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public delegate void AssociationRowChangeEventHandler(object sender, AssociationRowChangeEvent e);
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public delegate void NonceRowChangeEventHandler(object sender, NonceRowChangeEvent e);
/// <summary>
///Represents the strongly named DataTable class.
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
[global::System.Serializable()]
[global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
public partial class AssociationDataTable : global::System.Data.TypedTableBase<AssociationRow> {
@@ -303,6 +323,7 @@ namespace OpenIdProviderWebForms.Code {
private global::System.Data.DataColumn columnPrivateData;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationDataTable() {
this.TableName = "Association";
this.BeginInit();
@@ -311,6 +332,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal AssociationDataTable(global::System.Data.DataTable table) {
this.TableName = table.TableName;
if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
@@ -327,12 +349,14 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected AssociationDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context) {
this.InitVars();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn DistinguishingFactorColumn {
get {
return this.columnDistinguishingFactor;
@@ -340,6 +364,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn HandleColumn {
get {
return this.columnHandle;
@@ -347,6 +372,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn ExpiresColumn {
get {
return this.columnExpires;
@@ -354,6 +380,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn PrivateDataColumn {
get {
return this.columnPrivateData;
@@ -361,6 +388,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.Browsable(false)]
public int Count {
get {
@@ -369,26 +397,33 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRow this[int index] {
get {
return ((AssociationRow)(this.Rows[index]));
}
}
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event AssociationRowChangeEventHandler AssociationRowChanging;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event AssociationRowChangeEventHandler AssociationRowChanged;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event AssociationRowChangeEventHandler AssociationRowDeleting;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event AssociationRowChangeEventHandler AssociationRowDeleted;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public void AddAssociationRow(AssociationRow row) {
this.Rows.Add(row);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRow AddAssociationRow(string DistinguishingFactor, string Handle, System.DateTime Expires, byte[] PrivateData) {
AssociationRow rowAssociationRow = ((AssociationRow)(this.NewRow()));
object[] columnValuesArray = new object[] {
@@ -402,6 +437,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRow FindByDistinguishingFactorHandle(string DistinguishingFactor, string Handle) {
return ((AssociationRow)(this.Rows.Find(new object[] {
DistinguishingFactor,
@@ -409,6 +445,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public override global::System.Data.DataTable Clone() {
AssociationDataTable cln = ((AssociationDataTable)(base.Clone()));
cln.InitVars();
@@ -416,11 +453,13 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Data.DataTable CreateInstance() {
return new AssociationDataTable();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal void InitVars() {
this.columnDistinguishingFactor = base.Columns["DistinguishingFactor"];
this.columnHandle = base.Columns["Handle"];
@@ -429,6 +468,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private void InitClass() {
this.columnDistinguishingFactor = new global::System.Data.DataColumn("DistinguishingFactor", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnDistinguishingFactor);
@@ -448,21 +488,25 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRow NewAssociationRow() {
return ((AssociationRow)(this.NewRow()));
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
return new AssociationRow(builder);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Type GetRowType() {
return typeof(AssociationRow);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowChanged(e);
if ((this.AssociationRowChanged != null)) {
@@ -471,6 +515,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowChanging(e);
if ((this.AssociationRowChanging != null)) {
@@ -479,6 +524,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowDeleted(e);
if ((this.AssociationRowDeleted != null)) {
@@ -487,6 +533,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowDeleting(e);
if ((this.AssociationRowDeleting != null)) {
@@ -495,11 +542,13 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public void RemoveAssociationRow(AssociationRow row) {
this.Rows.Remove(row);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
@@ -565,7 +614,6 @@ namespace OpenIdProviderWebForms.Code {
/// <summary>
///Represents the strongly named DataTable class.
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
[global::System.Serializable()]
[global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
public partial class NonceDataTable : global::System.Data.TypedTableBase<NonceRow> {
@@ -579,6 +627,7 @@ namespace OpenIdProviderWebForms.Code {
private global::System.Data.DataColumn columnExpires;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceDataTable() {
this.TableName = "Nonce";
this.BeginInit();
@@ -587,6 +636,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal NonceDataTable(global::System.Data.DataTable table) {
this.TableName = table.TableName;
if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
@@ -603,12 +653,14 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected NonceDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context) {
this.InitVars();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn ContextColumn {
get {
return this.columnContext;
@@ -616,6 +668,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn CodeColumn {
get {
return this.columnCode;
@@ -623,6 +676,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn IssuedColumn {
get {
return this.columnIssued;
@@ -630,6 +684,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn ExpiresColumn {
get {
return this.columnExpires;
@@ -637,6 +692,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.Browsable(false)]
public int Count {
get {
@@ -645,26 +701,33 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRow this[int index] {
get {
return ((NonceRow)(this.Rows[index]));
}
}
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event NonceRowChangeEventHandler NonceRowChanging;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event NonceRowChangeEventHandler NonceRowChanged;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event NonceRowChangeEventHandler NonceRowDeleting;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event NonceRowChangeEventHandler NonceRowDeleted;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public void AddNonceRow(NonceRow row) {
this.Rows.Add(row);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRow AddNonceRow(string Context, string Code, System.DateTime Issued, System.DateTime Expires) {
NonceRow rowNonceRow = ((NonceRow)(this.NewRow()));
object[] columnValuesArray = new object[] {
@@ -678,6 +741,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRow FindByIssuedCodeContext(System.DateTime Issued, string Code, string Context) {
return ((NonceRow)(this.Rows.Find(new object[] {
Issued,
@@ -686,6 +750,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public override global::System.Data.DataTable Clone() {
NonceDataTable cln = ((NonceDataTable)(base.Clone()));
cln.InitVars();
@@ -693,11 +758,13 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Data.DataTable CreateInstance() {
return new NonceDataTable();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal void InitVars() {
this.columnContext = base.Columns["Context"];
this.columnCode = base.Columns["Code"];
@@ -706,6 +773,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private void InitClass() {
this.columnContext = new global::System.Data.DataColumn("Context", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnContext);
@@ -726,21 +794,25 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRow NewNonceRow() {
return ((NonceRow)(this.NewRow()));
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
return new NonceRow(builder);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Type GetRowType() {
return typeof(NonceRow);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowChanged(e);
if ((this.NonceRowChanged != null)) {
@@ -749,6 +821,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowChanging(e);
if ((this.NonceRowChanging != null)) {
@@ -757,6 +830,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowDeleted(e);
if ((this.NonceRowDeleted != null)) {
@@ -765,6 +839,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowDeleting(e);
if ((this.NonceRowDeleting != null)) {
@@ -773,11 +848,13 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public void RemoveNonceRow(NonceRow row) {
this.Rows.Remove(row);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
@@ -843,18 +920,19 @@ namespace OpenIdProviderWebForms.Code {
/// <summary>
///Represents strongly named DataRow class.
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
public partial class AssociationRow : global::System.Data.DataRow {
private AssociationDataTable tableAssociation;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal AssociationRow(global::System.Data.DataRowBuilder rb) :
base(rb) {
this.tableAssociation = ((AssociationDataTable)(this.Table));
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public string DistinguishingFactor {
get {
return ((string)(this[this.tableAssociation.DistinguishingFactorColumn]));
@@ -865,6 +943,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public string Handle {
get {
return ((string)(this[this.tableAssociation.HandleColumn]));
@@ -875,6 +954,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public System.DateTime Expires {
get {
return ((global::System.DateTime)(this[this.tableAssociation.ExpiresColumn]));
@@ -885,6 +965,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public byte[] PrivateData {
get {
return ((byte[])(this[this.tableAssociation.PrivateDataColumn]));
@@ -898,18 +979,19 @@ namespace OpenIdProviderWebForms.Code {
/// <summary>
///Represents strongly named DataRow class.
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
public partial class NonceRow : global::System.Data.DataRow {
private NonceDataTable tableNonce;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal NonceRow(global::System.Data.DataRowBuilder rb) :
base(rb) {
this.tableNonce = ((NonceDataTable)(this.Table));
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public string Context {
get {
return ((string)(this[this.tableNonce.ContextColumn]));
@@ -920,6 +1002,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public string Code {
get {
return ((string)(this[this.tableNonce.CodeColumn]));
@@ -930,6 +1013,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public System.DateTime Issued {
get {
return ((global::System.DateTime)(this[this.tableNonce.IssuedColumn]));
@@ -940,6 +1024,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public System.DateTime Expires {
get {
return ((global::System.DateTime)(this[this.tableNonce.ExpiresColumn]));
@@ -953,7 +1038,7 @@ namespace OpenIdProviderWebForms.Code {
/// <summary>
///Row event argument class
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public class AssociationRowChangeEvent : global::System.EventArgs {
private AssociationRow eventRow;
@@ -961,12 +1046,14 @@ namespace OpenIdProviderWebForms.Code {
private global::System.Data.DataRowAction eventAction;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRowChangeEvent(AssociationRow row, global::System.Data.DataRowAction action) {
this.eventRow = row;
this.eventAction = action;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRow Row {
get {
return this.eventRow;
@@ -974,6 +1061,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataRowAction Action {
get {
return this.eventAction;
@@ -984,7 +1072,7 @@ namespace OpenIdProviderWebForms.Code {
/// <summary>
///Row event argument class
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public class NonceRowChangeEvent : global::System.EventArgs {
private NonceRow eventRow;
@@ -992,12 +1080,14 @@ namespace OpenIdProviderWebForms.Code {
private global::System.Data.DataRowAction eventAction;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRowChangeEvent(NonceRow row, global::System.Data.DataRowAction action) {
this.eventRow = row;
this.eventAction = action;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRow Row {
get {
return this.eventRow;
@@ -1005,6 +1095,7 @@ namespace OpenIdProviderWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataRowAction Action {
get {
return this.eventAction;
diff --git a/samples/OpenIdProviderWebForms/OpenIdProviderWebForms.csproj b/samples/OpenIdProviderWebForms/OpenIdProviderWebForms.csproj
index 8e8fd6e..603b372 100644
--- a/samples/OpenIdProviderWebForms/OpenIdProviderWebForms.csproj
+++ b/samples/OpenIdProviderWebForms/OpenIdProviderWebForms.csproj
@@ -1,4 +1,5 @@
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -11,6 +12,11 @@
<RootNamespace>OpenIdProviderWebForms</RootNamespace>
<AssemblyName>OpenIdProviderWebForms</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -20,6 +26,7 @@
<DefineConstants>DEBUG</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -28,6 +35,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'CodeAnalysis|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -38,6 +46,7 @@
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
@@ -45,29 +54,19 @@
<HintPath>..\..\lib\log4net.dll</HintPath>
</Reference>
<Reference Include="System" />
- <Reference Include="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
+ <Reference Include="System.Core" />
<Reference Include="System.Data" />
- <Reference Include="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
+ <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
- <Reference Include="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
+ <Reference Include="System.Web.Extensions" />
+ <Reference Include="System.Web.Extensions.Design" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
- <Reference Include="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
+ <Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Content Include="App_Data\Users.xml" />
@@ -186,7 +185,7 @@
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/samples/OpenIdProviderWebForms/Web.config b/samples/OpenIdProviderWebForms/Web.config
index a978dc7..b76231b 100644
--- a/samples/OpenIdProviderWebForms/Web.config
+++ b/samples/OpenIdProviderWebForms/Web.config
@@ -75,6 +75,7 @@
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <remove assembly="DotNetOpenAuth.Contracts"/>
</assemblies>
</compilation>
<sessionState mode="InProc" cookieless="false"/>
diff --git a/samples/OpenIdRelyingPartyMvc/OpenIdRelyingPartyMvc.csproj b/samples/OpenIdRelyingPartyMvc/OpenIdRelyingPartyMvc.csproj
index 26322bb..3255f53 100644
--- a/samples/OpenIdRelyingPartyMvc/OpenIdRelyingPartyMvc.csproj
+++ b/samples/OpenIdRelyingPartyMvc/OpenIdRelyingPartyMvc.csproj
@@ -1,16 +1,18 @@
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{07B193F1-68AD-4E9C-98AF-BEFB5E9403CB}</ProjectGuid>
- <ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+ <ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OpenIdRelyingPartyMvc</RootNamespace>
<AssemblyName>OpenIdRelyingPartyMvc</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <MvcBuildViews>false</MvcBuildViews>
+ <TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -20,6 +22,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -28,39 +31,37 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
- <Reference Include="System.Core">
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Web.DynamicData" />
+ <Reference Include="System.Web.Entity" />
+ <Reference Include="System.ComponentModel.DataAnnotations">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
- <Reference Include="System.Data.DataSetExtensions">
+ <Reference Include="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+ <HintPath>..\..\lib\System.Web.Mvc.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Web" />
+ <Reference Include="System.Web.Extensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
- <Reference Include="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
+ <Reference Include="System.Web.Abstractions">
<HintPath>..\..\lib\System.Web.Abstractions.dll</HintPath>
</Reference>
- <Reference Include="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\lib\System.Web.Mvc.dll</HintPath>
- </Reference>
- <Reference Include="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
+ <Reference Include="System.Web.Routing">
<HintPath>..\..\lib\System.Web.Routing.dll</HintPath>
</Reference>
- <Reference Include="System.Xml.Linq">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Drawing" />
- <Reference Include="System.Web" />
- <Reference Include="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
+ <Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Controllers\HomeController.cs" />
@@ -139,14 +140,14 @@
<Folder Include="Models\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
+ </Target> -->
+ <Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
+ <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" />
</Target>
- <Target Name="AfterBuild">
- </Target>
- -->
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
diff --git a/samples/OpenIdRelyingPartyMvc/Views/Web.config b/samples/OpenIdRelyingPartyMvc/Views/Web.config
index e67c0eb..04ff474 100644
--- a/samples/OpenIdRelyingPartyMvc/Views/Web.config
+++ b/samples/OpenIdRelyingPartyMvc/Views/Web.config
@@ -2,19 +2,18 @@
<configuration>
<system.web>
<httpHandlers>
- <remove verb="*" path="*.aspx"/>
- <add path="*.aspx" verb="*"
- type="System.Web.HttpNotFoundHandler"/>
+ <remove verb="*" path="*.aspx" />
+ <add path="*.aspx" verb="*" type="System.Web.HttpNotFoundHandler" />
</httpHandlers>
</system.web>
<system.webServer>
- <validation validateIntegratedModeConfiguration="false"/>
+ <validation validateIntegratedModeConfiguration="false" />
<handlers>
- <remove name="PageHandlerFactory-ISAPI-2.0"/>
- <remove name="PageHandlerFactory-ISAPI-1.1"/>
- <remove name="PageHandlerFactory-Integrated"/>
- <add name="BlockViewHandler" path="*.aspx" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
+ <remove name="PageHandlerFactory-ISAPI-2.0" />
+ <remove name="PageHandlerFactory-ISAPI-1.1" />
+ <remove name="PageHandlerFactory-Integrated" />
+ <add name="BlockViewHandler" path="*.aspx" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>
diff --git a/samples/OpenIdRelyingPartyMvc/Web.config b/samples/OpenIdRelyingPartyMvc/Web.config
index f23c5d7..a17e00f 100644
--- a/samples/OpenIdRelyingPartyMvc/Web.config
+++ b/samples/OpenIdRelyingPartyMvc/Web.config
@@ -77,6 +77,7 @@
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <remove assembly="DotNetOpenAuth.Contracts"/>
</assemblies>
</compilation>
<!--
diff --git a/samples/OpenIdRelyingPartyWebForms/Code/CustomStoreDataSet1.Designer.cs b/samples/OpenIdRelyingPartyWebForms/Code/CustomStoreDataSet1.Designer.cs
index 0c0e194..9922a4d 100644
--- a/samples/OpenIdRelyingPartyWebForms/Code/CustomStoreDataSet1.Designer.cs
+++ b/samples/OpenIdRelyingPartyWebForms/Code/CustomStoreDataSet1.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4927
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -16,7 +16,6 @@ namespace OpenIdRelyingPartyWebForms.Code {
/// <summary>
///Represents a strongly typed in-memory cache of data.
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
[global::System.Serializable()]
[global::System.ComponentModel.DesignerCategoryAttribute("code")]
[global::System.ComponentModel.ToolboxItem(true)]
@@ -32,6 +31,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public CustomStoreDataSet() {
this.BeginInit();
this.InitClass();
@@ -42,6 +42,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected CustomStoreDataSet(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context, false) {
if ((this.IsBinarySerialized(info, context) == true)) {
@@ -80,6 +81,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.Browsable(false)]
[global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
public AssociationDataTable Association {
@@ -89,6 +91,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.Browsable(false)]
[global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
public NonceDataTable Nonce {
@@ -98,6 +101,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.BrowsableAttribute(true)]
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)]
public override global::System.Data.SchemaSerializationMode SchemaSerializationMode {
@@ -110,6 +114,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public new global::System.Data.DataTableCollection Tables {
get {
@@ -118,6 +123,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public new global::System.Data.DataRelationCollection Relations {
get {
@@ -126,6 +132,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void InitializeDerivedDataSet() {
this.BeginInit();
this.InitClass();
@@ -133,6 +140,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public override global::System.Data.DataSet Clone() {
CustomStoreDataSet cln = ((CustomStoreDataSet)(base.Clone()));
cln.InitVars();
@@ -141,16 +149,19 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override bool ShouldSerializeTables() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override bool ShouldSerializeRelations() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) {
if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {
this.Reset();
@@ -178,6 +189,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() {
global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream();
this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null));
@@ -186,11 +198,13 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal void InitVars() {
this.InitVars(true);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal void InitVars(bool initTable) {
this.tableAssociation = ((AssociationDataTable)(base.Tables["Association"]));
if ((initTable == true)) {
@@ -207,6 +221,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private void InitClass() {
this.DataSetName = "CustomStoreDataSet";
this.Prefix = "";
@@ -220,16 +235,19 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private bool ShouldSerializeAssociation() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private bool ShouldSerializeNonce() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) {
if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) {
this.InitVars();
@@ -237,6 +255,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
CustomStoreDataSet ds = new CustomStoreDataSet();
global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
@@ -282,14 +301,15 @@ namespace OpenIdRelyingPartyWebForms.Code {
return type;
}
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public delegate void AssociationRowChangeEventHandler(object sender, AssociationRowChangeEvent e);
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public delegate void NonceRowChangeEventHandler(object sender, NonceRowChangeEvent e);
/// <summary>
///Represents the strongly named DataTable class.
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
[global::System.Serializable()]
[global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
public partial class AssociationDataTable : global::System.Data.TypedTableBase<AssociationRow> {
@@ -303,6 +323,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
private global::System.Data.DataColumn columnPrivateData;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationDataTable() {
this.TableName = "Association";
this.BeginInit();
@@ -311,6 +332,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal AssociationDataTable(global::System.Data.DataTable table) {
this.TableName = table.TableName;
if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
@@ -327,12 +349,14 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected AssociationDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context) {
this.InitVars();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn DistinguishingFactorColumn {
get {
return this.columnDistinguishingFactor;
@@ -340,6 +364,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn HandleColumn {
get {
return this.columnHandle;
@@ -347,6 +372,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn ExpiresColumn {
get {
return this.columnExpires;
@@ -354,6 +380,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn PrivateDataColumn {
get {
return this.columnPrivateData;
@@ -361,6 +388,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.Browsable(false)]
public int Count {
get {
@@ -369,26 +397,33 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRow this[int index] {
get {
return ((AssociationRow)(this.Rows[index]));
}
}
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event AssociationRowChangeEventHandler AssociationRowChanging;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event AssociationRowChangeEventHandler AssociationRowChanged;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event AssociationRowChangeEventHandler AssociationRowDeleting;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event AssociationRowChangeEventHandler AssociationRowDeleted;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public void AddAssociationRow(AssociationRow row) {
this.Rows.Add(row);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRow AddAssociationRow(string DistinguishingFactor, string Handle, System.DateTime Expires, byte[] PrivateData) {
AssociationRow rowAssociationRow = ((AssociationRow)(this.NewRow()));
object[] columnValuesArray = new object[] {
@@ -402,6 +437,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRow FindByDistinguishingFactorHandle(string DistinguishingFactor, string Handle) {
return ((AssociationRow)(this.Rows.Find(new object[] {
DistinguishingFactor,
@@ -409,6 +445,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public override global::System.Data.DataTable Clone() {
AssociationDataTable cln = ((AssociationDataTable)(base.Clone()));
cln.InitVars();
@@ -416,11 +453,13 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Data.DataTable CreateInstance() {
return new AssociationDataTable();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal void InitVars() {
this.columnDistinguishingFactor = base.Columns["DistinguishingFactor"];
this.columnHandle = base.Columns["Handle"];
@@ -429,6 +468,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private void InitClass() {
this.columnDistinguishingFactor = new global::System.Data.DataColumn("DistinguishingFactor", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnDistinguishingFactor);
@@ -448,21 +488,25 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRow NewAssociationRow() {
return ((AssociationRow)(this.NewRow()));
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
return new AssociationRow(builder);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Type GetRowType() {
return typeof(AssociationRow);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowChanged(e);
if ((this.AssociationRowChanged != null)) {
@@ -471,6 +515,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowChanging(e);
if ((this.AssociationRowChanging != null)) {
@@ -479,6 +524,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowDeleted(e);
if ((this.AssociationRowDeleted != null)) {
@@ -487,6 +533,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowDeleting(e);
if ((this.AssociationRowDeleting != null)) {
@@ -495,11 +542,13 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public void RemoveAssociationRow(AssociationRow row) {
this.Rows.Remove(row);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
@@ -565,7 +614,6 @@ namespace OpenIdRelyingPartyWebForms.Code {
/// <summary>
///Represents the strongly named DataTable class.
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
[global::System.Serializable()]
[global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
public partial class NonceDataTable : global::System.Data.TypedTableBase<NonceRow> {
@@ -579,6 +627,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
private global::System.Data.DataColumn columnExpires;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceDataTable() {
this.TableName = "Nonce";
this.BeginInit();
@@ -587,6 +636,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal NonceDataTable(global::System.Data.DataTable table) {
this.TableName = table.TableName;
if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
@@ -603,12 +653,14 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected NonceDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context) {
this.InitVars();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn ContextColumn {
get {
return this.columnContext;
@@ -616,6 +668,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn CodeColumn {
get {
return this.columnCode;
@@ -623,6 +676,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn IssuedColumn {
get {
return this.columnIssued;
@@ -630,6 +684,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataColumn ExpiresColumn {
get {
return this.columnExpires;
@@ -637,6 +692,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
[global::System.ComponentModel.Browsable(false)]
public int Count {
get {
@@ -645,26 +701,33 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRow this[int index] {
get {
return ((NonceRow)(this.Rows[index]));
}
}
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event NonceRowChangeEventHandler NonceRowChanging;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event NonceRowChangeEventHandler NonceRowChanged;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event NonceRowChangeEventHandler NonceRowDeleting;
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public event NonceRowChangeEventHandler NonceRowDeleted;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public void AddNonceRow(NonceRow row) {
this.Rows.Add(row);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRow AddNonceRow(string Context, string Code, System.DateTime Issued, System.DateTime Expires) {
NonceRow rowNonceRow = ((NonceRow)(this.NewRow()));
object[] columnValuesArray = new object[] {
@@ -678,6 +741,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRow FindByIssuedCodeContext(System.DateTime Issued, string Code, string Context) {
return ((NonceRow)(this.Rows.Find(new object[] {
Issued,
@@ -686,6 +750,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public override global::System.Data.DataTable Clone() {
NonceDataTable cln = ((NonceDataTable)(base.Clone()));
cln.InitVars();
@@ -693,11 +758,13 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Data.DataTable CreateInstance() {
return new NonceDataTable();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal void InitVars() {
this.columnContext = base.Columns["Context"];
this.columnCode = base.Columns["Code"];
@@ -706,6 +773,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private void InitClass() {
this.columnContext = new global::System.Data.DataColumn("Context", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnContext);
@@ -726,21 +794,25 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRow NewNonceRow() {
return ((NonceRow)(this.NewRow()));
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
return new NonceRow(builder);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override global::System.Type GetRowType() {
return typeof(NonceRow);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowChanged(e);
if ((this.NonceRowChanged != null)) {
@@ -749,6 +821,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowChanging(e);
if ((this.NonceRowChanging != null)) {
@@ -757,6 +830,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowDeleted(e);
if ((this.NonceRowDeleted != null)) {
@@ -765,6 +839,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
base.OnRowDeleting(e);
if ((this.NonceRowDeleting != null)) {
@@ -773,11 +848,13 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public void RemoveNonceRow(NonceRow row) {
this.Rows.Remove(row);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
@@ -843,18 +920,19 @@ namespace OpenIdRelyingPartyWebForms.Code {
/// <summary>
///Represents strongly named DataRow class.
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
public partial class AssociationRow : global::System.Data.DataRow {
private AssociationDataTable tableAssociation;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal AssociationRow(global::System.Data.DataRowBuilder rb) :
base(rb) {
this.tableAssociation = ((AssociationDataTable)(this.Table));
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public string DistinguishingFactor {
get {
return ((string)(this[this.tableAssociation.DistinguishingFactorColumn]));
@@ -865,6 +943,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public string Handle {
get {
return ((string)(this[this.tableAssociation.HandleColumn]));
@@ -875,6 +954,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public System.DateTime Expires {
get {
return ((global::System.DateTime)(this[this.tableAssociation.ExpiresColumn]));
@@ -885,6 +965,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public byte[] PrivateData {
get {
return ((byte[])(this[this.tableAssociation.PrivateDataColumn]));
@@ -898,18 +979,19 @@ namespace OpenIdRelyingPartyWebForms.Code {
/// <summary>
///Represents strongly named DataRow class.
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
public partial class NonceRow : global::System.Data.DataRow {
private NonceDataTable tableNonce;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
internal NonceRow(global::System.Data.DataRowBuilder rb) :
base(rb) {
this.tableNonce = ((NonceDataTable)(this.Table));
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public string Context {
get {
return ((string)(this[this.tableNonce.ContextColumn]));
@@ -920,6 +1002,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public string Code {
get {
return ((string)(this[this.tableNonce.CodeColumn]));
@@ -930,6 +1013,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public System.DateTime Issued {
get {
return ((global::System.DateTime)(this[this.tableNonce.IssuedColumn]));
@@ -940,6 +1024,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public System.DateTime Expires {
get {
return ((global::System.DateTime)(this[this.tableNonce.ExpiresColumn]));
@@ -953,7 +1038,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
/// <summary>
///Row event argument class
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public class AssociationRowChangeEvent : global::System.EventArgs {
private AssociationRow eventRow;
@@ -961,12 +1046,14 @@ namespace OpenIdRelyingPartyWebForms.Code {
private global::System.Data.DataRowAction eventAction;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRowChangeEvent(AssociationRow row, global::System.Data.DataRowAction action) {
this.eventRow = row;
this.eventAction = action;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public AssociationRow Row {
get {
return this.eventRow;
@@ -974,6 +1061,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataRowAction Action {
get {
return this.eventAction;
@@ -984,7 +1072,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
/// <summary>
///Row event argument class
///</summary>
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public class NonceRowChangeEvent : global::System.EventArgs {
private NonceRow eventRow;
@@ -992,12 +1080,14 @@ namespace OpenIdRelyingPartyWebForms.Code {
private global::System.Data.DataRowAction eventAction;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRowChangeEvent(NonceRow row, global::System.Data.DataRowAction action) {
this.eventRow = row;
this.eventAction = action;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public NonceRow Row {
get {
return this.eventRow;
@@ -1005,6 +1095,7 @@ namespace OpenIdRelyingPartyWebForms.Code {
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public global::System.Data.DataRowAction Action {
get {
return this.eventAction;
diff --git a/samples/OpenIdRelyingPartyWebForms/OpenIdRelyingPartyWebForms.csproj b/samples/OpenIdRelyingPartyWebForms/OpenIdRelyingPartyWebForms.csproj
index d2548cf..c8c2d2a 100644
--- a/samples/OpenIdRelyingPartyWebForms/OpenIdRelyingPartyWebForms.csproj
+++ b/samples/OpenIdRelyingPartyWebForms/OpenIdRelyingPartyWebForms.csproj
@@ -1,4 +1,5 @@
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -11,6 +12,11 @@
<RootNamespace>OpenIdRelyingPartyWebForms</RootNamespace>
<AssemblyName>OpenIdRelyingPartyWebForms</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -20,6 +26,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -28,6 +35,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'CodeAnalysis|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -38,6 +46,7 @@
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
@@ -46,18 +55,10 @@
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
- <Reference Include="System.Core">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Data.DataSetExtensions">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
+ <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
- <Reference Include="System.Xml.Linq">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
@@ -65,6 +66,7 @@
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
+ <Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Content Include="Default.aspx" />
@@ -153,13 +155,6 @@
<Compile Include="MembersOnly\ProfileFieldsDisplay.ascx.designer.cs">
<DependentUpon>ProfileFieldsDisplay.ascx</DependentUpon>
</Compile>
- <Compile Include="m\Login.aspx.cs">
- <DependentUpon>Login.aspx</DependentUpon>
- <SubType>ASPXCodeBehind</SubType>
- </Compile>
- <Compile Include="m\Login.aspx.designer.cs">
- <DependentUpon>Login.aspx</DependentUpon>
- </Compile>
<Compile Include="NoIdentityOpenId.aspx.cs">
<DependentUpon>NoIdentityOpenId.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -194,7 +189,6 @@
<Content Include="MembersOnly\DisplayGoogleContacts.aspx" />
<Content Include="MembersOnly\ProfileFieldsDisplay.ascx" />
<Content Include="MembersOnly\Web.config" />
- <Content Include="m\Login.aspx" />
<Content Include="NoIdentityOpenId.aspx" />
</ItemGroup>
<ItemGroup>
@@ -221,7 +215,7 @@
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/samples/OpenIdRelyingPartyWebForms/Web.config b/samples/OpenIdRelyingPartyWebForms/Web.config
index b0aa965..5d3a33b 100644
--- a/samples/OpenIdRelyingPartyWebForms/Web.config
+++ b/samples/OpenIdRelyingPartyWebForms/Web.config
@@ -61,7 +61,11 @@
<system.web>
<!--<sessionState cookieless="true" />-->
- <compilation debug="true"/>
+ <compilation debug="true">
+ <assemblies>
+ <remove assembly="DotNetOpenAuth.Contracts"/>
+ </assemblies>
+ </compilation>
<customErrors mode="RemoteOnly"/>
<authentication mode="Forms">
<forms name="OpenIdRelyingPartySession"/> <!-- named cookie prevents conflicts with other samples -->
diff --git a/samples/OpenIdRelyingPartyWebForms/m/Login.aspx b/samples/OpenIdRelyingPartyWebForms/m/Login.aspx
deleted file mode 100644
index dda8c85..0000000
--- a/samples/OpenIdRelyingPartyWebForms/m/Login.aspx
+++ /dev/null
@@ -1,17 +0,0 @@
-<%@ Page Language="C#" CodeBehind="Login.aspx.cs" Inherits="OpenIdRelyingPartyWebForms.m.Login" %>
-
-<%@ Register Assembly="DotNetOpenAuth" Namespace="DotNetOpenAuth.OpenId.RelyingParty"
- TagPrefix="RP" %>
-<%@ Register Assembly="System.Web.Mobile" Namespace="System.Web.UI.MobileControls"
- TagPrefix="MC" %>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-</head>
-<body>
- <MC:Form id="form1" runat="server">
- <RP:OpenIdMobileTextBox ID="openIdTextBox" runat="server" />
- <MC:Command runat="server" ID="loginButton" OnClick="loginButton_Click" Text="Login" />
- </MC:Form>
-</body>
-</html>
diff --git a/samples/OpenIdRelyingPartyWebForms/m/Login.aspx.cs b/samples/OpenIdRelyingPartyWebForms/m/Login.aspx.cs
deleted file mode 100644
index 86cd5c1..0000000
--- a/samples/OpenIdRelyingPartyWebForms/m/Login.aspx.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace OpenIdRelyingPartyWebForms.m {
- using System;
- using System.Web.UI.MobileControls;
-
- public partial class Login : MobilePage {
- protected void Page_Load(object sender, EventArgs e) {
- }
-
- protected void loginButton_Click(object sender, EventArgs e) {
- this.openIdTextBox.LogOn();
- }
- }
-}
diff --git a/samples/OpenIdRelyingPartyWebForms/m/Login.aspx.designer.cs b/samples/OpenIdRelyingPartyWebForms/m/Login.aspx.designer.cs
deleted file mode 100644
index e55b802..0000000
--- a/samples/OpenIdRelyingPartyWebForms/m/Login.aspx.designer.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.4912
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OpenIdRelyingPartyWebForms.m {
-
-
- public partial class Login {
-
- /// <summary>
- /// form1 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.MobileControls.Form form1;
-
- /// <summary>
- /// openIdTextBox control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::DotNetOpenAuth.OpenId.RelyingParty.OpenIdMobileTextBox openIdTextBox;
-
- /// <summary>
- /// loginButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.MobileControls.Command loginButton;
- }
-}
diff --git a/samples/OpenIdRelyingPartyWebFormsVB/My Project/Application.Designer.vb b/samples/OpenIdRelyingPartyWebFormsVB/My Project/Application.Designer.vb
index 8a621ae..cf58961 100644
--- a/samples/OpenIdRelyingPartyWebFormsVB/My Project/Application.Designer.vb
+++ b/samples/OpenIdRelyingPartyWebFormsVB/My Project/Application.Designer.vb
@@ -1,7 +1,7 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
-' Runtime Version:2.0.50727.42
+' Runtime Version:4.0.30104.0
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
diff --git a/samples/OpenIdRelyingPartyWebFormsVB/My Project/Resources.Designer.vb b/samples/OpenIdRelyingPartyWebFormsVB/My Project/Resources.Designer.vb
index b38f687..276f520 100644
--- a/samples/OpenIdRelyingPartyWebFormsVB/My Project/Resources.Designer.vb
+++ b/samples/OpenIdRelyingPartyWebFormsVB/My Project/Resources.Designer.vb
@@ -1,7 +1,7 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
-' Runtime Version:2.0.50727.42
+' Runtime Version:4.0.30104.0
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
@@ -11,6 +11,7 @@
Option Strict On
Option Explicit On
+Imports System
Namespace My.Resources
@@ -18,10 +19,10 @@ Namespace My.Resources
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
- '<summary>
- ' A strongly-typed resource class, for looking up localized strings, etc.
- '</summary>
- <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0"), _
+ '''<summary>
+ ''' A strongly-typed resource class, for looking up localized strings, etc.
+ '''</summary>
+ <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
@@ -31,9 +32,9 @@ Namespace My.Resources
Private resourceCulture As Global.System.Globalization.CultureInfo
- '<summary>
- ' Returns the cached ResourceManager instance used by this class.
- '</summary>
+ '''<summary>
+ ''' Returns the cached ResourceManager instance used by this class.
+ '''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
@@ -45,16 +46,16 @@ Namespace My.Resources
End Get
End Property
- '<summary>
- ' Overrides the current thread's CurrentUICulture property for all
- ' resource lookups using this strongly typed resource class.
- '</summary>
+ '''<summary>
+ ''' Overrides the current thread's CurrentUICulture property for all
+ ''' resource lookups using this strongly typed resource class.
+ '''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
- Set(ByVal value As Global.System.Globalization.CultureInfo)
+ Set
resourceCulture = value
End Set
End Property
diff --git a/samples/OpenIdRelyingPartyWebFormsVB/My Project/Settings.Designer.vb b/samples/OpenIdRelyingPartyWebFormsVB/My Project/Settings.Designer.vb
index 82c5982..dddcea9 100644
--- a/samples/OpenIdRelyingPartyWebFormsVB/My Project/Settings.Designer.vb
+++ b/samples/OpenIdRelyingPartyWebFormsVB/My Project/Settings.Designer.vb
@@ -1,7 +1,7 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
-' Runtime Version:2.0.50727.42
+' Runtime Version:4.0.30104.0
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
@@ -13,27 +13,27 @@ Option Explicit On
Namespace My
-
+
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
- Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0"), _
+ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
- Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
- Private Shared addedHandler As Boolean
+ Private Shared addedHandler As Boolean
- Private Shared addedHandlerLockObject As New Object
+ Private Shared addedHandlerLockObject As New Object
- <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
- Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
- If My.Application.SaveMySettingsOnExit Then
- My.Settings.Save()
- End If
- End Sub
+ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
#End If
#End Region
@@ -41,14 +41,14 @@ Namespace My
Get
#If _MyType = "WindowsForms" Then
- If Not addedHandler Then
- SyncLock addedHandlerLockObject
- If Not addedHandler Then
- AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
- addedHandler = True
- End If
- End SyncLock
- End If
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
#End If
Return defaultInstance
End Get
diff --git a/samples/OpenIdRelyingPartyWebFormsVB/OpenIdRelyingPartyWebFormsVB.vbproj b/samples/OpenIdRelyingPartyWebFormsVB/OpenIdRelyingPartyWebFormsVB.vbproj
index a43008c..41f4cbf 100644
--- a/samples/OpenIdRelyingPartyWebFormsVB/OpenIdRelyingPartyWebFormsVB.vbproj
+++ b/samples/OpenIdRelyingPartyWebFormsVB/OpenIdRelyingPartyWebFormsVB.vbproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -16,6 +16,10 @@
<OptionCompare>Binary</OptionCompare>
<OptionStrict>Off</OptionStrict>
<OptionInfer>On</OptionInfer>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -24,8 +28,9 @@
<DefineTrace>true</DefineTrace>
<OutputPath>bin\</OutputPath>
<DocumentationFile>OpenIdRelyingPartyWebFormsVB.xml</DocumentationFile>
- <NoWarn>41999,42016,42020,42021,42022</NoWarn>
+ <NoWarn>41999,42016,42020,42021,42022,42353,42354,42355</NoWarn>
<WarningsAsErrors>42017,42018,42019,42032,42036</WarningsAsErrors>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -34,8 +39,9 @@
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DocumentationFile>OpenIdRelyingPartyWebFormsVB.xml</DocumentationFile>
- <NoWarn>41999,42016,42020,42021,42022</NoWarn>
+ <NoWarn>41999,42016,42020,42021,42022,42353,42354,42355</NoWarn>
<WarningsAsErrors>42017,42018,42019,42032,42036</WarningsAsErrors>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
@@ -194,7 +200,7 @@
<Folder Include="App_Data\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/samples/OpenIdRelyingPartyWebFormsVB/Web.config b/samples/OpenIdRelyingPartyWebFormsVB/Web.config
index f488900..36174a5 100644
--- a/samples/OpenIdRelyingPartyWebFormsVB/Web.config
+++ b/samples/OpenIdRelyingPartyWebFormsVB/Web.config
@@ -61,7 +61,11 @@
<system.web>
<!--<sessionState cookieless="true" />-->
- <compilation debug="true"/>
+ <compilation debug="true">
+ <assemblies>
+ <remove assembly="DotNetOpenAuth.Contracts"/>
+ </assemblies>
+ </compilation>
<customErrors mode="RemoteOnly"/>
<authentication mode="Forms">
<forms name="OpenIdRelyingPartyVBSession"/> <!-- named cookie prevents conflicts with other samples -->
diff --git a/samples/OpenIdWebRingSsoProvider/OpenIdWebRingSsoProvider.csproj b/samples/OpenIdWebRingSsoProvider/OpenIdWebRingSsoProvider.csproj
index 29963c4..84aaa81 100644
--- a/samples/OpenIdWebRingSsoProvider/OpenIdWebRingSsoProvider.csproj
+++ b/samples/OpenIdWebRingSsoProvider/OpenIdWebRingSsoProvider.csproj
@@ -1,4 +1,5 @@
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -11,6 +12,11 @@
<RootNamespace>OpenIdWebRingSsoProvider</RootNamespace>
<AssemblyName>OpenIdWebRingSsoProvider</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -20,6 +26,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -28,22 +35,17 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
- <Reference Include="System.Core">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Data.DataSetExtensions">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="System.Web.DynamicData" />
+ <Reference Include="System.Web.Entity" />
<Reference Include="System.Web.Extensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
- <Reference Include="System.Xml.Linq">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
@@ -51,6 +53,7 @@
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
+ <Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Content Include="Default.aspx" />
@@ -95,7 +98,7 @@
<Folder Include="App_Data\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/samples/OpenIdWebRingSsoProvider/Web.config b/samples/OpenIdWebRingSsoProvider/Web.config
index c32e0e3..163c08b 100644
--- a/samples/OpenIdWebRingSsoProvider/Web.config
+++ b/samples/OpenIdWebRingSsoProvider/Web.config
@@ -79,6 +79,7 @@
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <remove assembly="DotNetOpenAuth.Contracts"/>
</assemblies>
</compilation>
diff --git a/samples/OpenIdWebRingSsoRelyingParty/OpenIdWebRingSsoRelyingParty.csproj b/samples/OpenIdWebRingSsoRelyingParty/OpenIdWebRingSsoRelyingParty.csproj
index 978a1a57..524ede2 100644
--- a/samples/OpenIdWebRingSsoRelyingParty/OpenIdWebRingSsoRelyingParty.csproj
+++ b/samples/OpenIdWebRingSsoRelyingParty/OpenIdWebRingSsoRelyingParty.csproj
@@ -1,4 +1,5 @@
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -11,6 +12,11 @@
<RootNamespace>OpenIdWebRingSsoRelyingParty</RootNamespace>
<AssemblyName>OpenIdWebRingSsoRelyingParty</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -20,6 +26,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -28,22 +35,15 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
- <Reference Include="System.Core">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Data.DataSetExtensions">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
+ <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
- <Reference Include="System.Xml.Linq">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
@@ -51,6 +51,7 @@
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
+ <Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Content Include="Default.aspx" />
@@ -97,7 +98,7 @@
<Folder Include="App_Data\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/samples/OpenIdWebRingSsoRelyingParty/Web.config b/samples/OpenIdWebRingSsoRelyingParty/Web.config
index 94ef60c..3f50723 100644
--- a/samples/OpenIdWebRingSsoRelyingParty/Web.config
+++ b/samples/OpenIdWebRingSsoRelyingParty/Web.config
@@ -83,6 +83,7 @@
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <remove assembly="DotNetOpenAuth.Contracts"/>
</assemblies>
</compilation>
diff --git a/samples/Samples.sln b/samples/Samples.sln
index 9591fc3..0a138cc 100644
--- a/samples/Samples.sln
+++ b/samples/Samples.sln
@@ -1,6 +1,6 @@

-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.ApplicationBlock", "DotNetOpenAuth.ApplicationBlock\DotNetOpenAuth.ApplicationBlock.csproj", "{AA78D112-D889-414B-A7D4-467B34C7B663}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdProviderWebForms", "OpenIdProviderWebForms\OpenIdProviderWebForms.csproj", "{2A59DE0A-B76A-4B42-9A33-04D34548353D}"
@@ -15,7 +15,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "InfoCard", "InfoCard", "{91
EndProject
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "InfoCardRelyingParty", "InfoCardRelyingParty\", "{BE7016A8-D1B9-471A-AA53-A3D0CB800D35}"
ProjectSection(WebsiteProperties) = preProject
- TargetFramework = "3.5"
+ TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5"
Debug.AspNetCompiler.VirtualPath = "/InfoCardRelyingParty"
Debug.AspNetCompiler.PhysicalPath = "InfoCardRelyingParty\"
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\InfoCardRelyingParty\"
@@ -35,7 +35,7 @@ Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "InfoCardRelyingParty", "Inf
EndProject
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OAuthConsumer", "OAuthConsumer\", "{5100F73C-3082-4B81-95DD-F443F90B8EA7}"
ProjectSection(WebsiteProperties) = preProject
- TargetFramework = "3.5"
+ TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5"
Debug.AspNetCompiler.VirtualPath = "/OAuthConsumer"
Debug.AspNetCompiler.PhysicalPath = "OAuthConsumer\"
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\OAuthConsumer\"
@@ -55,7 +55,7 @@ Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OAuthConsumer", "OAuthConsu
EndProject
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OAuthServiceProvider", "OAuthServiceProvider\", "{DD52C0C8-F986-495A-AAA1-090CFE2F801F}"
ProjectSection(WebsiteProperties) = preProject
- TargetFramework = "3.5"
+ TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5"
Debug.AspNetCompiler.VirtualPath = "/OAuthServiceProvider"
Debug.AspNetCompiler.PhysicalPath = "OAuthServiceProvider\"
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\OAuthServiceProvider\"
@@ -82,7 +82,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdRelyingPartyWebForms"
EndProject
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OpenIdRelyingPartyClassicAsp", "OpenIdRelyingPartyClassicAsp\", "{9F9A83C3-55FC-42F1-A6B6-15A52BD01FC0}"
ProjectSection(WebsiteProperties) = preProject
- TargetFramework = "2.0"
+ TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5"
Debug.AspNetCompiler.VirtualPath = "/OpenIdRelyingPartyClassicAsp"
Debug.AspNetCompiler.PhysicalPath = "OpenIdRelyingPartyClassicAsp\"
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\OpenIdRelyingPartyClassicAsp\"
diff --git a/src/DotNetOpenAuth.BuildTasks/CopyWithTokenSubstitution.cs b/src/DotNetOpenAuth.BuildTasks/CopyWithTokenSubstitution.cs
index e17d8f2..38f3b50 100644
--- a/src/DotNetOpenAuth.BuildTasks/CopyWithTokenSubstitution.cs
+++ b/src/DotNetOpenAuth.BuildTasks/CopyWithTokenSubstitution.cs
@@ -58,36 +58,47 @@ namespace DotNetOpenAuth.BuildTasks {
string destPath = this.DestinationFiles[i].ItemSpec;
bool skipUnchangedFiles = bool.Parse(this.SourceFiles[i].GetMetadata("SkipUnchangedFiles"));
- // We deliberably consider newer destination files to be up-to-date rather than
- // requiring equality because this task modifies the destination file while copying.
- if (skipUnchangedFiles && File.GetLastWriteTimeUtc(sourcePath) < File.GetLastWriteTimeUtc(destPath)) {
- Log.LogMessage(MessageImportance.Low, "Skipping \"{0}\" -> \"{1}\" because the destination is up to date.", sourcePath, destPath);
- continue;
- }
+ if (string.IsNullOrEmpty(this.SourceFiles[i].GetMetadata("BeforeTokens"))) {
+ // this is just a standard copy without token substitution
+ if (skipUnchangedFiles && File.GetLastWriteTimeUtc(sourcePath) == File.GetLastWriteTimeUtc(destPath)) {
+ Log.LogMessage(MessageImportance.Low, "Skipping \"{0}\" -> \"{1}\" because the destination is up to date.", sourcePath, destPath);
+ continue;
+ }
- Log.LogMessage(MessageImportance.Normal, "Transforming \"{0}\" -> \"{1}\"", sourcePath, destPath);
+ Log.LogMessage(MessageImportance.Normal, "Copying \"{0}\" -> \"{1}\"", sourcePath, destPath);
+ File.Copy(sourcePath, destPath, true);
+ } else {
+ // We deliberably consider newer destination files to be up-to-date rather than
+ // requiring equality because this task modifies the destination file while copying.
+ if (skipUnchangedFiles && File.GetLastWriteTimeUtc(sourcePath) < File.GetLastWriteTimeUtc(destPath)) {
+ Log.LogMessage(MessageImportance.Low, "Skipping \"{0}\" -> \"{1}\" because the destination is up to date.", sourcePath, destPath);
+ continue;
+ }
- string[] beforeTokens = this.SourceFiles[i].GetMetadata("BeforeTokens").Split(';');
- string[] afterTokens = this.SourceFiles[i].GetMetadata("AfterTokens").Split(';');
- if (beforeTokens.Length != afterTokens.Length) {
- Log.LogError("Unequal number of before and after tokens. Before: \"{0}\". After \"{1}\".", beforeTokens, afterTokens);
- return false;
- }
+ Log.LogMessage(MessageImportance.Normal, "Transforming \"{0}\" -> \"{1}\"", sourcePath, destPath);
- using (StreamReader sr = File.OpenText(sourcePath)) {
- if (!Directory.Exists(Path.GetDirectoryName(destPath))) {
- Directory.CreateDirectory(Path.GetDirectoryName(destPath));
+ string[] beforeTokens = this.SourceFiles[i].GetMetadata("BeforeTokens").Split(';');
+ string[] afterTokens = this.SourceFiles[i].GetMetadata("AfterTokens").Split(';');
+ if (beforeTokens.Length != afterTokens.Length) {
+ Log.LogError("Unequal number of before and after tokens. Before: \"{0}\". After \"{1}\".", beforeTokens, afterTokens);
+ return false;
}
- using (StreamWriter sw = File.CreateText(destPath)) {
- StringBuilder line = new StringBuilder();
- while (!sr.EndOfStream) {
- line.Length = 0;
- line.Append(sr.ReadLine());
- for (int j = 0; j < beforeTokens.Length; j++) {
- line.Replace(beforeTokens[j], afterTokens[j]);
- }
- sw.WriteLine(line);
+ using (StreamReader sr = File.OpenText(sourcePath)) {
+ if (!Directory.Exists(Path.GetDirectoryName(destPath))) {
+ Directory.CreateDirectory(Path.GetDirectoryName(destPath));
+ }
+ using (StreamWriter sw = File.CreateText(destPath)) {
+ StringBuilder line = new StringBuilder();
+ while (!sr.EndOfStream) {
+ line.Length = 0;
+ line.Append(sr.ReadLine());
+ for (int j = 0; j < beforeTokens.Length; j++) {
+ line.Replace(beforeTokens[j], afterTokens[j]);
+ }
+
+ sw.WriteLine(line);
+ }
}
}
}
diff --git a/src/DotNetOpenAuth.BuildTasks/DiscoverProjectTemplates.cs b/src/DotNetOpenAuth.BuildTasks/DiscoverProjectTemplates.cs
index 0162c16..f49c9b1 100644
--- a/src/DotNetOpenAuth.BuildTasks/DiscoverProjectTemplates.cs
+++ b/src/DotNetOpenAuth.BuildTasks/DiscoverProjectTemplates.cs
@@ -15,6 +15,7 @@ namespace DotNetOpenAuth.BuildTasks {
using Microsoft.Build.Utilities;
public class DiscoverProjectTemplates : Task {
+ [Required]
public ITaskItem[] TopLevelTemplates { get; set; }
[Output]
diff --git a/src/DotNetOpenAuth.BuildTasks/DotNetOpenAuth.BuildTasks.csproj b/src/DotNetOpenAuth.BuildTasks/DotNetOpenAuth.BuildTasks.csproj
index b8cff51..3f76f78 100644
--- a/src/DotNetOpenAuth.BuildTasks/DotNetOpenAuth.BuildTasks.csproj
+++ b/src/DotNetOpenAuth.BuildTasks/DotNetOpenAuth.BuildTasks.csproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -12,6 +12,21 @@
<AssemblyName>DotNetOpenAuth.BuildTasks</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
+ <PublishUrl>publish\</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Disk</InstallFrom>
+ <UpdateEnabled>false</UpdateEnabled>
+ <UpdateMode>Foreground</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>true</MapFileExtensions>
+ <ApplicationRevision>0</ApplicationRevision>
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+ <IsWebBootstrapper>false</IsWebBootstrapper>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -48,6 +63,7 @@
</CodeContractsBaseLineFile>
<CodeContractsRuntimeCheckingLevel>Full</CodeContractsRuntimeCheckingLevel>
<CodeContractsReferenceAssembly>%28none%29</CodeContractsReferenceAssembly>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -56,6 +72,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Build.Engine" />
@@ -89,14 +106,17 @@
<Compile Include="CreateWebApplication.cs" />
<Compile Include="DeleteWebApplication.cs" />
<Compile Include="DiscoverProjectTemplates.cs" />
+ <Compile Include="DowngradeProjects.cs" />
<Compile Include="ECMAScriptPacker.cs" />
<Compile Include="FilterItems.cs" />
<Compile Include="FixupReferenceHintPaths.cs" />
<Compile Include="FixupShippingToolSamples.cs" />
+ <Compile Include="HardLinkCopy.cs" />
<Compile Include="MergeProjectWithVSTemplate.cs" />
<Compile Include="GetBuildVersion.cs" />
<Compile Include="CheckAdminRights.cs" />
<Compile Include="JsPack.cs" />
+ <Compile Include="NativeMethods.cs" />
<Compile Include="ParseMaster.cs" />
<Compile Include="Publicize.cs" />
<Compile Include="Purge.cs" />
@@ -118,6 +138,23 @@
<LastGenOutput>TaskStrings.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
+ <ItemGroup>
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+ <Visible>False</Visible>
+ <ProductName>Windows Installer 3.1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/src/DotNetOpenAuth.BuildTasks/DotNetOpenAuth.BuildTasks.sln b/src/DotNetOpenAuth.BuildTasks/DotNetOpenAuth.BuildTasks.sln
index 0d0900b..34a8e46 100644
--- a/src/DotNetOpenAuth.BuildTasks/DotNetOpenAuth.BuildTasks.sln
+++ b/src/DotNetOpenAuth.BuildTasks/DotNetOpenAuth.BuildTasks.sln
@@ -1,8 +1,6 @@

-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.BuildTasks", "DotNetOpenAuth.BuildTasks.csproj", "{AC231A51-EF60-437C-A33F-AF8ADEB8EB74}"
-EndProject
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{ABBE14A3-0404-4123-9093-E598C3DD3E9B}"
ProjectSection(SolutionItems) = preProject
..\..\build.proj = ..\..\build.proj
@@ -13,6 +11,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
..\..\tools\DotNetOpenAuth.Versioning.targets = ..\..\tools\DotNetOpenAuth.Versioning.targets
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.BuildTasks", "DotNetOpenAuth.BuildTasks.csproj", "{AC231A51-EF60-437C-A33F-AF8ADEB8EB74}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
diff --git a/src/DotNetOpenAuth.BuildTasks/DowngradeProjects.cs b/src/DotNetOpenAuth.BuildTasks/DowngradeProjects.cs
new file mode 100644
index 0000000..645522d
--- /dev/null
+++ b/src/DotNetOpenAuth.BuildTasks/DowngradeProjects.cs
@@ -0,0 +1,110 @@
+//-----------------------------------------------------------------------
+// <copyright file="DowngradeProjects.cs" company="Andrew Arnott">
+// Copyright (c) Andrew Arnott. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace DotNetOpenAuth.BuildTasks {
+ using System;
+ using System.Collections.Generic;
+ using System.IO;
+ using System.Linq;
+ using System.Text;
+ using Microsoft.Build.BuildEngine;
+ using Microsoft.Build.Framework;
+ using Microsoft.Build.Utilities;
+
+ /// <summary>
+ /// Downgrades Visual Studio 2010 solutions and projects so that they load in Visual Studio 2008.
+ /// </summary>
+ public class DowngradeProjects : Task {
+ /// <summary>
+ /// Gets or sets the projects and solutions to downgrade.
+ /// </summary>
+ [Required]
+ public ITaskItem[] Projects { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether ASP.NET MVC 2 projects are downgraded to MVC 1.0.
+ /// </summary>
+ public bool DowngradeMvc2ToMvc1 { get; set; }
+
+ /// <summary>
+ /// Executes this instance.
+ /// </summary>
+ public override bool Execute() {
+ foreach (ITaskItem taskItem in this.Projects) {
+ switch (GetClassification(taskItem)) {
+ case ProjectClassification.VS2010Project:
+ this.Log.LogMessage(MessageImportance.Low, "Downgrading project \"{0}\".", taskItem.ItemSpec);
+ Project project = new Project();
+ project.Load(taskItem.ItemSpec);
+ project.DefaultToolsVersion = "3.5";
+
+ if (this.DowngradeMvc2ToMvc1) {
+ string projectTypeGuids = project.GetEvaluatedProperty("ProjectTypeGuids");
+ if (!string.IsNullOrEmpty(projectTypeGuids)) {
+ projectTypeGuids = projectTypeGuids.Replace("{F85E285D-A4E0-4152-9332-AB1D724D3325}", "{603c0e0b-db56-11dc-be95-000d561079b0}");
+ project.SetProperty("ProjectTypeGuids", projectTypeGuids);
+ }
+ }
+
+ // Web projects usually have an import that includes these substrings
+ foreach (Import import in project.Imports) {
+ import.ProjectPath = import.ProjectPath
+ .Replace("$(MSBuildExtensionsPath32)", "$(MSBuildExtensionsPath)")
+ .Replace("VisualStudio\\v10.0", "VisualStudio\\v9.0");
+ }
+
+ // VS2010 won't let you have a System.Core reference, but VS2008 requires it.
+ BuildItemGroup references = project.GetEvaluatedItemsByName("Reference");
+ if (!references.Cast<BuildItem>().Any(item => item.FinalItemSpec.StartsWith("System.Core", StringComparison.OrdinalIgnoreCase))) {
+ project.AddNewItem("Reference", "System.Core");
+ }
+
+ project.Save(taskItem.ItemSpec);
+ break;
+ case ProjectClassification.VS2010Solution:
+ this.Log.LogMessage(MessageImportance.Low, "Downgrading solution \"{0}\".", taskItem.ItemSpec);
+ string[] contents = File.ReadAllLines(taskItem.ItemSpec);
+ if (contents[1] != "Microsoft Visual Studio Solution File, Format Version 11.00" ||
+ contents[2] != "# Visual Studio 2010") {
+ this.Log.LogError("Unrecognized solution file header in \"{0}\".", taskItem.ItemSpec);
+ break;
+ }
+
+ contents[1] = "Microsoft Visual Studio Solution File, Format Version 10.00";
+ contents[2] = "# Visual Studio 2008";
+
+ for (int i = 3; i < contents.Length; i++) {
+ contents[i] = contents[i].Replace("TargetFrameworkMoniker = \".NETFramework,Version%3Dv", "TargetFramework = \"");
+ }
+
+ File.WriteAllLines(taskItem.ItemSpec, contents);
+ break;
+ default:
+ this.Log.LogWarning("Unrecognized project type for \"{0}\".", taskItem.ItemSpec);
+ break;
+ }
+ }
+
+ return !this.Log.HasLoggedErrors;
+ }
+
+ private static ProjectClassification GetClassification(ITaskItem taskItem) {
+ if (Path.GetExtension(taskItem.ItemSpec).EndsWith("proj", StringComparison.OrdinalIgnoreCase)) {
+ return ProjectClassification.VS2010Project;
+ } else if (Path.GetExtension(taskItem.ItemSpec).Equals(".sln", StringComparison.OrdinalIgnoreCase)) {
+ return ProjectClassification.VS2010Solution;
+ } else {
+ return ProjectClassification.Unrecognized;
+ }
+ }
+
+ private enum ProjectClassification {
+ VS2010Project,
+ VS2010Solution,
+ Unrecognized,
+ }
+ }
+}
diff --git a/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs b/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs
index a6088c9..6c71740 100644
--- a/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs
+++ b/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs
@@ -6,6 +6,7 @@
namespace DotNetOpenAuth.BuildTasks {
using System;
+ using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -24,6 +25,8 @@ namespace DotNetOpenAuth.BuildTasks {
public string[] RemoveImportsStartingWith { get; set; }
+ public ITaskItem[] AddReferences { get; set; }
+
/// <summary>
/// Executes this instance.
/// </summary>
@@ -43,6 +46,15 @@ namespace DotNetOpenAuth.BuildTasks {
.ForEach(import => project.Imports.RemoveImport(import));
}
+ if (this.AddReferences != null) {
+ foreach (var reference in this.AddReferences) {
+ BuildItem item = project.AddNewItem("Reference", reference.ItemSpec);
+ foreach (DictionaryEntry metadata in reference.CloneCustomMetadata()) {
+ item.SetMetadata((string)metadata.Key, (string)metadata.Value);
+ }
+ }
+ }
+
project.Save(projectTaskItem.ItemSpec);
}
diff --git a/src/DotNetOpenAuth.BuildTasks/GetBuildVersion.cs b/src/DotNetOpenAuth.BuildTasks/GetBuildVersion.cs
index 23db9a6..1d60ca4 100644
--- a/src/DotNetOpenAuth.BuildTasks/GetBuildVersion.cs
+++ b/src/DotNetOpenAuth.BuildTasks/GetBuildVersion.cs
@@ -61,6 +61,7 @@ namespace DotNetOpenAuth.BuildTasks {
string cmdPath = Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe");
ProcessStartInfo psi = new ProcessStartInfo(cmdPath, "/c git rev-parse HEAD");
psi.WindowStyle = ProcessWindowStyle.Hidden;
+ psi.CreateNoWindow = true;
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
Process git = Process.Start(psi);
diff --git a/src/DotNetOpenAuth.BuildTasks/HardLinkCopy.cs b/src/DotNetOpenAuth.BuildTasks/HardLinkCopy.cs
new file mode 100644
index 0000000..af2d1d0
--- /dev/null
+++ b/src/DotNetOpenAuth.BuildTasks/HardLinkCopy.cs
@@ -0,0 +1,61 @@
+//-----------------------------------------------------------------------
+// <copyright file="HardLinkCopy.cs" company="Andrew Arnott">
+// Copyright (c) Andrew Arnott. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace DotNetOpenAuth.BuildTasks {
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Text;
+ using Microsoft.Build.Framework;
+ using Microsoft.Build.Utilities;
+ using System.IO;
+
+ public class HardLinkCopy : Task {
+ [Required]
+ public ITaskItem[] SourceFiles { get; set; }
+
+ [Required]
+ public ITaskItem[] DestinationFiles { get; set; }
+
+ /// <summary>
+ /// Executes this instance.
+ /// </summary>
+ public override bool Execute() {
+ if (this.SourceFiles.Length != this.DestinationFiles.Length) {
+ this.Log.LogError("SourceFiles has {0} elements and DestinationFiles has {1} elements.", this.SourceFiles.Length, this.DestinationFiles.Length);
+ return false;
+ }
+
+ for (int i = 0; i < this.SourceFiles.Length; i++) {
+ bool hardLink;
+ bool.TryParse(this.DestinationFiles[i].GetMetadata("HardLink"), out hardLink);
+ string sourceFile = this.SourceFiles[i].ItemSpec;
+ string destinationFile = this.DestinationFiles[i].ItemSpec;
+ this.Log.LogMessage(
+ MessageImportance.Low,
+ "Copying {0} -> {1}{2}.",
+ sourceFile,
+ destinationFile,
+ hardLink ? " as hard link" : string.Empty);
+
+ if (!Directory.Exists(Path.GetDirectoryName(destinationFile))) {
+ Directory.CreateDirectory(Path.GetDirectoryName(destinationFile));
+ }
+
+ if (hardLink) {
+ if (File.Exists(destinationFile)) {
+ File.Delete(destinationFile);
+ }
+ NativeMethods.CreateHardLink(sourceFile, destinationFile);
+ } else {
+ File.Copy(sourceFile, destinationFile, true);
+ }
+ }
+
+ return !this.Log.HasLoggedErrors;
+ }
+ }
+}
diff --git a/src/DotNetOpenAuth.BuildTasks/NativeMethods.cs b/src/DotNetOpenAuth.BuildTasks/NativeMethods.cs
new file mode 100644
index 0000000..26de3a4
--- /dev/null
+++ b/src/DotNetOpenAuth.BuildTasks/NativeMethods.cs
@@ -0,0 +1,18 @@
+namespace DotNetOpenAuth.BuildTasks {
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Text;
+ using System.Runtime.InteropServices;
+
+ internal static class NativeMethods {
+ [DllImport("kernel32", SetLastError = true)]
+ private static extern bool CreateHardLink(string newFileName, string existingFileName, IntPtr securityAttributes);
+
+ internal static void CreateHardLink(string existingFileName, string newFileName) {
+ if (!CreateHardLink(newFileName, existingFileName, IntPtr.Zero)) {
+ Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error());
+ }
+ }
+ }
+}
diff --git a/src/DotNetOpenAuth.Test/AssemblyTesting.cs b/src/DotNetOpenAuth.Test/AssemblyTesting.cs
index 7659a82..92b08ec 100644
--- a/src/DotNetOpenAuth.Test/AssemblyTesting.cs
+++ b/src/DotNetOpenAuth.Test/AssemblyTesting.cs
@@ -6,12 +6,12 @@
namespace DotNetOpenAuth.Test {
using System.Diagnostics.Contracts;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [SetUpFixture]
public class AssemblyTesting {
- [AssemblyInitialize]
- public static void AssemblyInitialize(TestContext tc) {
+ [SetUp]
+ public static void AssemblyInitialize() {
// Make contract failures become test failures.
Contract.ContractFailed += (sender, e) => {
// For now, we have tests that verify that preconditions throw exceptions.
diff --git a/src/DotNetOpenAuth.Test/Configuration/SectionTests.cs b/src/DotNetOpenAuth.Test/Configuration/SectionTests.cs
index 73aad6d..e423053 100644
--- a/src/DotNetOpenAuth.Test/Configuration/SectionTests.cs
+++ b/src/DotNetOpenAuth.Test/Configuration/SectionTests.cs
@@ -9,11 +9,11 @@ namespace DotNetOpenAuth.Test.Configuration {
using System.Linq;
using DotNetOpenAuth.Configuration;
using DotNetOpenAuth.OpenId;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class SectionTests {
- [TestMethod]
+ [TestCase]
public void UntrustedWebRequest() {
var uwr = DotNetOpenAuthSection.Configuration.Messaging.UntrustedWebRequest;
@@ -29,12 +29,12 @@ namespace DotNetOpenAuth.Test.Configuration {
Assert.IsTrue(uwr.WhitelistHostsRegex.KeysAsStrings.Contains(".+trusted.+"));
}
- [TestMethod]
+ [TestCase]
public void OpenIdMaxAuthenticationTime() {
Assert.AreEqual(TimeSpan.Parse("00:08:17"), DotNetOpenAuthSection.Configuration.OpenId.MaxAuthenticationTime);
}
- [TestMethod]
+ [TestCase]
public void OpenIdRelyingParty() {
var rp = DotNetOpenAuthSection.Configuration.OpenId.RelyingParty;
Assert.IsNull(rp.ApplicationStore.CustomType);
@@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.Configuration {
Assert.IsFalse(rp.SecuritySettings.RequireSsl);
}
- [TestMethod]
+ [TestCase]
public void OpenIdProvider() {
var op = DotNetOpenAuthSection.Configuration.OpenId.Provider;
Assert.IsNull(op.ApplicationStore.CustomType);
diff --git a/src/DotNetOpenAuth.Test/CoordinatorBase.cs b/src/DotNetOpenAuth.Test/CoordinatorBase.cs
index df331f3..f25964c 100644
--- a/src/DotNetOpenAuth.Test/CoordinatorBase.cs
+++ b/src/DotNetOpenAuth.Test/CoordinatorBase.cs
@@ -11,7 +11,7 @@ namespace DotNetOpenAuth.Test {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId.RelyingParty;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
internal abstract class CoordinatorBase<T1, T2> {
private Action<T1> party1Action;
@@ -84,7 +84,7 @@ namespace DotNetOpenAuth.Test {
// Use the failing reason of a failing sub-thread as our reason, if anything failed.
if (failingException != null) {
- throw new AssertFailedException("Coordinator thread threw unhandled exception: " + failingException, failingException);
+ throw new AssertionException("Coordinator thread threw unhandled exception: " + failingException, failingException);
}
}
}
diff --git a/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj b/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj
index 48a43db..632d2fd 100644
--- a/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj
+++ b/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj
@@ -1,4 +1,5 @@
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..\</ProjectRoot>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -13,9 +14,26 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DotNetOpenAuth.Test</RootNamespace>
<AssemblyName>DotNetOpenAuth.Test</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <PublishUrl>publish\</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Disk</InstallFrom>
+ <UpdateEnabled>false</UpdateEnabled>
+ <UpdateMode>Foreground</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>true</MapFileExtensions>
+ <ApplicationRevision>0</ApplicationRevision>
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+ <IsWebBootstrapper>false</IsWebBootstrapper>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -49,6 +67,7 @@
<CodeContractsRuntimeOnlyPublicSurface>False</CodeContractsRuntimeOnlyPublicSurface>
<CodeContractsRuntimeThrowOnFailure>True</CodeContractsRuntimeThrowOnFailure>
<CodeContractsRuntimeCallSiteRequires>False</CodeContractsRuntimeCallSiteRequires>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -81,6 +100,7 @@
<CodeContractsUseBaseLine>False</CodeContractsUseBaseLine>
<CodeContractsRunInBackground>True</CodeContractsRunInBackground>
<CodeContractsShowSquigglies>False</CodeContractsShowSquigglies>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'CodeAnalysis|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -115,21 +135,21 @@
<CodeContractsRuntimeThrowOnFailure>True</CodeContractsRuntimeThrowOnFailure>
<CodeContractsRuntimeCallSiteRequires>False</CodeContractsRuntimeCallSiteRequires>
<CodeContractsArithmeticObligations>False</CodeContractsArithmeticObligations>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\log4net.dll</HintPath>
</Reference>
- <Reference Include="Microsoft.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=736440c9b414ea16, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\lib\Microsoft.Contracts.dll</HintPath>
- </Reference>
- <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
<Reference Include="Moq, Version=3.1.416.3, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\Moq.dll</HintPath>
</Reference>
+ <Reference Include="nunit.framework">
+ <HintPath>..\..\lib\nunit.framework.dll</HintPath>
+ </Reference>
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Core">
@@ -289,15 +309,13 @@
<ProjectReference Include="..\DotNetOpenAuth\DotNetOpenAuth.csproj">
<Project>{3191B653-F76D-4C1A-9A5A-347BC3AAAAB7}</Project>
<Name>DotNetOpenAuth</Name>
+ <Shadow>true</Shadow>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Logging.config" />
</ItemGroup>
<ItemGroup>
- <Shadow Include="Test References\DotNetOpenAuth.accessor" />
- </ItemGroup>
- <ItemGroup>
<EmbeddedResource Include="OpenId\Discovery\htmldiscovery\html1020.html" />
<EmbeddedResource Include="OpenId\Discovery\htmldiscovery\html10both.html" />
<EmbeddedResource Include="OpenId\Discovery\htmldiscovery\html10del.html" />
@@ -332,6 +350,28 @@
<ItemGroup>
<Folder Include="OpenId\UI\" />
</ItemGroup>
+ <ItemGroup>
+ <BootstrapperPackage Include=".NETFramework,Version=v4.0">
+ <Visible>False</Visible>
+ <ProductName>Microsoft .NET Framework 4 %28x86 and x64%29</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+ <Visible>False</Visible>
+ <ProductName>Windows Installer 3.1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" />
</Project>
diff --git a/src/DotNetOpenAuth.Test/Hosting/HostingTests.cs b/src/DotNetOpenAuth.Test/Hosting/HostingTests.cs
index d7de7a1..b7e04f7 100644
--- a/src/DotNetOpenAuth.Test/Hosting/HostingTests.cs
+++ b/src/DotNetOpenAuth.Test/Hosting/HostingTests.cs
@@ -12,11 +12,11 @@ namespace DotNetOpenAuth.Test.Hosting {
using System.Net;
using System.Text;
using DotNetOpenAuth.Test.OpenId;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture, Category("HostASPNET")]
public class HostingTests : TestBase {
- [TestMethod]
+ [TestCase]
public void AspHostBasicTest() {
try {
using (AspNetHost host = AspNetHost.CreateHost(TestWebDirectory)) {
@@ -25,7 +25,7 @@ namespace DotNetOpenAuth.Test.Hosting {
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
using (StreamReader sr = new StreamReader(response.GetResponseStream())) {
string content = sr.ReadToEnd();
- StringAssert.Contains(content, "Test home page");
+ StringAssert.Contains("Test home page", content);
}
}
}
diff --git a/src/DotNetOpenAuth.Test/LocalizationTests.cs b/src/DotNetOpenAuth.Test/LocalizationTests.cs
index 50e9a34..4920deb 100644
--- a/src/DotNetOpenAuth.Test/LocalizationTests.cs
+++ b/src/DotNetOpenAuth.Test/LocalizationTests.cs
@@ -8,19 +8,21 @@ namespace DotNetOpenAuth.Test {
using System;
using System.Globalization;
using System.Threading;
+ using System.Web;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
/// <summary>
/// Tests various localized resources work as expected.
/// </summary>
- [TestClass]
- public class LocalizationTests {
+ [TestFixture]
+ public class LocalizationTests : TestBase {
/// <summary>
/// Tests that Serbian localized strings are correctly installed.
/// </summary>
- [TestMethod, ExpectedException(typeof(InvalidOperationException), "Ovaj metod zahteva tekući HttpContext. Kao alternativa, koristite preklopljeni metod koji dozvoljava da se prosledi informacija bez HttpContext-a.")]
+ [TestCase, ExpectedException(typeof(InvalidOperationException), ExpectedMessage = "Ovaj metod zahteva tekući HttpContext. Kao alternativa, koristite preklopljeni metod koji dozvoljava da se prosledi informacija bez HttpContext-a.")]
public void Serbian() {
+ HttpContext.Current = null; // our testbase initializes this, but it must be null to throw
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("sr");
ErrorUtilities.VerifyHttpContext();
}
diff --git a/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardExpirationBindingElementTests.cs b/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardExpirationBindingElementTests.cs
index 3cc792b..9ba433d 100644
--- a/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardExpirationBindingElementTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardExpirationBindingElementTests.cs
@@ -9,11 +9,11 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Bindings;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class StandardExpirationBindingElementTests : MessagingTestBase {
- [TestMethod]
+ [TestCase]
public void SendSetsTimestamp() {
TestExpiringMessage message = new TestExpiringMessage(MessageTransport.Indirect);
message.Recipient = new Uri("http://localtest");
@@ -24,13 +24,13 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings {
Assert.IsTrue(DateTime.UtcNow - ((IExpiringProtocolMessage)message).UtcCreationDate < TimeSpan.FromSeconds(3), "The timestamp on the message was not set on send.");
}
- [TestMethod]
+ [TestCase]
public void VerifyGoodTimestampIsAccepted() {
this.Channel = CreateChannel(MessageProtections.Expiration);
this.ParameterizedReceiveProtectedTest(DateTime.UtcNow, false);
}
- [TestMethod, ExpectedException(typeof(ExpiredMessageException))]
+ [TestCase, ExpectedException(typeof(ExpiredMessageException))]
public void VerifyBadTimestampIsRejected() {
this.Channel = CreateChannel(MessageProtections.Expiration);
this.ParameterizedReceiveProtectedTest(DateTime.UtcNow - StandardExpirationBindingElement.MaximumMessageAge - TimeSpan.FromSeconds(1), false);
diff --git a/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardReplayProtectionBindingElementTests.cs b/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardReplayProtectionBindingElementTests.cs
index 14651bc..d8698ce 100644
--- a/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardReplayProtectionBindingElementTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardReplayProtectionBindingElementTests.cs
@@ -15,16 +15,16 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings {
using DotNetOpenAuth.OpenId.ChannelElements;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class StandardReplayProtectionBindingElementTests : MessagingTestBase {
private Protocol protocol;
private StandardReplayProtectionBindingElement nonceElement;
private IReplayProtectedProtocolMessage message;
private INonceStore nonceStore;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings {
/// <summary>
/// Verifies that the generated nonce includes random characters.
/// </summary>
- [TestMethod]
+ [TestCase]
public void RandomCharactersTest() {
Assert.IsNotNull(this.nonceElement.ProcessOutgoingMessage(this.message));
Assert.IsNotNull(this.message.Nonce, "No nonce was set on the message.");
@@ -56,7 +56,7 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings {
/// <summary>
/// Verifies that a message is received correctly.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ValidMessageReceivedTest() {
this.message.Nonce = "a";
Assert.IsNotNull(this.nonceElement.ProcessIncomingMessage(this.message));
@@ -65,7 +65,7 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings {
/// <summary>
/// Verifies that a message that doesn't have a string of random characters is received correctly.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ValidMessageNoNonceReceivedTest() {
this.message.Nonce = string.Empty;
this.nonceElement.AllowZeroLengthNonce = true;
@@ -75,7 +75,7 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings {
/// <summary>
/// Verifies that a message that doesn't have a string of random characters is received correctly.
/// </summary>
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void InvalidMessageNoNonceReceivedTest() {
this.message.Nonce = string.Empty;
this.nonceElement.AllowZeroLengthNonce = false;
@@ -85,7 +85,7 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings {
/// <summary>
/// Verifies that a replayed message is rejected.
/// </summary>
- [TestMethod, ExpectedException(typeof(ReplayedMessageException))]
+ [TestCase, ExpectedException(typeof(ReplayedMessageException))]
public void ReplayDetectionTest() {
this.message.Nonce = "a";
Assert.IsNotNull(this.nonceElement.ProcessIncomingMessage(this.message));
diff --git a/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs b/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs
index 7846411..d22c2f7 100644
--- a/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs
@@ -13,23 +13,23 @@ namespace DotNetOpenAuth.Test.Messaging {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Bindings;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ChannelTests : MessagingTestBase {
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNull() {
// This bad channel is deliberately constructed to pass null to
// its protected base class' constructor.
new TestBadChannel(true);
}
- [TestMethod]
+ [TestCase]
public void ReadFromRequestQueryString() {
this.ParameterizedReceiveTest("GET");
}
- [TestMethod]
+ [TestCase]
public void ReadFromRequestForm() {
this.ParameterizedReceiveTest("POST");
}
@@ -38,37 +38,37 @@ namespace DotNetOpenAuth.Test.Messaging {
/// Verifies compliance to OpenID 2.0 section 5.1.1 by verifying the channel
/// will reject messages that come with an unexpected HTTP verb.
/// </summary>
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void ReadFromRequestDisallowedHttpMethod() {
var fields = GetStandardTestFields(FieldFill.CompleteBeforeBindings);
fields["GetOnly"] = "true";
this.Channel.ReadFromRequest(CreateHttpRequestInfo("POST", fields));
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void SendNull() {
this.Channel.PrepareResponse(null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void SendIndirectedUndirectedMessage() {
IProtocolMessage message = new TestDirectedMessage(MessageTransport.Indirect);
this.Channel.PrepareResponse(message);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void SendDirectedNoRecipientMessage() {
IProtocolMessage message = new TestDirectedMessage(MessageTransport.Indirect);
this.Channel.PrepareResponse(message);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void SendInvalidMessageTransport() {
IProtocolMessage message = new TestDirectedMessage((MessageTransport)100);
this.Channel.PrepareResponse(message);
}
- [TestMethod]
+ [TestCase]
public void SendIndirectMessage301Get() {
TestDirectedMessage message = new TestDirectedMessage(MessageTransport.Indirect);
GetStandardTestMessage(FieldFill.CompleteBeforeBindings, message);
@@ -77,29 +77,29 @@ namespace DotNetOpenAuth.Test.Messaging {
OutgoingWebResponse response = this.Channel.PrepareResponse(message);
Assert.AreEqual(HttpStatusCode.Redirect, response.Status);
- StringAssert.StartsWith(response.Headers[HttpResponseHeader.Location], "http://provider/path");
+ StringAssert.StartsWith("http://provider/path", response.Headers[HttpResponseHeader.Location]);
foreach (var pair in expected) {
string key = MessagingUtilities.EscapeUriDataStringRfc3986(pair.Key);
string value = MessagingUtilities.EscapeUriDataStringRfc3986(pair.Value);
string substring = string.Format("{0}={1}", key, value);
- StringAssert.Contains(response.Headers[HttpResponseHeader.Location], substring);
+ StringAssert.Contains(substring, response.Headers[HttpResponseHeader.Location]);
}
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void SendIndirectMessage301GetNullMessage() {
TestBadChannel badChannel = new TestBadChannel(false);
badChannel.Create301RedirectResponse(null, new Dictionary<string, string>());
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void SendIndirectMessage301GetEmptyRecipient() {
TestBadChannel badChannel = new TestBadChannel(false);
var message = new TestDirectedMessage(MessageTransport.Indirect);
badChannel.Create301RedirectResponse(message, new Dictionary<string, string>());
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void SendIndirectMessage301GetNullFields() {
TestBadChannel badChannel = new TestBadChannel(false);
var message = new TestDirectedMessage(MessageTransport.Indirect);
@@ -107,7 +107,7 @@ namespace DotNetOpenAuth.Test.Messaging {
badChannel.Create301RedirectResponse(message, null);
}
- [TestMethod]
+ [TestCase]
public void SendIndirectMessageFormPost() {
// We craft a very large message to force fallback to form POST.
// We'll also stick some HTML reserved characters in the string value
@@ -122,29 +122,29 @@ namespace DotNetOpenAuth.Test.Messaging {
Assert.AreEqual(HttpStatusCode.OK, response.Status, "A form redirect should be an HTTP successful response.");
Assert.IsNull(response.Headers[HttpResponseHeader.Location], "There should not be a redirection header in the response.");
string body = response.Body;
- StringAssert.Contains(body, "<form ");
- StringAssert.Contains(body, "action=\"http://provider/path\"");
- StringAssert.Contains(body, "method=\"post\"");
- StringAssert.Contains(body, "<input type=\"hidden\" name=\"age\" value=\"15\" />");
- StringAssert.Contains(body, "<input type=\"hidden\" name=\"Location\" value=\"http://host/path\" />");
- StringAssert.Contains(body, "<input type=\"hidden\" name=\"Name\" value=\"" + HttpUtility.HtmlEncode(message.Name) + "\" />");
- StringAssert.Contains(body, ".submit()", "There should be some javascript to automate form submission.");
+ StringAssert.Contains("<form ", body);
+ StringAssert.Contains("action=\"http://provider/path\"", body);
+ StringAssert.Contains("method=\"post\"", body);
+ StringAssert.Contains("<input type=\"hidden\" name=\"age\" value=\"15\" />", body);
+ StringAssert.Contains("<input type=\"hidden\" name=\"Location\" value=\"http://host/path\" />", body);
+ StringAssert.Contains("<input type=\"hidden\" name=\"Name\" value=\"" + HttpUtility.HtmlEncode(message.Name) + "\" />", body);
+ StringAssert.Contains(".submit()", body, "There should be some javascript to automate form submission.");
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void SendIndirectMessageFormPostNullMessage() {
TestBadChannel badChannel = new TestBadChannel(false);
badChannel.CreateFormPostResponse(null, new Dictionary<string, string>());
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void SendIndirectMessageFormPostEmptyRecipient() {
TestBadChannel badChannel = new TestBadChannel(false);
var message = new TestDirectedMessage(MessageTransport.Indirect);
badChannel.CreateFormPostResponse(message, new Dictionary<string, string>());
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void SendIndirectMessageFormPostNullFields() {
TestBadChannel badChannel = new TestBadChannel(false);
var message = new TestDirectedMessage(MessageTransport.Indirect);
@@ -159,7 +159,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// Since this is a mock channel that doesn't actually formulate a direct message response,
/// we just check that the right method was called.
/// </remarks>
- [TestMethod, ExpectedException(typeof(NotImplementedException), "SendDirectMessageResponse")]
+ [TestCase, ExpectedException(typeof(NotImplementedException))]
public void SendDirectMessageResponse() {
IProtocolMessage message = new TestDirectedMessage {
Age = 15,
@@ -169,25 +169,25 @@ namespace DotNetOpenAuth.Test.Messaging {
this.Channel.PrepareResponse(message);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void SendIndirectMessageNull() {
TestBadChannel badChannel = new TestBadChannel(false);
badChannel.PrepareIndirectResponse(null);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void ReceiveNull() {
TestBadChannel badChannel = new TestBadChannel(false);
badChannel.Receive(null, null);
}
- [TestMethod]
+ [TestCase]
public void ReceiveUnrecognizedMessage() {
TestBadChannel badChannel = new TestBadChannel(false);
Assert.IsNull(badChannel.Receive(new Dictionary<string, string>(), null));
}
- [TestMethod]
+ [TestCase]
public void ReadFromRequestWithContext() {
var fields = GetStandardTestFields(FieldFill.AllRequired);
TestMessage expectedMessage = GetStandardTestMessage(FieldFill.AllRequired);
@@ -195,24 +195,24 @@ namespace DotNetOpenAuth.Test.Messaging {
HttpContext.Current = new HttpContext(request, new HttpResponse(new StringWriter()));
IProtocolMessage message = this.Channel.ReadFromRequest();
Assert.IsNotNull(message);
- Assert.IsInstanceOfType(message, typeof(TestMessage));
+ Assert.IsInstanceOf<TestMessage>(message);
Assert.AreEqual(expectedMessage.Age, ((TestMessage)message).Age);
}
- [TestMethod, ExpectedException(typeof(InvalidOperationException))]
+ [TestCase, ExpectedException(typeof(InvalidOperationException))]
public void ReadFromRequestNoContext() {
HttpContext.Current = null;
TestBadChannel badChannel = new TestBadChannel(false);
badChannel.ReadFromRequest();
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void ReadFromRequestNull() {
TestBadChannel badChannel = new TestBadChannel(false);
badChannel.ReadFromRequest(null);
}
- [TestMethod]
+ [TestCase]
public void SendReplayProtectedMessageSetsNonce() {
TestReplayProtectedMessage message = new TestReplayProtectedMessage(MessageTransport.Indirect);
message.Recipient = new Uri("http://localtest");
@@ -222,33 +222,33 @@ namespace DotNetOpenAuth.Test.Messaging {
Assert.IsNotNull(((IReplayProtectedProtocolMessage)message).Nonce);
}
- [TestMethod, ExpectedException(typeof(InvalidSignatureException))]
+ [TestCase, ExpectedException(typeof(InvalidSignatureException))]
public void ReceivedInvalidSignature() {
this.Channel = CreateChannel(MessageProtections.TamperProtection);
this.ParameterizedReceiveProtectedTest(DateTime.UtcNow, true);
}
- [TestMethod]
+ [TestCase]
public void ReceivedReplayProtectedMessageJustOnce() {
this.Channel = CreateChannel(MessageProtections.ReplayProtection);
this.ParameterizedReceiveProtectedTest(DateTime.UtcNow, false);
}
- [TestMethod, ExpectedException(typeof(ReplayedMessageException))]
+ [TestCase, ExpectedException(typeof(ReplayedMessageException))]
public void ReceivedReplayProtectedMessageTwice() {
this.Channel = CreateChannel(MessageProtections.ReplayProtection);
this.ParameterizedReceiveProtectedTest(DateTime.UtcNow, false);
this.ParameterizedReceiveProtectedTest(DateTime.UtcNow, false);
}
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void MessageExpirationWithoutTamperResistance() {
new TestChannel(
new TestMessageFactory(),
new StandardExpirationBindingElement());
}
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void TooManyBindingElementsProvidingSameProtection() {
Channel channel = new TestChannel(
new TestMessageFactory(),
@@ -258,7 +258,7 @@ namespace DotNetOpenAuth.Test.Messaging {
accessor.ProcessOutgoingMessage(new TestSignedDirectedMessage());
}
- [TestMethod]
+ [TestCase]
public void BindingElementsOrdering() {
IChannelBindingElement transformA = new MockTransformationBindingElement("a");
IChannelBindingElement transformB = new MockTransformationBindingElement("b");
@@ -282,20 +282,20 @@ namespace DotNetOpenAuth.Test.Messaging {
Assert.AreSame(sign, channel.BindingElements[4]);
}
- [TestMethod, ExpectedException(typeof(UnprotectedMessageException))]
+ [TestCase, ExpectedException(typeof(UnprotectedMessageException))]
public void InsufficientlyProtectedMessageSent() {
var message = new TestSignedDirectedMessage(MessageTransport.Direct);
message.Recipient = new Uri("http://localtest");
this.Channel.PrepareResponse(message);
}
- [TestMethod, ExpectedException(typeof(UnprotectedMessageException))]
+ [TestCase, ExpectedException(typeof(UnprotectedMessageException))]
public void InsufficientlyProtectedMessageReceived() {
this.Channel = CreateChannel(MessageProtections.None, MessageProtections.TamperProtection);
this.ParameterizedReceiveProtectedTest(DateTime.Now, false);
}
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void IncomingMessageMissingRequiredParameters() {
var fields = GetStandardTestFields(FieldFill.IdentifiableButNotAllRequired);
this.Channel.ReadFromRequest(CreateHttpRequestInfo("GET", fields));
diff --git a/src/DotNetOpenAuth.Test/Messaging/CollectionAssert.cs b/src/DotNetOpenAuth.Test/Messaging/CollectionAssert.cs
index db136f5..506a6b2 100644
--- a/src/DotNetOpenAuth.Test/Messaging/CollectionAssert.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/CollectionAssert.cs
@@ -11,7 +11,7 @@ namespace DotNetOpenAuth.Test.Messaging {
using System.Diagnostics.Contracts;
using System.Linq;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
internal class CollectionAssert<T> {
internal static void AreEquivalent(ICollection<T> expected, ICollection<T> actual) {
diff --git a/src/DotNetOpenAuth.Test/Messaging/EnumerableCacheTests.cs b/src/DotNetOpenAuth.Test/Messaging/EnumerableCacheTests.cs
index 55f4394..1c9f5a8 100644
--- a/src/DotNetOpenAuth.Test/Messaging/EnumerableCacheTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/EnumerableCacheTests.cs
@@ -11,12 +11,12 @@ namespace DotNetOpenAuth.Test.Messaging {
using System.Collections.ObjectModel;
using System.Linq;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
/// <summary>
/// Tests for cached enumeration.
/// </summary>
- [TestClass]
+ [TestFixture]
public class EnumerableCacheTests {
/// <summary>
/// The number of times the generator method's implementation is started.
@@ -29,20 +29,15 @@ namespace DotNetOpenAuth.Test.Messaging {
private int generatorCompleted;
/// <summary>
- /// Gets or sets the test context.
- /// </summary>
- public TestContext TestContext { get; set; }
-
- /// <summary>
/// Sets up a test.
/// </summary>
- [TestInitialize]
+ [SetUp]
public void Setup() {
this.generatorInvocations = 0;
this.generatorCompleted = 0;
}
- [TestMethod]
+ [TestCase]
public void EnumerableCache() {
// Baseline
var generator = this.NumberGenerator();
@@ -63,7 +58,7 @@ namespace DotNetOpenAuth.Test.Messaging {
CollectionAssert.AreEqual(list1, list4);
}
- [TestMethod]
+ [TestCase]
public void GeneratesOnlyRequiredElements() {
var generator = this.NumberGenerator().CacheGeneratedResults();
Assert.AreEqual(0, this.generatorInvocations);
@@ -72,28 +67,28 @@ namespace DotNetOpenAuth.Test.Messaging {
Assert.AreEqual(0, this.generatorCompleted, "Only taking part of the list should not have completed the generator.");
}
- [TestMethod]
+ [TestCase]
public void PassThruDoubleCache() {
var cache1 = this.NumberGenerator().CacheGeneratedResults();
var cache2 = cache1.CacheGeneratedResults();
Assert.AreSame(cache1, cache2, "Two caches were set up rather than just sharing the first one.");
}
- [TestMethod]
+ [TestCase]
public void PassThruList() {
var list = this.NumberGenerator().ToList();
var cache = list.CacheGeneratedResults();
Assert.AreSame(list, cache);
}
- [TestMethod]
+ [TestCase]
public void PassThruArray() {
var array = this.NumberGenerator().ToArray();
var cache = array.CacheGeneratedResults();
Assert.AreSame(array, cache);
}
- [TestMethod]
+ [TestCase]
public void PassThruCollection() {
var collection = new Collection<int>();
var cache = collection.CacheGeneratedResults();
@@ -103,7 +98,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Tests calling IEnumerator.Current before first call to MoveNext.
/// </summary>
- [TestMethod, ExpectedException(typeof(InvalidOperationException))]
+ [TestCase, ExpectedException(typeof(InvalidOperationException))]
public void EnumerableCacheCurrentThrowsBefore() {
var foo = this.NumberGenerator().CacheGeneratedResults().GetEnumerator().Current;
}
@@ -111,7 +106,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Tests calling IEnumerator.Current after MoveNext returns false.
/// </summary>
- [TestMethod, ExpectedException(typeof(InvalidOperationException))]
+ [TestCase, ExpectedException(typeof(InvalidOperationException))]
public void EnumerableCacheCurrentThrowsAfter() {
var enumerator = this.NumberGenerator().CacheGeneratedResults().GetEnumerator();
while (enumerator.MoveNext()) {
diff --git a/src/DotNetOpenAuth.Test/Messaging/ErrorUtilitiesTests.cs b/src/DotNetOpenAuth.Test/Messaging/ErrorUtilitiesTests.cs
index 36b6ae7..4408708 100644
--- a/src/DotNetOpenAuth.Test/Messaging/ErrorUtilitiesTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/ErrorUtilitiesTests.cs
@@ -7,31 +7,31 @@
namespace DotNetOpenAuth.Test.Messaging {
using System;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ErrorUtilitiesTests {
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void VerifyArgumentNotNullThrows() {
ErrorUtilities.VerifyArgumentNotNull(null, "someArg");
}
- [TestMethod]
+ [TestCase]
public void VerifyArgumentNotNullDoesNotThrow() {
ErrorUtilities.VerifyArgumentNotNull("hi", "someArg");
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void VerifyNonZeroLengthOnNull() {
ErrorUtilities.VerifyNonZeroLength(null, "someArg");
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void VerifyNonZeroLengthOnEmpty() {
ErrorUtilities.VerifyNonZeroLength(string.Empty, "someArg");
}
- [TestMethod]
+ [TestCase]
public void VerifyNonZeroLengthOnNonEmpty() {
ErrorUtilities.VerifyNonZeroLength("some Value", "someArg");
}
diff --git a/src/DotNetOpenAuth.Test/Messaging/HttpRequestInfoTests.cs b/src/DotNetOpenAuth.Test/Messaging/HttpRequestInfoTests.cs
index fd77746..0085d59 100644
--- a/src/DotNetOpenAuth.Test/Messaging/HttpRequestInfoTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/HttpRequestInfoTests.cs
@@ -9,17 +9,17 @@ namespace DotNetOpenAuth.Test.Messaging {
using System.Collections.Specialized;
using System.Web;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class HttpRequestInfoTests : TestBase {
- [TestMethod]
+ [TestCase]
public void CtorDefault() {
HttpRequestInfo info = new HttpRequestInfo();
Assert.AreEqual("GET", info.HttpMethod);
}
- [TestMethod]
+ [TestCase]
public void CtorRequest() {
HttpRequest request = new HttpRequest("file", "http://someserver?a=b", "a=b");
////request.Headers["headername"] = "headervalue"; // PlatformNotSupportedException prevents us mocking this up
@@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.Messaging {
}
// All these tests are ineffective because ServerVariables[] cannot be set.
- ////[TestMethod]
+ ////[TestCase]
////public void CtorRequestWithDifferentPublicHttpHost() {
//// HttpRequest request = new HttpRequest("file", "http://someserver?a=b", "a=b");
//// request.ServerVariables["HTTP_HOST"] = "publichost";
@@ -44,7 +44,7 @@ namespace DotNetOpenAuth.Test.Messaging {
//// Assert.AreEqual(request.QueryString["a"], info.QueryString["a"]);
////}
- ////[TestMethod]
+ ////[TestCase]
////public void CtorRequestWithDifferentPublicHttpsHost() {
//// HttpRequest request = new HttpRequest("file", "https://someserver?a=b", "a=b");
//// request.ServerVariables["HTTP_HOST"] = "publichost";
@@ -55,7 +55,7 @@ namespace DotNetOpenAuth.Test.Messaging {
//// Assert.AreEqual(request.QueryString["a"], info.QueryString["a"]);
////}
- ////[TestMethod]
+ ////[TestCase]
////public void CtorRequestWithDifferentPublicHostNonstandardPort() {
//// HttpRequest request = new HttpRequest("file", "http://someserver?a=b", "a=b");
//// request.ServerVariables["HTTP_HOST"] = "publichost:550";
@@ -66,7 +66,7 @@ namespace DotNetOpenAuth.Test.Messaging {
//// Assert.AreEqual(request.QueryString["a"], info.QueryString["a"]);
////}
- ////[TestMethod]
+ ////[TestCase]
////public void CtorRequestWithDifferentPublicIPv6Host() {
//// HttpRequest request = new HttpRequest("file", "http://[fe80::587e:c6e5:d3aa:657a]:8089/v3.1/", "");
//// request.ServerVariables["HTTP_HOST"] = "[fe80::587e:c6e5:d3aa:657b]:8089";
@@ -80,7 +80,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// Checks that a property dependent on another null property
/// doesn't generate a NullReferenceException.
/// </summary>
- [TestMethod]
+ [TestCase]
public void QueryBeforeSettingUrl() {
HttpRequestInfo info = new HttpRequestInfo();
Assert.IsNull(info.Query);
@@ -89,7 +89,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Verifies that looking up a querystring variable is gracefully handled without a query in the URL.
/// </summary>
- [TestMethod]
+ [TestCase]
public void QueryStringLookupWithoutQuery() {
HttpRequestInfo info = new HttpRequestInfo();
Assert.IsNull(info.QueryString["hi"]);
@@ -98,7 +98,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Verifies SSL forwarders are correctly handled when they supply X_FORWARDED_PROTO and HOST
/// </summary>
- [TestMethod]
+ [TestCase]
public void GetPublicFacingUrlSSLForwarder1() {
HttpRequest req = new HttpRequest("a.aspx", "http://someinternalhost/a.aspx?a=b", "a=b");
var serverVariables = new NameValueCollection();
@@ -112,7 +112,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Verifies SSL forwarders are correctly handled when they supply X_FORWARDED_PROTO and HOST:port
/// </summary>
- [TestMethod]
+ [TestCase]
public void GetPublicFacingUrlSSLForwarder2() {
HttpRequest req = new HttpRequest("a.aspx", "http://someinternalhost/a.aspx?a=b", "a=b");
var serverVariables = new NameValueCollection();
@@ -126,7 +126,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Verifies SSL forwarders are correctly handled when they supply just HOST
/// </summary>
- [TestMethod]
+ [TestCase]
public void GetPublicFacingUrlSSLForwarder3() {
HttpRequest req = new HttpRequest("a.aspx", "http://someinternalhost/a.aspx?a=b", "a=b");
var serverVariables = new NameValueCollection();
@@ -139,7 +139,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Verifies SSL forwarders are correctly handled when they supply just HOST:port
/// </summary>
- [TestMethod]
+ [TestCase]
public void GetPublicFacingUrlSSLForwarder4() {
HttpRequest req = new HttpRequest("a.aspx", "http://someinternalhost/a.aspx?a=b", "a=b");
var serverVariables = new NameValueCollection();
diff --git a/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs b/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs
index 481a715..91cccf1 100644
--- a/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs
@@ -9,30 +9,30 @@ namespace DotNetOpenAuth.Test.Messaging {
using System.Collections.Generic;
using System.Xml;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
/// <summary>
/// Tests for the <see cref="MessageSerializer"/> class.
/// </summary>
- [TestClass()]
+ [TestFixture()]
public class MessageSerializerTests : MessagingTestBase {
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void SerializeNull() {
var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage));
serializer.Serialize(null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void GetInvalidMessageType() {
MessageSerializer.Get(typeof(string));
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void GetNullType() {
MessageSerializer.Get(null);
}
- [TestMethod()]
+ [TestCase()]
public void SerializeTest() {
var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage));
var message = GetStandardTestMessage(FieldFill.CompleteBeforeBindings);
@@ -52,13 +52,13 @@ namespace DotNetOpenAuth.Test.Messaging {
Assert.IsFalse(actual.ContainsKey("EmptyMember"));
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void DeserializeNull() {
var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage));
serializer.Deserialize(null, null);
}
- [TestMethod]
+ [TestCase]
public void DeserializeSimple() {
var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage));
Dictionary<string, string> fields = new Dictionary<string, string>(StringComparer.Ordinal);
@@ -81,7 +81,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// The element sorting rules are first inheritance order, then alphabetical order.
/// This test validates correct behavior on both.
/// </remarks>
- [TestMethod]
+ [TestCase]
public void DeserializeVerifyElementOrdering() {
var serializer = MessageSerializer.Get(typeof(Mocks.TestDerivedMessage));
Dictionary<string, string> fields = new Dictionary<string, string>(StringComparer.Ordinal);
@@ -105,7 +105,7 @@ namespace DotNetOpenAuth.Test.Messaging {
Assert.AreEqual("privateValue", actual.PrivatePropertyAccessor);
}
- [TestMethod]
+ [TestCase]
public void DeserializeWithExtraFields() {
var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage));
Dictionary<string, string> fields = new Dictionary<string, string>(StringComparer.Ordinal);
@@ -122,7 +122,7 @@ namespace DotNetOpenAuth.Test.Messaging {
Assert.IsNull(actual.EmptyMember);
}
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void DeserializeInvalidMessage() {
IProtocolMessage message = new Mocks.TestDirectedMessage();
var serializer = MessageSerializer.Get(message.GetType());
diff --git a/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs b/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs
index accb182..72f3359 100644
--- a/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs
@@ -13,7 +13,7 @@ namespace DotNetOpenAuth.Test {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Bindings;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
/// <summary>
/// The base class that all messaging test classes inherit from.
@@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test {
internal Channel Channel { get; set; }
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -156,7 +156,7 @@ namespace DotNetOpenAuth.Test {
IDirectedProtocolMessage requestMessage = this.Channel.ReadFromRequest(CreateHttpRequestInfo(method, fields));
Assert.IsNotNull(requestMessage);
- Assert.IsInstanceOfType(requestMessage, typeof(TestMessage));
+ Assert.IsInstanceOf<TestMessage>(requestMessage);
TestMessage actualMessage = (TestMessage)requestMessage;
Assert.AreEqual(expectedMessage.Age, actualMessage.Age);
Assert.AreEqual(expectedMessage.Name, actualMessage.Name);
@@ -174,7 +174,7 @@ namespace DotNetOpenAuth.Test {
}
IProtocolMessage requestMessage = this.Channel.ReadFromRequest(CreateHttpRequestInfo("GET", fields));
Assert.IsNotNull(requestMessage);
- Assert.IsInstanceOfType(requestMessage, typeof(TestSignedDirectedMessage));
+ Assert.IsInstanceOf<TestSignedDirectedMessage>(requestMessage);
TestSignedDirectedMessage actualMessage = (TestSignedDirectedMessage)requestMessage;
Assert.AreEqual(expectedMessage.Age, actualMessage.Age);
Assert.AreEqual(expectedMessage.Name, actualMessage.Name);
diff --git a/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs b/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs
index 21c589f..8a8ae25 100644
--- a/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs
@@ -15,11 +15,11 @@ namespace DotNetOpenAuth.Test.Messaging
using System.Web;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class MessagingUtilitiesTests : TestBase {
- [TestMethod]
+ [TestCase]
public void CreateQueryString() {
var args = new Dictionary<string, string>();
args.Add("a", "b");
@@ -27,17 +27,17 @@ namespace DotNetOpenAuth.Test.Messaging
Assert.AreEqual("a=b&c%2Fd=e%2Ff", MessagingUtilities.CreateQueryString(args));
}
- [TestMethod]
+ [TestCase]
public void CreateQueryStringEmptyCollection() {
Assert.AreEqual(0, MessagingUtilities.CreateQueryString(new Dictionary<string, string>()).Length);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CreateQueryStringNullDictionary() {
MessagingUtilities.CreateQueryString(null);
}
- [TestMethod]
+ [TestCase]
public void AppendQueryArgs() {
UriBuilder uri = new UriBuilder("http://baseline.org/page");
var args = new Dictionary<string, string>();
@@ -51,17 +51,17 @@ namespace DotNetOpenAuth.Test.Messaging
Assert.AreEqual("http://baseline.org/page?a=b&c%2Fd=e%2Ff&g=h", uri.Uri.AbsoluteUri);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void AppendQueryArgsNullUriBuilder() {
MessagingUtilities.AppendQueryArgs(null, new Dictionary<string, string>());
}
- [TestMethod]
+ [TestCase]
public void AppendQueryArgsNullDictionary() {
MessagingUtilities.AppendQueryArgs(new UriBuilder(), null);
}
- [TestMethod]
+ [TestCase]
public void ToDictionary() {
NameValueCollection nvc = new NameValueCollection();
nvc["a"] = "b";
@@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.Messaging
Assert.AreEqual(nvc["c"], actual["c"]);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void ToDictionaryWithNullKey() {
NameValueCollection nvc = new NameValueCollection();
nvc[null] = "a";
@@ -81,7 +81,7 @@ namespace DotNetOpenAuth.Test.Messaging
nvc.ToDictionary(true);
}
- [TestMethod]
+ [TestCase]
public void ToDictionaryWithSkippedNullKey() {
NameValueCollection nvc = new NameValueCollection();
nvc[null] = "a";
@@ -91,27 +91,27 @@ namespace DotNetOpenAuth.Test.Messaging
Assert.AreEqual(nvc["b"], dictionary["b"]);
}
- [TestMethod]
+ [TestCase]
public void ToDictionaryNull() {
Assert.IsNull(MessagingUtilities.ToDictionary(null));
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void ApplyHeadersToResponseNullAspNetResponse() {
MessagingUtilities.ApplyHeadersToResponse(new WebHeaderCollection(), (HttpResponse)null);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void ApplyHeadersToResponseNullListenerResponse() {
MessagingUtilities.ApplyHeadersToResponse(new WebHeaderCollection(), (HttpListenerResponse)null);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void ApplyHeadersToResponseNullHeaders() {
MessagingUtilities.ApplyHeadersToResponse(null, new HttpResponse(new StringWriter()));
}
- [TestMethod]
+ [TestCase]
public void ApplyHeadersToResponse() {
var headers = new WebHeaderCollection();
headers[HttpResponseHeader.ContentType] = "application/binary";
@@ -128,7 +128,7 @@ namespace DotNetOpenAuth.Test.Messaging
/// <remarks>
/// The tests in this method come from http://wiki.oauth.net/TestCases
/// </remarks>
- [TestMethod]
+ [TestCase]
public void EscapeUriDataStringRfc3986Tests() {
Assert.AreEqual("abcABC123", MessagingUtilities.EscapeUriDataStringRfc3986("abcABC123"));
Assert.AreEqual("-._~", MessagingUtilities.EscapeUriDataStringRfc3986("-._~"));
@@ -145,7 +145,7 @@ namespace DotNetOpenAuth.Test.Messaging
/// <summary>
/// Verifies the overall format of the multipart POST is correct.
/// </summary>
- [TestMethod]
+ [TestCase]
public void PostMultipart() {
var httpHandler = new TestWebRequestHandler();
bool callbackTriggered = false;
@@ -173,7 +173,7 @@ namespace DotNetOpenAuth.Test.Messaging
/// <summary>
/// Verifies proper behavior of GetHttpVerb
/// </summary>
- [TestMethod]
+ [TestCase]
public void GetHttpVerbTest() {
Assert.AreEqual("GET", MessagingUtilities.GetHttpVerb(HttpDeliveryMethods.GetRequest));
Assert.AreEqual("POST", MessagingUtilities.GetHttpVerb(HttpDeliveryMethods.PostRequest));
@@ -191,7 +191,7 @@ namespace DotNetOpenAuth.Test.Messaging
/// <summary>
/// Verifies proper behavior of GetHttpVerb on invalid input.
/// </summary>
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void GetHttpVerbOutOfRangeTest() {
MessagingUtilities.GetHttpVerb(HttpDeliveryMethods.PutRequest | HttpDeliveryMethods.PostRequest);
}
@@ -199,7 +199,7 @@ namespace DotNetOpenAuth.Test.Messaging
/// <summary>
/// Verifies proper behavior of GetHttpDeliveryMethod
/// </summary>
- [TestMethod]
+ [TestCase]
public void GetHttpDeliveryMethodTest() {
Assert.AreEqual(HttpDeliveryMethods.GetRequest, MessagingUtilities.GetHttpDeliveryMethod("GET"));
Assert.AreEqual(HttpDeliveryMethods.PostRequest, MessagingUtilities.GetHttpDeliveryMethod("POST"));
@@ -211,7 +211,7 @@ namespace DotNetOpenAuth.Test.Messaging
/// <summary>
/// Verifies proper behavior of GetHttpDeliveryMethod for an unexpected input
/// </summary>
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void GetHttpDeliveryMethodOutOfRangeTest() {
MessagingUtilities.GetHttpDeliveryMethod("UNRECOGNIZED");
}
diff --git a/src/DotNetOpenAuth.Test/Messaging/MultipartPostPartTests.cs b/src/DotNetOpenAuth.Test/Messaging/MultipartPostPartTests.cs
index 57614ba..08524b2 100644
--- a/src/DotNetOpenAuth.Test/Messaging/MultipartPostPartTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/MultipartPostPartTests.cs
@@ -11,14 +11,14 @@ namespace DotNetOpenAuth.Test.Messaging {
using System.IO;
using System.Net;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class MultipartPostPartTests : TestBase {
/// <summary>
/// Verifies that the Length property matches the length actually serialized.
/// </summary>
- [TestMethod]
+ [TestCase]
public void FormDataSerializeMatchesLength() {
var part = MultipartPostPart.CreateFormPart("a", "b");
VerifyLength(part);
@@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Verifies that the length property matches the length actually serialized.
/// </summary>
- [TestMethod]
+ [TestCase]
public void FileSerializeMatchesLength() {
using (TempFileCollection tfc = new TempFileCollection()) {
string file = tfc.AddExtension(".txt");
@@ -40,7 +40,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Verifies file multiparts identify themselves as files and not merely form-data.
/// </summary>
- [TestMethod]
+ [TestCase]
public void FilePartAsFile() {
var part = MultipartPostPart.CreateFormFilePart("somename", "somefile", "plain/text", new MemoryStream());
Assert.AreEqual("file", part.ContentDisposition);
@@ -49,7 +49,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Verifies MultiPartPost sends the right number of bytes.
/// </summary>
- [TestMethod]
+ [TestCase]
public void MultiPartPostAscii() {
using (TempFileCollection tfc = new TempFileCollection()) {
string file = tfc.AddExtension("txt");
@@ -64,7 +64,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// <summary>
/// Verifies MultiPartPost sends the right number of bytes.
/// </summary>
- [TestMethod]
+ [TestCase]
public void MultiPartPostMultiByteCharacters() {
using (TempFileCollection tfc = new TempFileCollection()) {
string file = tfc.AddExtension("txt");
@@ -94,9 +94,9 @@ namespace DotNetOpenAuth.Test.Messaging {
bool posted = false;
handler.Callback = req => {
foreach (string header in req.Headers) {
- TestContext.WriteLine("{0}: {1}", header, req.Headers[header]);
+ TestUtilities.TestLogger.InfoFormat("{0}: {1}", header, req.Headers[header]);
}
- TestContext.WriteLine(handler.RequestEntityAsString);
+ TestUtilities.TestLogger.InfoFormat(handler.RequestEntityAsString);
Assert.AreEqual(req.ContentLength, handler.RequestEntityStream.Length);
posted = true;
return null;
diff --git a/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs b/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs
index 35f9259..16576d6 100644
--- a/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs
@@ -8,14 +8,14 @@ namespace DotNetOpenAuth.Test.Messaging {
using System.Net;
using System.Text;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class OutgoingWebResponseTests {
/// <summary>
/// Verifies that setting the Body property correctly converts to a byte stream.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SetBodyToByteStream() {
var response = new OutgoingWebResponse();
string stringValue = "abc";
diff --git a/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs b/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs
index 430b929..c9e3d24 100644
--- a/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs
@@ -7,22 +7,22 @@
namespace DotNetOpenAuth.Test.Messaging {
using System;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ProtocolExceptionTests : TestBase {
- [TestMethod]
+ [TestCase]
public void CtorDefault() {
ProtocolException ex = new ProtocolException();
}
- [TestMethod]
+ [TestCase]
public void CtorWithTextMessage() {
ProtocolException ex = new ProtocolException("message");
Assert.AreEqual("message", ex.Message);
}
- [TestMethod]
+ [TestCase]
public void CtorWithTextMessageAndInnerException() {
Exception innerException = new Exception();
ProtocolException ex = new ProtocolException("message", innerException);
@@ -30,14 +30,14 @@ namespace DotNetOpenAuth.Test.Messaging {
Assert.AreSame(innerException, ex.InnerException);
}
- [TestMethod]
+ [TestCase]
public void CtorWithProtocolMessage() {
IProtocolMessage message = new Mocks.TestDirectedMessage();
ProtocolException ex = new ProtocolException("message", message);
Assert.AreSame(message, ex.FaultedMessage);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorWithNullProtocolMessage() {
new ProtocolException("message", (IProtocolMessage)null);
}
diff --git a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDescriptionTests.cs b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDescriptionTests.cs
index 76c454a..e57df65 100644
--- a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDescriptionTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDescriptionTests.cs
@@ -8,26 +8,26 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
using System;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Reflection;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class MessageDescriptionTests : MessagingTestBase {
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullType() {
new MessageDescription(null, new Version(1, 0));
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullVersion() {
new MessageDescription(typeof(Mocks.TestMessage), null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void CtorNonMessageType() {
new MessageDescription(typeof(string), new Version(1, 0));
}
- [TestMethod]
+ [TestCase]
public void MultiVersionedMessageTest() {
var v10 = new MessageDescription(typeof(MultiVersionMessage), new Version(1, 0));
var v20 = new MessageDescription(typeof(MultiVersionMessage), new Version(2, 0));
diff --git a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs
index b9e7436..9e3f4c5 100644
--- a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs
@@ -12,20 +12,20 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
using System.Xml;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Reflection;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class MessageDictionaryTests : MessagingTestBase {
private Mocks.TestMessage message;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
this.message = new Mocks.TestDirectedMessage();
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNull() {
this.MessageDescriptions.GetAccessor(null);
}
@@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.IDictionary&lt;System.String,System.String>.Values
/// </summary>
- [TestMethod]
+ [TestCase]
public void Values() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
Collection<string> expected = new Collection<string> {
@@ -59,7 +59,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.IDictionary&lt;System.String,System.String>.Keys
/// </summary>
- [TestMethod]
+ [TestCase]
public void Keys() {
// We expect that non-nullable value type fields will automatically have keys
// in the dictionary for them.
@@ -80,7 +80,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.IDictionary&lt;System.String,System.String>.Item
/// </summary>
- [TestMethod]
+ [TestCase]
public void Item() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
@@ -103,7 +103,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.ICollection&lt;System.Collections.Generic.KeyValuePair&lt;System.String,System.String&lt;&lt;.IsReadOnly
/// </summary>
- [TestMethod]
+ [TestCase]
public void IsReadOnly() {
ICollection<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message);
Assert.IsFalse(target.IsReadOnly);
@@ -112,7 +112,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.ICollection&lt;System.Collections.Generic.KeyValuePair&lt;System.String,System.String&lt;&lt;.Count
/// </summary>
- [TestMethod]
+ [TestCase]
public void Count() {
ICollection<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message);
IDictionary<string, string> targetDictionary = (IDictionary<string, string>)target;
@@ -124,7 +124,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.IEnumerable&lt;System.Collections.Generic.KeyValuePair&lt;System.String,System.String&lt;&lt;.GetEnumerator
/// </summary>
- [TestMethod]
+ [TestCase]
public void GetEnumerator() {
IEnumerable<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message);
IDictionary<string, string> targetDictionary = (IDictionary<string, string>)target;
@@ -147,7 +147,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
Assert.IsTrue(keysLast == valuesLast && keysLast == actualLast);
}
- [TestMethod]
+ [TestCase]
public void GetEnumeratorUntyped() {
IEnumerable target = this.MessageDescriptions.GetAccessor(this.message);
IDictionary<string, string> targetDictionary = (IDictionary<string, string>)target;
@@ -174,7 +174,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.IDictionary&lt;System.String,System.String>.TryGetValue
/// </summary>
- [TestMethod]
+ [TestCase]
public void TryGetValue() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
this.message.Name = "andrew";
@@ -194,7 +194,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.IDictionary&lt;System.String,System.String>.Remove
/// </summary>
- [TestMethod]
+ [TestCase]
public void RemoveTest1() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
this.message.Name = "andrew";
@@ -211,7 +211,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.IDictionary&lt;System.String,System.String>.ContainsKey
/// </summary>
- [TestMethod]
+ [TestCase]
public void ContainsKey() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
Assert.IsTrue(target.ContainsKey("age"), "Value type declared element should have a key.");
@@ -225,7 +225,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.IDictionary&lt;System.String,System.String&gt;.Add
/// </summary>
- [TestMethod]
+ [TestCase]
public void AddByKeyAndValue() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
target.Add("extra", "value");
@@ -234,7 +234,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
Assert.AreEqual("Andrew", this.message.Name);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void AddNullValue() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
target.Add("extra", null);
@@ -243,35 +243,35 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.ICollection&lt;System.Collections.Generic.KeyValuePair&lt;System.String,System.String&lt;&lt;.Add
/// </summary>
- [TestMethod]
+ [TestCase]
public void AddByKeyValuePair() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
target.Add(new KeyValuePair<string, string>("extra", "value"));
Assert.IsTrue(target.Contains(new KeyValuePair<string, string>("extra", "value")));
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void AddExtraFieldThatAlreadyExists() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
target.Add("extra", "value");
target.Add("extra", "value");
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void AddDeclaredValueThatAlreadyExists() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
target.Add("Name", "andrew");
target.Add("Name", "andrew");
}
- [TestMethod]
+ [TestCase]
public void DefaultReferenceTypeDeclaredPropertyHasNoKey() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
Assert.IsFalse(target.ContainsKey("Name"), "A null value should result in no key.");
Assert.IsFalse(target.Keys.Contains("Name"), "A null value should result in no key.");
}
- [TestMethod]
+ [TestCase]
public void RemoveStructDeclaredProperty() {
IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message);
this.message.Age = 5;
@@ -284,7 +284,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.ICollection&lt;System.Collections.Generic.KeyValuePair&lt;System.String,System.String&lt;&lt;.Remove
/// </summary>
- [TestMethod]
+ [TestCase]
public void RemoveByKeyValuePair() {
ICollection<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message);
this.message.Name = "Andrew";
@@ -297,7 +297,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.ICollection&lt;System.Collections.Generic.KeyValuePair&lt;System.String,System.String&lt;&lt;.CopyTo
/// </summary>
- [TestMethod]
+ [TestCase]
public void CopyTo() {
ICollection<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message);
IDictionary<string, string> targetAsDictionary = (IDictionary<string, string>)target;
@@ -314,7 +314,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.ICollection&lt;System.Collections.Generic.KeyValuePair&lt;System.String,System.String&lt;&lt;.Contains
/// </summary>
- [TestMethod]
+ [TestCase]
public void ContainsKeyValuePair() {
ICollection<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message);
IDictionary<string, string> targetAsDictionary = (IDictionary<string, string>)target;
@@ -330,7 +330,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// A test for System.Collections.Generic.ICollection&lt;System.Collections.Generic.KeyValuePair&lt;System.String,System.String&lt;&lt;.Clear
/// </summary>
- [TestMethod]
+ [TestCase]
public void ClearValues() {
MessageDictionary target = this.MessageDescriptions.GetAccessor(this.message);
IDictionary<string, string> targetAsDictionary = (IDictionary<string, string>)target;
@@ -347,7 +347,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
/// <summary>
/// Verifies that the Clear method throws the expected exception.
/// </summary>
- [TestMethod, ExpectedException(typeof(NotSupportedException))]
+ [TestCase, ExpectedException(typeof(NotSupportedException))]
public void Clear() {
MessageDictionary target = this.MessageDescriptions.GetAccessor(this.message);
target.Clear();
diff --git a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs
index 19e6a82..524f440 100644
--- a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs
@@ -12,42 +12,42 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Reflection;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class MessagePartTests : MessagingTestBase {
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void OptionalNonNullableStruct() {
this.ParameterizedMessageTypeTest(typeof(MessageWithNonNullableOptionalStruct));
}
- [TestMethod]
+ [TestCase]
public void RequiredNonNullableStruct() {
this.ParameterizedMessageTypeTest(typeof(MessageWithNonNullableRequiredStruct));
}
- [TestMethod]
+ [TestCase]
public void OptionalNullableStruct() {
this.ParameterizedMessageTypeTest(typeof(MessageWithNullableOptionalStruct));
}
- [TestMethod]
+ [TestCase]
public void RequiredNullableStruct() {
this.ParameterizedMessageTypeTest(typeof(MessageWithNullableRequiredStruct));
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullMember() {
new MessagePart(null, new MessagePartAttribute());
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullAttribute() {
PropertyInfo field = typeof(MessageWithNullableOptionalStruct).GetProperty("OptionalInt", BindingFlags.NonPublic | BindingFlags.Instance);
new MessagePart(field, null);
}
- [TestMethod]
+ [TestCase]
public void SetValue() {
var message = new MessageWithNonNullableRequiredStruct();
MessagePart part = this.ParameterizedMessageTypeTest(message.GetType());
@@ -55,7 +55,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
Assert.AreEqual(5, message.OptionalInt);
}
- [TestMethod]
+ [TestCase]
public void GetValue() {
var message = new MessageWithNonNullableRequiredStruct();
message.OptionalInt = 8;
@@ -63,7 +63,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
Assert.AreEqual("8", part.GetValue(message));
}
- [TestMethod]
+ [TestCase]
public void Base64Member() {
var message = new MessageWithBase64EncodedString();
message.LastName = "andrew";
@@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
Assert.AreEqual("arnott", message.LastName);
}
- [TestMethod]
+ [TestCase]
public void ConstantFieldMemberValidValues() {
var message = new MessageWithConstantField();
MessagePart part = GetMessagePart(message.GetType(), "ConstantField");
@@ -82,20 +82,20 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
Assert.AreEqual("abc", part.GetValue(message));
}
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void ConstantFieldMemberInvalidValues() {
var message = new MessageWithConstantField();
MessagePart part = GetMessagePart(message.GetType(), "ConstantField");
part.SetValue(message, "def");
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void NonFieldOrPropertyMember() {
MemberInfo method = typeof(MessageWithNullableOptionalStruct).GetMethod("Equals", BindingFlags.Public | BindingFlags.Instance);
new MessagePart(method, new MessagePartAttribute());
}
- [TestMethod]
+ [TestCase]
public void RequiredMinAndMaxVersions() {
Type messageType = typeof(MessageWithMinAndMaxVersionParts);
FieldInfo newIn2Field = messageType.GetField("NewIn2", BindingFlags.Public | BindingFlags.Instance);
diff --git a/src/DotNetOpenAuth.Test/Messaging/Reflection/ValueMappingTests.cs b/src/DotNetOpenAuth.Test/Messaging/Reflection/ValueMappingTests.cs
index c4a79b5..d556b11 100644
--- a/src/DotNetOpenAuth.Test/Messaging/Reflection/ValueMappingTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/Reflection/ValueMappingTests.cs
@@ -7,16 +7,16 @@
namespace DotNetOpenAuth.Test.Messaging.Reflection {
using System;
using DotNetOpenAuth.Messaging.Reflection;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ValueMappingTests {
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullToString() {
new ValueMapping(null, str => new object());
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullToObject() {
new ValueMapping(obj => obj.ToString(), null);
}
diff --git a/src/DotNetOpenAuth.Test/Messaging/ResponseTests.cs b/src/DotNetOpenAuth.Test/Messaging/ResponseTests.cs
index 89d165a..63be45a 100644
--- a/src/DotNetOpenAuth.Test/Messaging/ResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/ResponseTests.cs
@@ -9,17 +9,17 @@ namespace DotNetOpenAuth.Test.Messaging {
using System.IO;
using System.Web;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ResponseTests : TestBase {
- [TestMethod, ExpectedException(typeof(InvalidOperationException))]
+ [TestCase, ExpectedException(typeof(InvalidOperationException))]
public void SendWithoutAspNetContext() {
HttpContext.Current = null;
new OutgoingWebResponse().Send();
}
- [TestMethod]
+ [TestCase]
public void Send() {
StringWriter writer = new StringWriter();
HttpRequest httpRequest = new HttpRequest("file", "http://server", string.Empty);
diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs
index 16386de..0bb35bc 100644
--- a/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs
+++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs
@@ -14,7 +14,7 @@ namespace DotNetOpenAuth.Test.Mocks {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Reflection;
using DotNetOpenAuth.Test.OpenId;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
internal class CoordinatingChannel : Channel {
/// <summary>
diff --git a/src/DotNetOpenAuth.Test/Mocks/MockReplayProtectionBindingElement.cs b/src/DotNetOpenAuth.Test/Mocks/MockReplayProtectionBindingElement.cs
index 75281e2..96bd40d 100644
--- a/src/DotNetOpenAuth.Test/Mocks/MockReplayProtectionBindingElement.cs
+++ b/src/DotNetOpenAuth.Test/Mocks/MockReplayProtectionBindingElement.cs
@@ -7,7 +7,7 @@
namespace DotNetOpenAuth.Test.Mocks {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Bindings;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
internal class MockReplayProtectionBindingElement : IChannelBindingElement {
private bool messageReceived;
diff --git a/src/DotNetOpenAuth.Test/Mocks/MockTransformationBindingElement.cs b/src/DotNetOpenAuth.Test/Mocks/MockTransformationBindingElement.cs
index e88fe52..1db9c68 100644
--- a/src/DotNetOpenAuth.Test/Mocks/MockTransformationBindingElement.cs
+++ b/src/DotNetOpenAuth.Test/Mocks/MockTransformationBindingElement.cs
@@ -10,7 +10,7 @@ namespace DotNetOpenAuth.Test.Mocks {
using System.Linq;
using System.Text;
using DotNetOpenAuth.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
internal class MockTransformationBindingElement : IChannelBindingElement {
private string transform;
@@ -47,7 +47,7 @@ namespace DotNetOpenAuth.Test.Mocks {
MessageProtections? IChannelBindingElement.ProcessIncomingMessage(IProtocolMessage message) {
var testMessage = message as TestMessage;
if (testMessage != null) {
- StringAssert.StartsWith(testMessage.Name, this.transform);
+ StringAssert.StartsWith(this.transform, testMessage.Name);
testMessage.Name = testMessage.Name.Substring(this.transform.Length);
return MessageProtections.None;
}
diff --git a/src/DotNetOpenAuth.Test/OAuth/AppendixScenarios.cs b/src/DotNetOpenAuth.Test/OAuth/AppendixScenarios.cs
index c009a83..5584a7b 100644
--- a/src/DotNetOpenAuth.Test/OAuth/AppendixScenarios.cs
+++ b/src/DotNetOpenAuth.Test/OAuth/AppendixScenarios.cs
@@ -12,11 +12,11 @@ namespace DotNetOpenAuth.Test.OAuth {
using DotNetOpenAuth.OAuth;
using DotNetOpenAuth.OAuth.ChannelElements;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AppendixScenarios : TestBase {
- [TestMethod]
+ [TestCase]
public void SpecAppendixAExample() {
ServiceProviderDescription serviceDescription = new ServiceProviderDescription() {
RequestTokenEndpoint = new MessageReceivingEndpoint("https://photos.example.net/request_token", HttpDeliveryMethods.PostRequest),
diff --git a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/HmacSha1SigningBindingElementTests.cs b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/HmacSha1SigningBindingElementTests.cs
index fcdb5e8..a11c67d 100644
--- a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/HmacSha1SigningBindingElementTests.cs
+++ b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/HmacSha1SigningBindingElementTests.cs
@@ -8,11 +8,11 @@ namespace DotNetOpenAuth.Test.ChannelElements {
using DotNetOpenAuth.OAuth.ChannelElements;
using DotNetOpenAuth.OAuth.Messages;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class HmacSha1SigningBindingElementTests : MessagingTestBase {
- [TestMethod]
+ [TestCase]
public void SignatureTest() {
UnauthorizedTokenRequest message = SigningBindingElementBaseTests.CreateTestRequestTokenMessage(this.MessageDescriptions, null);
diff --git a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/OAuthChannelTests.cs b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/OAuthChannelTests.cs
index b721fb7..c7b9f89 100644
--- a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/OAuthChannelTests.cs
+++ b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/OAuthChannelTests.cs
@@ -19,9 +19,9 @@ namespace DotNetOpenAuth.Test.ChannelElements {
using DotNetOpenAuth.Messaging.Reflection;
using DotNetOpenAuth.OAuth.ChannelElements;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class OAuthChannelTests : TestBase {
private OAuthChannel channel;
private OAuthChannel_Accessor accessor;
@@ -29,7 +29,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
private SigningBindingElementBase signingElement;
private INonceStore nonceStore;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -41,32 +41,32 @@ namespace DotNetOpenAuth.Test.ChannelElements {
this.channel.WebRequestHandler = this.webRequestHandler;
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullSigner() {
new OAuthChannel(null, this.nonceStore, new InMemoryTokenManager(), new TestMessageFactory());
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullStore() {
new OAuthChannel(new RsaSha1SigningBindingElement(new InMemoryTokenManager()), null, new InMemoryTokenManager(), new TestMessageFactory());
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullTokenManager() {
new OAuthChannel(new RsaSha1SigningBindingElement(new InMemoryTokenManager()), this.nonceStore, null, new TestMessageFactory());
}
- [TestMethod]
+ [TestCase]
public void CtorSimpleConsumer() {
new OAuthChannel(new RsaSha1SigningBindingElement(new InMemoryTokenManager()), this.nonceStore, (IConsumerTokenManager)new InMemoryTokenManager());
}
- [TestMethod]
+ [TestCase]
public void CtorSimpleServiceProvider() {
new OAuthChannel(new RsaSha1SigningBindingElement(new InMemoryTokenManager()), this.nonceStore, (IServiceProviderTokenManager)new InMemoryTokenManager());
}
- [TestMethod]
+ [TestCase]
public void ReadFromRequestAuthorization() {
this.ParameterizedReceiveTest(HttpDeliveryMethods.AuthorizationHeaderRequest);
}
@@ -75,7 +75,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
/// Verifies that the OAuth ReadFromRequest method gathers parameters
/// from the Authorization header, the query string and the entity form data.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ReadFromRequestAuthorizationScattered() {
// Start by creating a standard POST HTTP request.
var fields = new Dictionary<string, string> {
@@ -99,24 +99,24 @@ namespace DotNetOpenAuth.Test.ChannelElements {
IDirectedProtocolMessage requestMessage = this.channel.ReadFromRequest(requestInfo);
Assert.IsNotNull(requestMessage);
- Assert.IsInstanceOfType(requestMessage, typeof(TestMessage));
+ Assert.IsInstanceOf<TestMessage>(requestMessage);
TestMessage testMessage = (TestMessage)requestMessage;
Assert.AreEqual(15, testMessage.Age);
Assert.AreEqual("Andrew", testMessage.Name);
Assert.AreEqual("http://hostb/pathB", testMessage.Location.AbsoluteUri);
}
- [TestMethod]
+ [TestCase]
public void ReadFromRequestForm() {
this.ParameterizedReceiveTest(HttpDeliveryMethods.PostRequest);
}
- [TestMethod]
+ [TestCase]
public void ReadFromRequestQueryString() {
this.ParameterizedReceiveTest(HttpDeliveryMethods.GetRequest);
}
- [TestMethod]
+ [TestCase]
public void SendDirectMessageResponse() {
IProtocolMessage message = new TestDirectedMessage {
Age = 15,
@@ -135,7 +135,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
Assert.AreEqual("http://hostb/pathB", body["Location"]);
}
- [TestMethod]
+ [TestCase]
public void ReadFromResponse() {
var fields = new Dictionary<string, string> {
{ "age", "15" },
@@ -157,18 +157,18 @@ namespace DotNetOpenAuth.Test.ChannelElements {
}
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void RequestNull() {
this.channel.Request(null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void RequestNullRecipient() {
IDirectedProtocolMessage message = new TestDirectedMessage(MessageTransport.Direct);
this.channel.Request(message);
}
- [TestMethod, ExpectedException(typeof(NotSupportedException))]
+ [TestCase, ExpectedException(typeof(NotSupportedException))]
public void RequestBadPreferredScheme() {
TestDirectedMessage message = new TestDirectedMessage(MessageTransport.Direct);
message.Recipient = new Uri("http://localtest");
@@ -176,7 +176,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
this.channel.Request(message);
}
- [TestMethod]
+ [TestCase]
public void RequestUsingAuthorizationHeader() {
this.ParameterizedRequestTest(HttpDeliveryMethods.AuthorizationHeaderRequest);
}
@@ -184,7 +184,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
/// <summary>
/// Verifies that message parts can be distributed to the query, form, and Authorization header.
/// </summary>
- [TestMethod]
+ [TestCase]
public void RequestUsingAuthorizationHeaderScattered() {
TestDirectedMessage request = new TestDirectedMessage(MessageTransport.Direct) {
Age = 15,
@@ -217,17 +217,17 @@ namespace DotNetOpenAuth.Test.ChannelElements {
Assert.AreEqual("appearinform=formish", this.webRequestHandler.RequestEntityAsString);
}
- [TestMethod]
+ [TestCase]
public void RequestUsingGet() {
this.ParameterizedRequestTest(HttpDeliveryMethods.GetRequest);
}
- [TestMethod]
+ [TestCase]
public void RequestUsingPost() {
this.ParameterizedRequestTest(HttpDeliveryMethods.PostRequest);
}
- [TestMethod]
+ [TestCase]
public void RequestUsingHead() {
this.ParameterizedRequestTest(HttpDeliveryMethods.HeadRequest);
}
@@ -235,7 +235,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
/// <summary>
/// Verifies that messages asking for special HTTP status codes get them.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SendDirectMessageResponseHonorsHttpStatusCodes() {
IProtocolMessage message = MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired);
OutgoingWebResponse directResponse = this.accessor.PrepareDirectResponse(message);
@@ -349,7 +349,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
IProtocolMessage response = this.channel.Request(request);
Assert.IsNotNull(response);
- Assert.IsInstanceOfType(response, typeof(TestMessage));
+ Assert.IsInstanceOf<TestMessage>(response);
TestMessage responseMessage = (TestMessage)response;
Assert.AreEqual(request.Age, responseMessage.Age);
Assert.AreEqual(request.Name, responseMessage.Name);
@@ -365,7 +365,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
};
IProtocolMessage requestMessage = this.channel.ReadFromRequest(CreateHttpRequestInfo(scheme, fields));
Assert.IsNotNull(requestMessage);
- Assert.IsInstanceOfType(requestMessage, typeof(TestMessage));
+ Assert.IsInstanceOf<TestMessage>(requestMessage);
TestMessage testMessage = (TestMessage)requestMessage;
Assert.AreEqual(15, testMessage.Age);
Assert.AreEqual("Andrew", testMessage.Name);
diff --git a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/PlaintextSigningBindingElementTest.cs b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/PlaintextSigningBindingElementTest.cs
index 01d51a3..b81eefa 100644
--- a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/PlaintextSigningBindingElementTest.cs
+++ b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/PlaintextSigningBindingElementTest.cs
@@ -10,11 +10,11 @@ namespace DotNetOpenAuth.Test.ChannelElements {
using DotNetOpenAuth.OAuth.ChannelElements;
using DotNetOpenAuth.OAuth.Messages;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class PlaintextSigningBindingElementTest {
- [TestMethod]
+ [TestCase]
public void HttpsSignatureGeneration() {
SigningBindingElementBase target = new PlaintextSigningBindingElement();
target.Channel = new TestChannel();
@@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
Assert.AreEqual("cs&ts", message.Signature);
}
- [TestMethod]
+ [TestCase]
public void HttpsSignatureVerification() {
MessageReceivingEndpoint endpoint = new MessageReceivingEndpoint("https://localtest", HttpDeliveryMethods.GetRequest);
ITamperProtectionChannelBindingElement target = new PlaintextSigningBindingElement();
@@ -40,7 +40,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
Assert.IsNotNull(target.ProcessIncomingMessage(message));
}
- [TestMethod]
+ [TestCase]
public void HttpsSignatureVerificationNotApplicable() {
SigningBindingElementBase target = new PlaintextSigningBindingElement();
target.Channel = new TestChannel();
@@ -53,7 +53,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
Assert.AreEqual(MessageProtections.None, target.ProcessIncomingMessage(message), "PLAINTEXT binding element should opt-out where it doesn't understand.");
}
- [TestMethod]
+ [TestCase]
public void HttpSignatureGeneration() {
SigningBindingElementBase target = new PlaintextSigningBindingElement();
target.Channel = new TestChannel();
@@ -68,7 +68,7 @@ namespace DotNetOpenAuth.Test.ChannelElements {
Assert.IsNull(message.Signature);
}
- [TestMethod]
+ [TestCase]
public void HttpSignatureVerification() {
SigningBindingElementBase target = new PlaintextSigningBindingElement();
target.Channel = new TestChannel();
diff --git a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/SigningBindingElementBaseTests.cs b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/SigningBindingElementBaseTests.cs
index 6e566c8..c2ae65e 100644
--- a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/SigningBindingElementBaseTests.cs
+++ b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/SigningBindingElementBaseTests.cs
@@ -10,11 +10,11 @@ namespace DotNetOpenAuth.Test.ChannelElements {
using DotNetOpenAuth.OAuth;
using DotNetOpenAuth.OAuth.ChannelElements;
using DotNetOpenAuth.OAuth.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class SigningBindingElementBaseTests : MessagingTestBase {
- [TestMethod]
+ [TestCase]
public void BaseSignatureStringTest() {
// Tests a message sent by HTTP GET, with no query string included in the endpoint.
UnauthorizedTokenRequest message = CreateTestRequestTokenMessage(
diff --git a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/UriOrOobEncodingTests.cs b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/UriOrOobEncodingTests.cs
index 40fc93e..715669a 100644
--- a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/UriOrOobEncodingTests.cs
+++ b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/UriOrOobEncodingTests.cs
@@ -10,13 +10,13 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements {
using System.Linq;
using System.Text;
using DotNetOpenAuth.OAuth.ChannelElements;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class UriOrOobEncodingTests : TestBase {
private UriOrOobEncoding encoding;
- [TestInitialize]
+ [SetUp]
public void Setup() {
this.encoding = new UriOrOobEncoding();
}
@@ -24,7 +24,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements {
/// <summary>
/// Verifies null value encoding
/// </summary>
- [TestMethod]
+ [TestCase]
public void NullValueEncoding() {
Assert.AreEqual("oob", this.encoding.EncodedNullValue);
}
@@ -32,7 +32,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements {
/// <summary>
/// Verifies decoding "oob" results in a null uri.
/// </summary>
- [TestMethod]
+ [TestCase]
public void DecodeOobToNullUri() {
Assert.IsNull(this.encoding.Decode("oob"));
}
@@ -40,7 +40,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements {
/// <summary>
/// Verifies that decoding an empty string generates an exception.
/// </summary>
- [TestMethod, ExpectedException(typeof(UriFormatException))]
+ [TestCase, ExpectedException(typeof(UriFormatException))]
public void DecodeEmptyStringFails() {
this.encoding.Decode(string.Empty);
}
@@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements {
/// <summary>
/// Verifies proper decoding/encoding of a Uri
/// </summary>
- [TestMethod]
+ [TestCase]
public void UriEncodeDecode() {
Uri original = new Uri("http://somehost/p?q=a#frag");
string encodedValue = this.encoding.Encode(original);
@@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements {
/// <summary>
/// Verifies failure to decode a relative Uri
/// </summary>
- [TestMethod, ExpectedException(typeof(UriFormatException))]
+ [TestCase, ExpectedException(typeof(UriFormatException))]
public void RelativeUriDecodeFails() {
this.encoding.Decode("../a/b");
}
diff --git a/src/DotNetOpenAuth.Test/OAuth/ProtocolTests.cs b/src/DotNetOpenAuth.Test/OAuth/ProtocolTests.cs
index ce8070b..f866990 100644
--- a/src/DotNetOpenAuth.Test/OAuth/ProtocolTests.cs
+++ b/src/DotNetOpenAuth.Test/OAuth/ProtocolTests.cs
@@ -6,27 +6,27 @@
namespace DotNetOpenAuth.Test {
using DotNetOpenAuth.OAuth;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ProtocolTests {
- [TestMethod]
+ [TestCase]
public void Default() {
Assert.AreSame(Protocol.V10a, Protocol.Default);
}
- [TestMethod]
+ [TestCase]
public void DataContractNamespace() {
Assert.AreEqual("http://oauth.net/core/1.0/", Protocol.V10.DataContractNamespace);
Assert.AreEqual("http://oauth.net/core/1.0/", Protocol.DataContractNamespaceV10);
}
- [TestMethod]
+ [TestCase]
public void AuthorizationHeaderScheme() {
Assert.AreEqual("OAuth", Protocol.AuthorizationHeaderScheme);
}
- [TestMethod]
+ [TestCase]
public void ParameterPrefix() {
Assert.AreEqual("oauth_", Protocol.ParameterPrefix);
}
diff --git a/src/DotNetOpenAuth.Test/OAuth/ServiceProviderDescriptionTests.cs b/src/DotNetOpenAuth.Test/OAuth/ServiceProviderDescriptionTests.cs
index 760a9e9..4ed1c74 100644
--- a/src/DotNetOpenAuth.Test/OAuth/ServiceProviderDescriptionTests.cs
+++ b/src/DotNetOpenAuth.Test/OAuth/ServiceProviderDescriptionTests.cs
@@ -8,17 +8,17 @@ namespace DotNetOpenAuth.Test {
using System;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OAuth;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
/// <summary>
/// Tests for the <see cref="ServiceProviderEndpoints"/> class.
/// </summary>
- [TestClass]
+ [TestFixture]
public class ServiceProviderDescriptionTests : TestBase {
/// <summary>
/// A test for UserAuthorizationUri
/// </summary>
- [TestMethod]
+ [TestCase]
public void UserAuthorizationUriTest() {
ServiceProviderDescription target = new ServiceProviderDescription();
MessageReceivingEndpoint expected = new MessageReceivingEndpoint("http://localhost/authorization", HttpDeliveryMethods.GetRequest);
@@ -34,7 +34,7 @@ namespace DotNetOpenAuth.Test {
/// <summary>
/// A test for RequestTokenUri
/// </summary>
- [TestMethod]
+ [TestCase]
public void RequestTokenUriTest() {
var target = new ServiceProviderDescription();
MessageReceivingEndpoint expected = new MessageReceivingEndpoint("http://localhost/requesttoken", HttpDeliveryMethods.GetRequest);
@@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test {
/// Verifies that oauth parameters are not allowed in <see cref="ServiceProvider.RequestTokenUri"/>,
/// per section OAuth 1.0 section 4.1.
/// </summary>
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void RequestTokenUriWithOAuthParametersTest() {
var target = new ServiceProviderDescription();
target.RequestTokenEndpoint = new MessageReceivingEndpoint("http://localhost/requesttoken?oauth_token=something", HttpDeliveryMethods.GetRequest);
@@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test {
/// <summary>
/// A test for AccessTokenUri
/// </summary>
- [TestMethod]
+ [TestCase]
public void AccessTokenUriTest() {
var target = new ServiceProviderDescription();
MessageReceivingEndpoint expected = new MessageReceivingEndpoint("http://localhost/accesstoken", HttpDeliveryMethods.GetRequest);
diff --git a/src/DotNetOpenAuth.Test/OAuth/ServiceProviderTests.cs b/src/DotNetOpenAuth.Test/OAuth/ServiceProviderTests.cs
index 2a443ce..ceb9a60 100644
--- a/src/DotNetOpenAuth.Test/OAuth/ServiceProviderTests.cs
+++ b/src/DotNetOpenAuth.Test/OAuth/ServiceProviderTests.cs
@@ -11,14 +11,14 @@ namespace DotNetOpenAuth.Test.OAuth {
using System.Text;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OAuth;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ServiceProviderTests : TestBase {
/// <summary>
/// Verifies the CreateVerificationCode method.
/// </summary>
- [TestMethod]
+ [TestCase]
public void CreateVerificationCode() {
this.TestCode(VerificationCodeFormat.Numeric, 3, MessagingUtilities.Digits);
this.TestCode(VerificationCodeFormat.AlphaLower, 5, MessagingUtilities.LowercaseLetters);
@@ -28,7 +28,7 @@ namespace DotNetOpenAuth.Test.OAuth {
private void TestCode(VerificationCodeFormat format, int length, string allowableCharacters) {
string code = ServiceProvider.CreateVerificationCode(format, length);
- TestContext.WriteLine("{0} of length {2}: {1}", format, code, length);
+ TestUtilities.TestLogger.InfoFormat("{0} of length {2}: {1}", format, code, length);
Assert.AreEqual(length, code.Length);
foreach (char ch in code) {
Assert.IsTrue(allowableCharacters.Contains(ch));
diff --git a/src/DotNetOpenAuth.Test/OpenId/AssociationHandshakeTests.cs b/src/DotNetOpenAuth.Test/OpenId/AssociationHandshakeTests.cs
index a9d2f56..1f95a46 100644
--- a/src/DotNetOpenAuth.Test/OpenId/AssociationHandshakeTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/AssociationHandshakeTests.cs
@@ -12,21 +12,21 @@ namespace DotNetOpenAuth.Test.OpenId {
using DotNetOpenAuth.OpenId.Provider;
using DotNetOpenAuth.OpenId.RelyingParty;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AssociationHandshakeTests : OpenIdTestBase {
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
- [TestMethod]
+ [TestCase]
public void AssociateUnencrypted() {
this.ParameterizedAssociationTest(new Uri("https://host"));
}
- [TestMethod]
+ [TestCase]
public void AssociateDiffieHellmanOverHttp() {
this.ParameterizedAssociationTest(new Uri("http://host"));
}
@@ -38,7 +38,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// Some OPs out there flatly refuse to do this, and the spec doesn't forbid
/// putting the two together, so we verify that DNOI can handle it.
/// </remarks>
- [TestMethod]
+ [TestCase]
public void AssociateDiffieHellmanOverHttps() {
Protocol protocol = Protocol.V20;
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -62,7 +62,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// Verifies that the RP and OP can renegotiate an association type if the RP's
/// initial request for an association is for a type the OP doesn't support.
/// </summary>
- [TestMethod]
+ [TestCase]
public void AssociateRenegotiateBitLength() {
Protocol protocol = Protocol.V20;
@@ -110,7 +110,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <remarks>
/// Verifies OP's compliance with OpenID 2.0 section 8.4.1.
/// </remarks>
- [TestMethod]
+ [TestCase]
public void OPRejectsHttpNoEncryptionAssociateRequests() {
Protocol protocol = Protocol.V20;
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -131,7 +131,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// Verifies that the OP rejects an associate request
/// when the HMAC and DH bit lengths do not match.
/// </summary>
- [TestMethod]
+ [TestCase]
public void OPRejectsMismatchingAssociationAndSessionTypes() {
Protocol protocol = Protocol.V20;
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -154,7 +154,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies that the RP quietly rejects an OP that suggests an unknown association type.
/// </summary>
- [TestMethod]
+ [TestCase]
public void RPRejectsUnrecognizedAssociationType() {
Protocol protocol = Protocol.V20;
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -181,7 +181,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <remarks>
/// Verifies RP's compliance with OpenID 2.0 section 8.4.1.
/// </remarks>
- [TestMethod]
+ [TestCase]
public void RPRejectsUnencryptedSuggestion() {
Protocol protocol = Protocol.V20;
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -206,7 +206,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// Verifies that the RP rejects an associate renegotiate request
/// when the HMAC and DH bit lengths do not match.
/// </summary>
- [TestMethod]
+ [TestCase]
public void RPRejectsMismatchingAssociationAndSessionBitLengths() {
Protocol protocol = Protocol.V20;
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -231,7 +231,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// Verifies that the RP cannot get caught in an infinite loop if a bad OP
/// keeps sending it association retry messages.
/// </summary>
- [TestMethod]
+ [TestCase]
public void RPOnlyRenegotiatesOnce() {
Protocol protocol = Protocol.V20;
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -264,7 +264,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies security settings limit RP's acceptance of OP's counter-suggestion
/// </summary>
- [TestMethod]
+ [TestCase]
public void AssociateRenegotiateLimitedByRPSecuritySettings() {
Protocol protocol = Protocol.V20;
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -284,7 +284,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// Verifies that the RP can recover from an invalid or non-existent
/// response from the OP, for example in the HTTP timeout case.
/// </summary>
- [TestMethod]
+ [TestCase]
public void AssociateQuietlyFailsAfterHttpError() {
this.MockResponder.RegisterMockNotFound(OPUri);
var rp = this.CreateRelyingParty();
@@ -367,11 +367,11 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.IsTrue(MessagingUtilities.AreEquivalent(opAssociation.SecretKey, rpAssociation.SecretKey));
if (expectDiffieHellman) {
- Assert.IsInstanceOfType(associateSuccessfulResponse, typeof(AssociateDiffieHellmanResponse));
+ Assert.IsInstanceOf<AssociateDiffieHellmanResponse>(associateSuccessfulResponse);
var diffieHellmanResponse = (AssociateDiffieHellmanResponse)associateSuccessfulResponse;
Assert.IsFalse(MessagingUtilities.AreEquivalent(diffieHellmanResponse.EncodedMacKey, rpAssociation.SecretKey), "Key should have been encrypted.");
} else {
- Assert.IsInstanceOfType(associateSuccessfulResponse, typeof(AssociateUnencryptedResponse));
+ Assert.IsInstanceOf<AssociateUnencryptedResponse>(associateSuccessfulResponse);
var unencryptedResponse = (AssociateUnencryptedResponse)associateSuccessfulResponse;
}
} else {
diff --git a/src/DotNetOpenAuth.Test/OpenId/AssociationTests.cs b/src/DotNetOpenAuth.Test/OpenId/AssociationTests.cs
index 6881255..a70189f 100644
--- a/src/DotNetOpenAuth.Test/OpenId/AssociationTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/AssociationTests.cs
@@ -12,16 +12,16 @@ namespace DotNetOpenAuth.Test.OpenId {
using System.Text;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AssociationTests : OpenIdTestBase {
private static readonly TimeSpan deltaDateTime = TimeSpan.FromSeconds(2);
private static readonly HashAlgorithm sha1 = DiffieHellmanUtilities.Lookup(Protocol.Default, Protocol.Default.Args.SessionType.DH_SHA1);
private byte[] sha1Secret;
private byte[] sha1Secret2;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -35,7 +35,7 @@ namespace DotNetOpenAuth.Test.OpenId {
this.sha1Secret2[1] = 0xcc;
}
- [TestMethod]
+ [TestCase]
public void Properties() {
string handle = "somehandle";
TimeSpan lifetime = TimeSpan.FromMinutes(2);
@@ -49,7 +49,7 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.AreEqual(0, assoc.Issued.Millisecond, "No milliseconds because this can be cut off in conversions.");
}
- [TestMethod]
+ [TestCase]
public void Sign() {
Association assoc1 = HmacShaAssociation.Create(Protocol.Default, Protocol.Default.Args.SignatureAlgorithm.HMAC_SHA1, "h1", this.sha1Secret, TimeSpan.FromMinutes(2));
Association assoc2 = HmacShaAssociation.Create(Protocol.Default, Protocol.Default.Args.SignatureAlgorithm.HMAC_SHA1, "h2", this.sha1Secret2, TimeSpan.FromMinutes(2));
diff --git a/src/DotNetOpenAuth.Test/OpenId/AssociationsTests.cs b/src/DotNetOpenAuth.Test/OpenId/AssociationsTests.cs
index a0c4770..b3d7e4d 100644
--- a/src/DotNetOpenAuth.Test/OpenId/AssociationsTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/AssociationsTests.cs
@@ -11,31 +11,31 @@ namespace DotNetOpenAuth.Test.OpenId {
using System.Security.Cryptography;
using System.Text;
using DotNetOpenAuth.OpenId;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AssociationsTests : OpenIdTestBase {
private static readonly HashAlgorithm sha1 = DiffieHellmanUtilities.Lookup(Protocol.Default, Protocol.Default.Args.SessionType.DH_SHA1);
private byte[] sha1Secret;
private Associations assocs;
- [TestInitialize]
+ [TestFixtureSetUp]
public override void SetUp() {
this.sha1Secret = new byte[sha1.HashSize / 8];
this.assocs = new Associations();
}
- [TestMethod]
+ [TestCase]
public void GetNonexistentHandle() {
Assert.IsNull(this.assocs.Get("someinvalidhandle"));
}
- [TestMethod]
+ [TestCase]
public void RemoveNonexistentHandle() {
Assert.IsFalse(this.assocs.Remove("someinvalidhandle"));
}
- [TestMethod]
+ [TestCase]
public void HandleLifecycle() {
Association a = HmacShaAssociation.Create(
Protocol.Default,
@@ -50,7 +50,7 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.IsFalse(this.assocs.Remove(a.Handle));
}
- [TestMethod]
+ [TestCase]
public void Best() {
Association a = HmacShaAssociation.Create(
Protocol.Default,
diff --git a/src/DotNetOpenAuth.Test/OpenId/AuthenticationTests.cs b/src/DotNetOpenAuth.Test/OpenId/AuthenticationTests.cs
index 7de2a8b..27db93e 100644
--- a/src/DotNetOpenAuth.Test/OpenId/AuthenticationTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/AuthenticationTests.cs
@@ -14,16 +14,16 @@ namespace DotNetOpenAuth.Test.OpenId {
using DotNetOpenAuth.OpenId.Provider;
using DotNetOpenAuth.OpenId.RelyingParty;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AuthenticationTests : OpenIdTestBase {
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
- [TestMethod]
+ [TestCase]
public void SharedAssociationPositive() {
this.ParameterizedAuthenticationTest(true, true, false);
}
@@ -31,17 +31,17 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies that a shared association protects against tampering.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SharedAssociationTampered() {
this.ParameterizedAuthenticationTest(true, true, true);
}
- [TestMethod]
+ [TestCase]
public void SharedAssociationNegative() {
this.ParameterizedAuthenticationTest(true, false, false);
}
- [TestMethod]
+ [TestCase]
public void PrivateAssociationPositive() {
this.ParameterizedAuthenticationTest(false, true, false);
}
@@ -49,17 +49,17 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies that a private association protects against tampering.
/// </summary>
- [TestMethod]
+ [TestCase]
public void PrivateAssociationTampered() {
this.ParameterizedAuthenticationTest(false, true, true);
}
- [TestMethod]
+ [TestCase]
public void NoAssociationNegative() {
this.ParameterizedAuthenticationTest(false, false, false);
}
- [TestMethod]
+ [TestCase]
public void UnsolicitedAssertion() {
this.MockResponder.RegisterMockRPDiscovery();
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -77,7 +77,7 @@ namespace DotNetOpenAuth.Test.OpenId {
coordinator.Run();
}
- [TestMethod]
+ [TestCase]
public void UnsolicitedAssertionRejected() {
this.MockResponder.RegisterMockRPDiscovery();
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -100,7 +100,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// Verifies that delegating identifiers are rejected in unsolicited assertions
/// when the appropriate security setting is set.
/// </summary>
- [TestMethod]
+ [TestCase]
public void UnsolicitedDelegatingIdentifierRejection() {
this.MockResponder.RegisterMockRPDiscovery();
OpenIdCoordinator coordinator = new OpenIdCoordinator(
diff --git a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/ExtensionsBindingElementTests.cs b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/ExtensionsBindingElementTests.cs
index 29797dc..5edd51f 100644
--- a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/ExtensionsBindingElementTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/ExtensionsBindingElementTests.cs
@@ -18,15 +18,15 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
using DotNetOpenAuth.OpenId.RelyingParty;
using DotNetOpenAuth.Test.Mocks;
using DotNetOpenAuth.Test.OpenId.Extensions;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ExtensionsBindingElementTests : OpenIdTestBase {
private StandardOpenIdExtensionFactory factory;
private ExtensionsBindingElement rpElement;
private IProtocolMessageWithExtensions request;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
this.request = new SignedResponseRequest(Protocol.Default.Version, OpenIdTestBase.OPUri, AuthenticationRequestMode.Immediate);
}
- [TestMethod]
+ [TestCase]
public void RoundTripFullStackTest() {
IOpenIdMessageExtension request = new MockOpenIdExtension("requestPart", "requestData");
IOpenIdMessageExtension response = new MockOpenIdExtension("responsePart", "responseData");
@@ -47,12 +47,12 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
new IOpenIdMessageExtension[] { response });
}
- [TestMethod]
+ [TestCase]
public void ExtensionFactory() {
Assert.AreSame(this.factory, this.rpElement.ExtensionFactory);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void PrepareMessageForSendingNull() {
this.rpElement.ProcessOutgoingMessage(null);
}
@@ -60,13 +60,13 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
/// <summary>
/// Verifies that false is returned when a non-extendable message is sent.
/// </summary>
- [TestMethod]
+ [TestCase]
public void PrepareMessageForSendingNonExtendableMessage() {
IProtocolMessage request = new AssociateDiffieHellmanRequest(Protocol.Default.Version, OpenIdTestBase.OPUri);
Assert.IsNull(this.rpElement.ProcessOutgoingMessage(request));
}
- [TestMethod]
+ [TestCase]
public void PrepareMessageForSending() {
this.request.Extensions.Add(new MockOpenIdExtension("part", "extra"));
Assert.IsNotNull(this.rpElement.ProcessOutgoingMessage(this.request));
@@ -77,7 +77,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
Assert.AreEqual("extra", this.request.ExtraData["openid." + alias + ".data"]);
}
- [TestMethod]
+ [TestCase]
public void PrepareMessageForReceiving() {
this.request.ExtraData["openid.ns.mock"] = MockOpenIdExtension.MockTypeUri;
this.request.ExtraData["openid.mock.Part"] = "part";
@@ -91,7 +91,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
/// <summary>
/// Verifies that extension responses are included in the OP's signature.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ExtensionResponsesAreSigned() {
Protocol protocol = Protocol.Default;
var op = this.CreateProvider();
@@ -113,7 +113,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
/// <summary>
/// Verifies that unsigned extension responses (where any or all fields are unsigned) are ignored.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ExtensionsAreIdentifiedAsSignedOrUnsigned() {
Protocol protocol = Protocol.Default;
OpenIdCoordinator coordinator = new OpenIdCoordinator(
@@ -144,7 +144,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
/// OpenID Authentication 2.0 section 12 states that
/// "A namespace MUST NOT be assigned more than one alias in the same message".
/// </remarks>
- [TestMethod]
+ [TestCase]
public void TwoExtensionsSameTypeUri() {
IOpenIdMessageExtension request1 = new MockOpenIdExtension("requestPart1", "requestData1");
IOpenIdMessageExtension request2 = new MockOpenIdExtension("requestPart2", "requestData2");
@@ -154,8 +154,8 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
new IOpenIdMessageExtension[] { request1, request2 },
new IOpenIdMessageExtension[0]);
Assert.Fail("Expected ProtocolException not thrown.");
- } catch (AssertFailedException ex) {
- Assert.IsInstanceOfType(ex.InnerException, typeof(ProtocolException));
+ } catch (AssertionException ex) {
+ Assert.IsInstanceOf<ProtocolException>(ex.InnerException);
}
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/KeyValueFormEncodingTests.cs b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/KeyValueFormEncodingTests.cs
index 92170c4..75ac503 100644
--- a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/KeyValueFormEncodingTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/KeyValueFormEncodingTests.cs
@@ -14,9 +14,9 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Reflection;
using DotNetOpenAuth.OpenId.ChannelElements;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class KeyValueFormEncodingTests : TestBase {
private Dictionary<string, string> sampleData = new Dictionary<string, string> {
{ "key1", "value1" },
@@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
Both = 0x3,
}
- [TestMethod]
+ [TestCase]
public void BasicEncodingTest() {
byte[] kvfBytes = KeyValueFormEncoding.GetBytes(this.sampleData);
string responseString = Encoding.UTF8.GetString(kvfBytes);
@@ -69,7 +69,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
}
}
- [TestMethod]
+ [TestCase]
public void EncodeDecode() {
this.KVDictTest(UTF8Encoding.UTF8.GetBytes(string.Empty), new Dictionary<string, string>(), TestMode.Both);
@@ -117,35 +117,35 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
this.KVDictTest(UTF8Encoding.UTF8.GetBytes("east:west\nnorth:south"), d10, TestMode.Decoder);
}
- [TestMethod, ExpectedException(typeof(FormatException))]
+ [TestCase, ExpectedException(typeof(FormatException))]
public void NoValue() {
this.Illegal("x\n", KeyValueFormConformanceLevel.OpenId11);
}
- [TestMethod, ExpectedException(typeof(FormatException))]
+ [TestCase, ExpectedException(typeof(FormatException))]
public void NoValueLoose() {
Dictionary<string, string> d = new Dictionary<string, string>();
this.KVDictTest(Encoding.UTF8.GetBytes("x\n"), d, TestMode.Decoder);
}
- [TestMethod, ExpectedException(typeof(FormatException))]
+ [TestCase, ExpectedException(typeof(FormatException))]
public void EmptyLine() {
this.Illegal("x:b\n\n", KeyValueFormConformanceLevel.OpenId20);
}
- [TestMethod]
+ [TestCase]
public void EmptyLineLoose() {
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("x", "b");
this.KVDictTest(Encoding.UTF8.GetBytes("x:b\n\n"), d, TestMode.Decoder);
}
- [TestMethod, ExpectedException(typeof(FormatException))]
+ [TestCase, ExpectedException(typeof(FormatException))]
public void LastLineNotTerminated() {
this.Illegal("x:y\na:b", KeyValueFormConformanceLevel.OpenId11);
}
- [TestMethod]
+ [TestCase]
public void LastLineNotTerminatedLoose() {
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("x", "y");
diff --git a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/OpenIdChannelTests.cs b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/OpenIdChannelTests.cs
index 385cd19..97a40e8 100644
--- a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/OpenIdChannelTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/OpenIdChannelTests.cs
@@ -18,16 +18,16 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
using DotNetOpenAuth.OpenId.ChannelElements;
using DotNetOpenAuth.OpenId.RelyingParty;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class OpenIdChannelTests : TestBase {
private static readonly TimeSpan maximumMessageAge = TimeSpan.FromHours(3); // good for tests, too long for production
private OpenIdChannel channel;
private OpenIdChannel_Accessor accessor;
private Mocks.TestWebRequestHandler webHandler;
- [TestInitialize]
+ [SetUp]
public void Setup() {
this.webHandler = new Mocks.TestWebRequestHandler();
this.channel = new OpenIdChannel(new AssociationMemoryStore<Uri>(), new NonceMemoryStore(maximumMessageAge), new RelyingPartySecuritySettings());
@@ -35,7 +35,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
this.channel.WebRequestHandler = this.webHandler;
}
- [TestMethod]
+ [TestCase]
public void Ctor() {
// Verify that the channel stack includes the expected types.
// While other binding elements may be substituted for these, we'd then have
@@ -53,7 +53,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
/// <summary>
/// Verifies that the channel sends direct message requests as HTTP POST requests.
/// </summary>
- [TestMethod]
+ [TestCase]
public void DirectRequestsUsePost() {
IDirectedProtocolMessage requestMessage = new Mocks.TestDirectedMessage(MessageTransport.Direct) {
Recipient = new Uri("http://host"),
@@ -61,7 +61,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
};
HttpWebRequest httpRequest = this.accessor.CreateHttpRequest(requestMessage);
Assert.AreEqual("POST", httpRequest.Method);
- StringAssert.Contains(this.webHandler.RequestEntityAsString, "Name=Andrew");
+ StringAssert.Contains("Name=Andrew", this.webHandler.RequestEntityAsString);
}
/// <summary>
@@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
/// class is verified elsewhere. We're only checking that the KVF class is being used by the
/// <see cref="OpenIdChannel.SendDirectMessageResponse"/> method.
/// </remarks>
- [TestMethod]
+ [TestCase]
public void DirectResponsesSentUsingKeyValueForm() {
IProtocolMessage message = MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired);
MessageDictionary messageFields = this.MessageDescriptions.GetAccessor(message);
@@ -90,7 +90,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
/// <summary>
/// Verifies that direct message responses are read in using the Key Value Form decoder.
/// </summary>
- [TestMethod]
+ [TestCase]
public void DirectResponsesReceivedAsKeyValueForm() {
var fields = new Dictionary<string, string> {
{ "var1", "value1" },
@@ -105,7 +105,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
/// <summary>
/// Verifies that messages asking for special HTTP status codes get them.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SendDirectMessageResponseHonorsHttpStatusCodes() {
IProtocolMessage message = MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired);
OutgoingWebResponse directResponse = this.accessor.PrepareDirectResponse(message);
diff --git a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/SigningBindingElementTests.cs b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/SigningBindingElementTests.cs
index 3ab6559..8d5ef2a 100644
--- a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/SigningBindingElementTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/SigningBindingElementTests.cs
@@ -12,14 +12,14 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.Provider;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class SigningBindingElementTests : OpenIdTestBase {
/// <summary>
/// Verifies that the signatures generated match Known Good signatures.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SignaturesMatchKnownGood() {
Protocol protocol = Protocol.Default;
var settings = new ProviderSecuritySettings();
@@ -42,7 +42,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements {
/// <summary>
/// Verifies that all parameters in ExtraData in signed responses are signed.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SignedResponsesIncludeExtraDataInSignature() {
Protocol protocol = Protocol.Default;
SigningBindingElement sbe = new SigningBindingElement(new AssociationMemoryStore<AssociationRelyingPartyType>(), new ProviderSecuritySettings());
diff --git a/src/DotNetOpenAuth.Test/OpenId/DiffieHellmanTests.cs b/src/DotNetOpenAuth.Test/OpenId/DiffieHellmanTests.cs
index 426e19a..9e89b03 100644
--- a/src/DotNetOpenAuth.Test/OpenId/DiffieHellmanTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/DiffieHellmanTests.cs
@@ -9,12 +9,12 @@ namespace DotNetOpenAuth.Test.OpenId {
using System.IO;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
using Org.Mentalis.Security.Cryptography;
- [TestClass]
+ [TestFixture]
public class DiffieHellmanTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void Test() {
string s1 = Test1();
string s2 = Test1();
@@ -22,7 +22,7 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.AreNotEqual(s1, s2, "Secret keys should NOT be the same.");
}
- [TestMethod, Timeout(15000)]
+ [TestCase, Timeout(15000), Category("Slow"), Category("Performance")]
public void TestPublic() {
TextReader reader = new StringReader(OpenIdTestBase.LoadEmbeddedFile("dhpriv.txt"));
@@ -30,7 +30,7 @@ namespace DotNetOpenAuth.Test.OpenId {
string line;
int lineNumber = 0;
while ((line = reader.ReadLine()) != null) {
- TestContext.WriteLine("\tLine {0}", ++lineNumber);
+ TestUtilities.TestLogger.InfoFormat("\tLine {0}", ++lineNumber);
string[] parts = line.Trim().Split(' ');
byte[] x = Convert.FromBase64String(parts[0]);
DiffieHellmanManaged dh = new DiffieHellmanManaged(AssociateDiffieHellmanRequest.DefaultMod, AssociateDiffieHellmanRequest.DefaultGen, x);
diff --git a/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/UriDiscoveryServiceTests.cs b/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/UriDiscoveryServiceTests.cs
index f71d82f..7b12a1d 100644
--- a/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/UriDiscoveryServiceTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/UriDiscoveryServiceTests.cs
@@ -15,11 +15,11 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class UriDiscoveryServiceTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void DiscoveryWithRedirects() {
Identifier claimedId = this.GetMockIdentifier(ProtocolVersion.V20, false);
@@ -34,7 +34,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
Assert.AreEqual(1, this.Discover(userSuppliedIdentifier).Count());
}
- [TestMethod]
+ [TestCase]
public void DiscoverRequireSslWithSecureRedirects() {
Identifier claimedId = this.GetMockIdentifier(ProtocolVersion.V20, true);
@@ -49,7 +49,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
Assert.AreEqual(1, this.Discover(userSuppliedIdentifier).Count());
}
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void DiscoverRequireSslWithInsecureRedirect() {
Identifier claimedId = this.GetMockIdentifier(ProtocolVersion.V20, true);
@@ -65,7 +65,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
this.Discover(userSuppliedIdentifier);
}
- [TestMethod]
+ [TestCase]
public void DiscoveryRequireSslWithInsecureXrdsInSecureHtmlHead() {
var insecureXrdsSource = this.GetMockIdentifier(ProtocolVersion.V20, false);
Uri secureClaimedUri = new Uri("https://localhost/secureId");
@@ -77,7 +77,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
Assert.AreEqual(0, this.Discover(userSuppliedIdentifier).Count());
}
- [TestMethod]
+ [TestCase]
public void DiscoveryRequireSslWithInsecureXrdsInSecureHttpHeader() {
var insecureXrdsSource = this.GetMockIdentifier(ProtocolVersion.V20, false);
@@ -91,7 +91,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
Assert.AreEqual(0, this.Discover(userSuppliedIdentifier).Count());
}
- [TestMethod]
+ [TestCase]
public void DiscoveryRequireSslWithInsecureXrdsButSecureLinkTags() {
var insecureXrdsSource = this.GetMockIdentifier(ProtocolVersion.V20, false);
string html = string.Format(
@@ -110,10 +110,10 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
// We verify that the XRDS was ignored and the LINK tags were used
// because the XRDS OP-LocalIdentifier uses different local identifiers.
- Assert.AreEqual(OPLocalIdentifiersSsl[1], this.Discover(userSuppliedIdentifier).Single().ProviderLocalIdentifier);
+ Assert.AreEqual(OPLocalIdentifiersSsl[1].AbsoluteUri, this.Discover(userSuppliedIdentifier).Single().ProviderLocalIdentifier.ToString());
}
- [TestMethod]
+ [TestCase]
public void DiscoveryRequiresSslIgnoresInsecureEndpointsInXrds() {
var insecureEndpoint = GetServiceEndpoint(0, ProtocolVersion.V20, 10, false);
var secureEndpoint = GetServiceEndpoint(1, ProtocolVersion.V20, 20, true);
@@ -122,7 +122,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
Assert.AreEqual(secureEndpoint.ProviderLocalIdentifier, this.Discover(secureClaimedId).Single().ProviderLocalIdentifier);
}
- [TestMethod]
+ [TestCase]
public void XrdsDirectDiscovery_10() {
this.FailDiscoverXrds("xrds-irrelevant");
this.DiscoverXrds("xrds10", ProtocolVersion.V10, null, "http://a/b");
@@ -130,14 +130,14 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
this.DiscoverXrds("xrds1020", ProtocolVersion.V10, null, "http://a/b");
}
- [TestMethod]
+ [TestCase]
public void XrdsDirectDiscovery_20() {
this.DiscoverXrds("xrds20", ProtocolVersion.V20, null, "http://a/b");
this.DiscoverXrds("xrds2010a", ProtocolVersion.V20, null, "http://a/b");
this.DiscoverXrds("xrds2010b", ProtocolVersion.V20, null, "http://a/b");
}
- [TestMethod]
+ [TestCase]
public void HtmlDiscover_11() {
this.DiscoverHtml("html10prov", ProtocolVersion.V11, null, "http://a/b");
this.DiscoverHtml("html10both", ProtocolVersion.V11, "http://c/d", "http://a/b");
@@ -151,7 +151,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
this.DiscoverHtml("html2010combinedC", ProtocolVersion.V11, "http://c/d", "http://a/b");
}
- [TestMethod]
+ [TestCase]
public void HtmlDiscover_20() {
this.DiscoverHtml("html20prov", ProtocolVersion.V20, null, "http://a/b");
this.DiscoverHtml("html20both", ProtocolVersion.V20, "http://c/d", "http://a/b");
@@ -164,13 +164,13 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
this.FailDiscoverHtml("html20relative");
}
- [TestMethod]
+ [TestCase]
public void XrdsDiscoveryFromHead() {
this.MockResponder.RegisterMockResponse(new Uri("http://localhost/xrds1020.xml"), "application/xrds+xml", LoadEmbeddedFile("/Discovery/xrdsdiscovery/xrds1020.xml"));
this.DiscoverXrds("XrdsReferencedInHead.html", ProtocolVersion.V10, null, "http://a/b");
}
- [TestMethod]
+ [TestCase]
public void XrdsDiscoveryFromHttpHeader() {
WebHeaderCollection headers = new WebHeaderCollection();
headers.Add("X-XRDS-Location", new Uri("http://localhost/xrds1020.xml").AbsoluteUri);
@@ -181,7 +181,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
/// <summary>
/// Verifies that a dual identifier yields only one service endpoint by default.
/// </summary>
- [TestMethod]
+ [TestCase]
public void DualIdentifierOffByDefault() {
this.MockResponder.RegisterMockResponse(VanityUri, "application/xrds+xml", LoadEmbeddedFile("/Discovery/xrdsdiscovery/xrds20dual.xml"));
var results = this.Discover(VanityUri).ToList();
@@ -192,7 +192,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
/// <summary>
/// Verifies that a dual identifier yields two service endpoints when that feature is turned on.
/// </summary>
- [TestMethod]
+ [TestCase]
public void DualIdentifier() {
this.MockResponder.RegisterMockResponse(VanityUri, "application/xrds+xml", LoadEmbeddedFile("/Discovery/xrdsdiscovery/xrds20dual.xml"));
var rp = this.CreateRelyingParty(true);
diff --git a/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/XriDiscoveryProxyServiceTests.cs b/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/XriDiscoveryProxyServiceTests.cs
index 9247bb6..5d914f5 100644
--- a/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/XriDiscoveryProxyServiceTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/XriDiscoveryProxyServiceTests.cs
@@ -11,11 +11,11 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
using System.Text;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class XriDiscoveryProxyServiceTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void Discover() {
string xrds = @"<?xml version='1.0' encoding='UTF-8'?>
<XRD version='2.0' xmlns='xri://$xrd*($v*2.0)'>
@@ -62,7 +62,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices {
Assert.AreEqual("=Arnott", se.FriendlyIdentifierForDisplay);
}
- [TestMethod]
+ [TestCase]
public void DiscoverCommunityInameCanonicalIDs() {
string llliResponse = @"<?xml version='1.0' encoding='UTF-8'?>
<XRD version='2.0' xmlns='xri://$xrd*($v*2.0)'>
@@ -292,7 +292,7 @@ uEyb50RJ7DWmXctSC0b3eymZ2lSXxAWNOsNy
this.VerifyCanonicalId("=Web", "=!91F2.8153.F600.AE24");
}
- [TestMethod]
+ [TestCase]
public void DiscoveryCommunityInameDelegateWithoutCanonicalID() {
this.MockResponder.RegisterMockXrdsResponses(new Dictionary<string, string> {
{ "https://xri.net/=Web*andrew.arnott?_xrd_r=application/xrd%2Bxml;sep=false", @"<?xml version='1.0' encoding='UTF-8'?>
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs
index fa05e94..3433cfa 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs
@@ -7,16 +7,16 @@
namespace DotNetOpenAuth.Test.OpenId.Extensions {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AttributeExchangeRoundtripTests : OpenIdTestBase {
private const string NicknameTypeUri = WellKnownAttributes.Name.Alias;
private const string EmailTypeUri = WellKnownAttributes.Contact.Email;
private const string IncrementingAttribute = "http://incatt";
private int incrementingAttributeValue = 1;
- [TestMethod]
+ [TestCase]
public void Fetch() {
var request = new FetchRequest();
request.Attributes.Add(new AttributeRequest(NicknameTypeUri));
@@ -29,7 +29,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { response });
}
- [TestMethod]
+ [TestCase]
public void Store() {
var request = new StoreRequest();
var newAttribute = new AttributeValues(
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeRequestTests.cs
index 48b5727..5cc8ec1 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeRequestTests.cs
@@ -8,11 +8,11 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using System;
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
using DotNetOpenAuth.Test.OpenId;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AttributeRequestTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void CtorDefault() {
AttributeRequest req = new AttributeRequest();
Assert.AreEqual(1, req.Count);
@@ -20,27 +20,27 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.IsFalse(req.IsRequired);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void CtorEmptyTypeUri() {
new AttributeRequest(string.Empty);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void CtorNullTypeUri() {
new AttributeRequest(null);
}
- [TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))]
+ [TestCase, ExpectedException(typeof(ArgumentOutOfRangeException))]
public void CtorCountZero() {
new AttributeRequest(WellKnownAttributes.Contact.Email, false, 0);
}
- [TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))]
+ [TestCase, ExpectedException(typeof(ArgumentOutOfRangeException))]
public void CtorCountNegative() {
new AttributeRequest(WellKnownAttributes.Contact.Email, false, -1);
}
- [TestMethod]
+ [TestCase]
public void CtorFull() {
var req = new AttributeRequest(WellKnownAttributes.Contact.Email, true, 5);
Assert.AreEqual(WellKnownAttributes.Contact.Email, req.TypeUri);
@@ -48,19 +48,19 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.AreEqual(5, req.Count);
}
- [TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))]
+ [TestCase, ExpectedException(typeof(ArgumentOutOfRangeException))]
public void SetCountZero() {
var req = new AttributeRequest();
req.Count = 0;
}
- [TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))]
+ [TestCase, ExpectedException(typeof(ArgumentOutOfRangeException))]
public void SetCountNegative() {
var req = new AttributeRequest();
req.Count = -1;
}
- [TestMethod]
+ [TestCase]
public void EqualityTests() {
var req1 = new AttributeRequest();
var req2 = new AttributeRequest();
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeValuesTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeValuesTests.cs
index 1f7e17c..6c28461 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeValuesTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeValuesTests.cs
@@ -10,11 +10,11 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
using System.Linq;
using System.Text;
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AttributeValuesTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void Ctor() {
var att = new AttributeValues();
Assert.IsNull(att.TypeUri);
@@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
/// <summary>
/// Verifies the Equals method.
/// </summary>
- [TestMethod]
+ [TestCase]
public void EqualityTests() {
var att1 = new AttributeValues();
var att2 = new AttributeValues();
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchRequestTests.cs
index 43eba3f..2388798 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchRequestTests.cs
@@ -9,35 +9,35 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using System.IO;
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
using DotNetOpenAuth.Test.OpenId;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class FetchRequestTests : OpenIdTestBase {
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void AddAttributeRequestNull() {
new FetchRequest().Attributes.Add(null);
}
- [TestMethod]
+ [TestCase]
public void AddAttributeRequest() {
var req = new FetchRequest();
req.Attributes.Add(new AttributeRequest() { TypeUri = "http://someUri" });
}
- [TestMethod]
+ [TestCase]
public void AddAttributeRequestStrangeUri() {
var req = new FetchRequest();
req.Attributes.Add(new AttributeRequest() { TypeUri = "=someUri*who*knows*but*this*is*legal" });
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void AddAttributeRequestAgain() {
var req = new FetchRequest();
req.Attributes.Add(new AttributeRequest() { TypeUri = "http://UriTwice" });
req.Attributes.Add(new AttributeRequest() { TypeUri = "http://UriTwice" });
}
- [TestMethod]
+ [TestCase]
public void RespondSimpleValue() {
var req = new AttributeRequest();
req.TypeUri = "http://someType";
@@ -47,7 +47,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.AreEqual("value", resp.Values[0]);
}
- [TestMethod]
+ [TestCase]
public void RespondTwoValues() {
var req = new AttributeRequest();
req.TypeUri = "http://someType";
@@ -59,7 +59,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.AreEqual("value2", resp.Values[1]);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void RespondTooManyValues() {
var req = new AttributeRequest();
req.TypeUri = "http://someType";
@@ -67,7 +67,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
req.Respond("value1", "value2");
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void RespondNull() {
var req = new AttributeRequest();
req.TypeUri = "http://someType";
@@ -75,7 +75,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
req.Respond(null);
}
- [TestMethod]
+ [TestCase]
public void EqualityTests() {
var req1 = new FetchRequest();
var req2 = new FetchRequest();
@@ -100,7 +100,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// <summary>
/// Verifies that the class is serializable.
/// </summary>
- [TestMethod]
+ [TestCase]
public void Serializable() {
var fetch = new FetchRequest();
fetch.Attributes.AddRequired("http://someAttribute");
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchResponseTests.cs
index d7082c3..c545a46 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchResponseTests.cs
@@ -9,37 +9,37 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using System.IO;
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
using DotNetOpenAuth.Test.OpenId;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class FetchResponseTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void AddAttribute() {
var response = new FetchResponse();
response.Attributes.Add(new AttributeValues("http://someattribute", "Value1"));
}
- [TestMethod]
+ [TestCase]
public void AddTwoAttributes() {
var response = new FetchResponse();
response.Attributes.Add(new AttributeValues("http://someattribute", "Value1"));
response.Attributes.Add(new AttributeValues("http://someOtherAttribute", "Value2"));
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void AddAttributeTwice() {
var response = new FetchResponse();
response.Attributes.Add(new AttributeValues("http://someattribute", "Value1"));
response.Attributes.Add(new AttributeValues("http://someattribute", "Value1"));
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void AddAttributeNull() {
var response = new FetchResponse();
response.Attributes.Add(null);
}
- [TestMethod]
+ [TestCase]
public void GetAttributeValue() {
var response = new FetchResponse();
@@ -55,7 +55,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.AreEqual("a", response.GetAttributeValue("http://someattribute3"));
}
- [TestMethod]
+ [TestCase]
public void EqualityTests() {
var response1 = new FetchResponse();
var response2 = new FetchResponse();
@@ -80,7 +80,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// <summary>
/// Verifies that the class is serializable.
/// </summary>
- [TestMethod]
+ [TestCase]
public void Serializable() {
var fetch = new FetchResponse();
fetch.Attributes.Add("http://someAttribute", "val1", "val2");
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreRequestTests.cs
index b11c469..fc486aa 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreRequestTests.cs
@@ -12,14 +12,14 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
using System.Text;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class StoreRequestTests {
/// <summary>
/// Verifies the constructor behavior.
/// </summary>
- [TestMethod]
+ [TestCase]
public void Ctor() {
var req = new StoreRequest();
Assert.IsFalse(req.Attributes.Any());
@@ -28,7 +28,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
/// <summary>
/// Verifies the AddAttribute method.
/// </summary>
- [TestMethod]
+ [TestCase]
public void AddAttributeByValue() {
var req = new StoreRequest();
AttributeValues value = new AttributeValues();
@@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
/// <summary>
/// Verifies the AddAttribute method.
/// </summary>
- [TestMethod]
+ [TestCase]
public void AddAttributeByPrimitives() {
var req = new StoreRequest();
req.Attributes.Add("http://att1", "value1", "value2");
@@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
/// <summary>
/// Verifies the Equals method.
/// </summary>
- [TestMethod]
+ [TestCase]
public void EqualityTests() {
var req1 = new StoreRequest();
var req2 = new StoreRequest();
@@ -71,7 +71,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
/// <summary>
/// Verifies that the class is serializable.
/// </summary>
- [TestMethod]
+ [TestCase]
public void Serializable() {
var store = new StoreRequest();
store.Attributes.Add("http://someAttribute", "val1", "val2");
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreResponseTests.cs
index 4e432e1..564ef7f 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreResponseTests.cs
@@ -7,14 +7,14 @@
namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
using System.IO;
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class StoreResponseTests {
/// <summary>
/// Verifies the constructor's behavior.
/// </summary>
- [TestMethod]
+ [TestCase]
public void Ctor() {
var response = new StoreResponse();
Assert.IsTrue(response.Succeeded, "The default status should be Succeeded.");
@@ -28,7 +28,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
/// <summary>
/// Verifies the Equals method.
/// </summary>
- [TestMethod]
+ [TestCase]
public void EqualityTests() {
var response1 = new StoreResponse();
var response2 = new StoreResponse();
@@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
/// <summary>
/// Verifies that the class is serializable.
/// </summary>
- [TestMethod]
+ [TestCase]
public void Serializable() {
var store = new StoreResponse();
store.Succeeded = false;
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs
index 9f849ea..ffbadc8 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs
@@ -14,14 +14,14 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.Provider;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ExtensionsInteropHelperOPTests : OpenIdTestBase {
private AuthenticationRequest request;
private IList<IExtensionMessage> extensions;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -36,7 +36,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// <summary>
/// Verifies no extensions appear as no extensions
/// </summary>
- [TestMethod]
+ [TestCase]
public void NoRequestedExtensions() {
var sreg = ExtensionsInteropHelper.UnifyExtensionsAsSreg(this.request);
Assert.IsNull(sreg);
@@ -52,7 +52,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// <summary>
/// Verifies sreg coming in is seen as sreg.
/// </summary>
- [TestMethod]
+ [TestCase]
public void UnifyExtensionsAsSregWithSreg() {
var sregInjected = new ClaimsRequest {
Nickname = DemandLevel.Request,
@@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// <summary>
/// Verifies AX coming in looks like sreg.
/// </summary>
- [TestMethod]
+ [TestCase]
public void UnifyExtensionsAsSregWithAX() {
this.ParameterizedAXTest(AXAttributeFormats.AXSchemaOrg);
}
@@ -81,7 +81,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// <summary>
/// Verifies AX coming in looks like sreg.
/// </summary>
- [TestMethod]
+ [TestCase]
public void UnifyExtensionsAsSregWithAXSchemaOpenIdNet() {
this.ParameterizedAXTest(AXAttributeFormats.SchemaOpenIdNet);
}
@@ -89,7 +89,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// <summary>
/// Verifies sreg and AX in one request has a preserved sreg request.
/// </summary>
- [TestMethod]
+ [TestCase]
public void UnifyExtensionsAsSregWithBothSregAndAX() {
var sregInjected = new ClaimsRequest {
Nickname = DemandLevel.Request,
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs
index b913f96..181c023 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs
@@ -12,14 +12,14 @@ namespace DotNetOpenAuth.Test.OpenId {
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ExtensionsInteropHelperRPRequestTests : OpenIdTestBase {
private AuthenticationRequest authReq;
private ClaimsRequest sreg;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -42,7 +42,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies that without an Sreg extension to copy from, no AX extension request is added.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SpreadSregToAXNoExtensions() {
ExtensionsInteropHelper.SpreadSregToAX(this.authReq, AXAttributeFormats.AXSchemaOrg);
Assert.AreEqual(0, this.authReq.AppliedExtensions.Count());
@@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies that Sreg requests are correctly copied to axschema.org AX requests.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SpreadSregToAXBasic() {
this.authReq.AddExtension(this.sreg);
ExtensionsInteropHelper.SpreadSregToAX(this.authReq, AXAttributeFormats.AXSchemaOrg);
@@ -70,7 +70,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies that sreg can spread to multiple AX schemas.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SpreadSregToAxMultipleSchemas() {
this.authReq.AddExtension(this.sreg);
ExtensionsInteropHelper.SpreadSregToAX(this.authReq, AXAttributeFormats.AXSchemaOrg | AXAttributeFormats.SchemaOpenIdNet);
@@ -83,7 +83,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies no spread if the OP advertises sreg support.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SpreadSregToAxNoOpIfOPSupportsSreg() {
this.authReq.AddExtension(this.sreg);
this.InjectAdvertisedTypeUri(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.sreg_ns);
@@ -94,7 +94,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies a targeted AX request if the OP advertises a recognized type URI format.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SpreadSregToAxTargetedAtOPFormat() {
this.authReq.AddExtension(this.sreg);
this.InjectAdvertisedTypeUri(WellKnownAttributes.Name.FullName);
@@ -107,7 +107,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies that TransformAXFormat correctly translates AX schema Type URIs.
/// </summary>
- [TestMethod]
+ [TestCase]
public void TransformAXFormatTest() {
Assert.AreEqual(WellKnownAttributes.Name.Alias, ExtensionsInteropHelper_Accessor.TransformAXFormat(WellKnownAttributes.Name.Alias, AXAttributeFormats.AXSchemaOrg));
Assert.AreEqual("http://schema.openid.net/namePerson/friendly", ExtensionsInteropHelper_Accessor.TransformAXFormat(WellKnownAttributes.Name.Alias, AXAttributeFormats.SchemaOpenIdNet));
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPResponseTests.cs
index 5fe05c1..9074f75 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPResponseTests.cs
@@ -13,14 +13,14 @@ namespace DotNetOpenAuth.Test.OpenId {
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ExtensionsInteropHelperRPResponseTests : OpenIdTestBase {
private IAuthenticationResponse response;
private IList<IExtensionMessage> extensions;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -32,7 +32,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies that with no extensions present, UnifyExtensionsAsSreg returns an empty ClaimsResponse.
/// </summary>
- [TestMethod]
+ [TestCase]
public void UnifyExtensionsAsSregNoExtensions() {
var sreg = ExtensionsInteropHelper.UnifyExtensionsAsSreg(this.response, true);
Assert.IsNotNull(sreg);
@@ -42,7 +42,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies that with sreg and AX extensions present, the sreg extension is returned.
/// </summary>
- [TestMethod]
+ [TestCase]
public void UnifyExtensionsAsSregWithSreg() {
var sregInjected = new ClaimsResponse {
Nickname = "andy",
@@ -59,7 +59,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies UnifyExtensionsAsSreg correctly converts AX to sreg.
/// </summary>
- [TestMethod]
+ [TestCase]
public void UnifyExtensionsAsSregFromAXSchemaOrg() {
var axInjected = new FetchResponse();
axInjected.Attributes.Add(WellKnownAttributes.Name.Alias, "nate");
@@ -71,7 +71,7 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies UnifyExtensionsAsSreg correctly converts AX in a non-standard format to sreg.
/// </summary>
- [TestMethod]
+ [TestCase]
public void UnifyExtensionsasSregFromSchemaOpenIdNet() {
var axInjected = new FetchResponse();
axInjected.Attributes.Add(ExtensionsInteropHelper_Accessor.TransformAXFormat(WellKnownAttributes.Name.Alias, AXAttributeFormats.SchemaOpenIdNet), "nate");
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs
index 75737ab..6f35f85 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs
@@ -9,18 +9,18 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy;
using DotNetOpenAuth.Test.OpenId.Extensions;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class PapeRoundTripTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void Trivial() {
var request = new PolicyRequest();
var response = new PolicyResponse();
ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { response });
}
- [TestMethod]
+ [TestCase]
public void Full() {
var request = new PolicyRequest();
request.MaximumAuthenticationAge = TimeSpan.FromMinutes(10);
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequestTests.cs
index 303c747..d75eccc 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequestTests.cs
@@ -13,11 +13,11 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Reflection;
using DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class PolicyRequestTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void Ctor() {
PolicyRequest req = new PolicyRequest();
Assert.IsNull(req.MaximumAuthenticationAge);
@@ -25,7 +25,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.AreEqual(0, req.PreferredPolicies.Count);
}
- [TestMethod]
+ [TestCase]
public void MaximumAuthenticationAgeTest() {
PolicyRequest req = new PolicyRequest();
req.MaximumAuthenticationAge = TimeSpan.FromHours(1);
@@ -35,7 +35,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.IsNull(req.MaximumAuthenticationAge);
}
- [TestMethod]
+ [TestCase]
public void AddPolicies() {
PolicyRequest resp = new PolicyRequest();
resp.PreferredPolicies.Add(AuthenticationPolicies.MultiFactor);
@@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.AreEqual(AuthenticationPolicies.PhishingResistant, resp.PreferredPolicies[1]);
}
- [TestMethod]
+ [TestCase]
public void AddPolicyMultipleTimes() {
// Although this isn't really the desired behavior (we'd prefer to see an
// exception thrown), since we're using a List<string> internally we can't
@@ -57,7 +57,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.AreEqual(2, resp.PreferredPolicies.Count);
}
- [TestMethod]
+ [TestCase]
public void AddAuthLevelTypes() {
PolicyRequest req = new PolicyRequest();
req.PreferredAuthLevelTypes.Add(Constants.AssuranceLevels.NistTypeUri);
@@ -65,7 +65,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.IsTrue(req.PreferredAuthLevelTypes.Contains(Constants.AssuranceLevels.NistTypeUri));
}
- [TestMethod]
+ [TestCase]
public void EqualsTest() {
PolicyRequest req = new PolicyRequest();
PolicyRequest req2 = new PolicyRequest();
@@ -104,7 +104,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.AreEqual(req, req2);
}
- [TestMethod]
+ [TestCase]
public void Serialize() {
PolicyRequest req = new PolicyRequest();
IMessageWithEvents reqEvents = req;
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponseTests.cs
index e0faaac..7491e21 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponseTests.cs
@@ -12,15 +12,15 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Reflection;
using DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class PolicyResponseTests : OpenIdTestBase {
private static readonly DateTime someLocalTime = new DateTime(2008, 1, 1, 1, 1, 1, 0, DateTimeKind.Local);
private static readonly DateTime someUtcTime = new DateTime(2008, 1, 1, 1, 1, 1, 0, DateTimeKind.Utc);
private static readonly DateTime someUnspecifiedTime = new DateTime(2008, 1, 1, 1, 1, 1, 0, DateTimeKind.Unspecified);
- [TestMethod]
+ [TestCase]
public void Ctor() {
PolicyResponse resp = new PolicyResponse();
Assert.IsNotNull(resp.ActualPolicies);
@@ -29,7 +29,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.IsNull(resp.NistAssuranceLevel);
}
- [TestMethod]
+ [TestCase]
public void AddPolicies() {
PolicyResponse resp = new PolicyResponse();
resp.ActualPolicies.Add(AuthenticationPolicies.MultiFactor);
@@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.AreEqual(AuthenticationPolicies.PhishingResistant, resp.ActualPolicies[1]);
}
- [TestMethod]
+ [TestCase]
public void AddPolicyMultipleTimes() {
// Although this isn't really the desired behavior (we'd prefer to see an
// exception thrown), since we're using a List<string> internally we can't
@@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.AreEqual(2, resp.ActualPolicies.Count);
}
- [TestMethod]
+ [TestCase]
public void AuthenticationTimeUtcConvertsToUtc() {
PolicyResponse resp = new PolicyResponse();
resp.AuthenticationTimeUtc = someLocalTime;
@@ -60,20 +60,20 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.AreEqual(someLocalTime.ToUniversalTime(), resp.AuthenticationTimeUtc.Value);
}
- [TestMethod]
+ [TestCase]
public void AuthenticationTimeUtcSetUtc() {
PolicyResponse resp = new PolicyResponse();
resp.AuthenticationTimeUtc = someUtcTime;
Assert.AreEqual(someUtcTime, resp.AuthenticationTimeUtc);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void AuthenticationTimeUtcSetUnspecified() {
PolicyResponse resp = new PolicyResponse();
resp.AuthenticationTimeUtc = someUnspecifiedTime;
}
- [TestMethod]
+ [TestCase]
public void AuthenticationTimeUtcSetNull() {
PolicyResponse resp = new PolicyResponse();
resp.AuthenticationTimeUtc = null;
@@ -84,7 +84,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.IsNull(resp.AuthenticationTimeUtc);
}
- [TestMethod]
+ [TestCase]
public void NistAssuranceLevelSetVarious() {
PolicyResponse resp = new PolicyResponse();
resp.NistAssuranceLevel = NistAssuranceLevel.Level1;
@@ -95,7 +95,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.AreEqual(NistAssuranceLevel.InsufficientForLevel1, resp.NistAssuranceLevel);
}
- [TestMethod]
+ [TestCase]
public void AssuranceLevels() {
PolicyResponse resp = new PolicyResponse();
Assert.AreEqual(0, resp.AssuranceLevels.Count);
@@ -108,7 +108,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.IsNull(resp.NistAssuranceLevel);
}
- [TestMethod]
+ [TestCase]
public void EqualsTest() {
PolicyResponse resp = new PolicyResponse();
PolicyResponse resp2 = new PolicyResponse();
@@ -164,7 +164,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
Assert.AreEqual(resp, resp2);
}
- [TestMethod]
+ [TestCase]
public void Serialize() {
PolicyResponse resp = new PolicyResponse();
IMessageWithEvents respEvents = resp;
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs
index 3af54d3..f7a948e 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs
@@ -8,11 +8,11 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using DotNetOpenAuth.Messaging.Reflection;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ClaimsRequestTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void CreateResponse() {
// some unofficial type URIs...
this.ParameterizedTypeUriPreservedTest("http://openid.net/sreg/1.0");
@@ -21,7 +21,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
this.ParameterizedTypeUriPreservedTest("http://openid.net/extensions/sreg/1.1");
}
- [TestMethod]
+ [TestCase]
public void RequiredOptionalLists() {
ClaimsRequest req = new ClaimsRequest();
MessageDictionary dictionary = this.MessageDescriptions.GetAccessor(req);
@@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.AreEqual("nickname,postcode", dictionary["required"]);
}
- [TestMethod]
+ [TestCase]
public void EqualityTests() {
ClaimsRequest req1 = new ClaimsRequest();
ClaimsRequest req2 = new ClaimsRequest();
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
index 6dbfa4f..0bdc36e 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
@@ -12,18 +12,18 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using System.Runtime.Serialization.Formatters.Binary;
using System.Xml.Serialization;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ClaimsResponseTests {
- [TestMethod]
+ [TestCase]
public void EmptyMailAddress() {
ClaimsResponse response = new ClaimsResponse(Constants.sreg_ns);
response.Email = string.Empty;
Assert.IsNull(response.MailAddress);
}
- [TestMethod, Ignore] // serialization no longer supported
+ [TestCase, Ignore("serialization no longer supported")]
public void BinarySerialization() {
ClaimsResponse fields = this.GetFilledData();
MemoryStream ms = new MemoryStream();
@@ -35,7 +35,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.AreEqual(fields, fields2);
}
- [TestMethod, Ignore] // serialization no longer supported
+ [TestCase, Ignore("serialization no longer supported")]
public void XmlSerialization() {
ClaimsResponse fields = this.GetFilledData();
MemoryStream ms = new MemoryStream();
@@ -47,7 +47,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.AreEqual(fields, fields2);
}
- [TestMethod]
+ [TestCase]
public void EqualityTest() {
ClaimsResponse fields1 = this.GetFilledData();
@@ -95,7 +95,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.AreNotEqual(fields1, fields2);
}
- [TestMethod]
+ [TestCase]
public void Birthdates() {
var response = new ClaimsResponse();
// Verify that they both start out as null
@@ -124,7 +124,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.IsFalse(response.BirthDate.HasValue);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void InvalidRawBirthdate() {
var response = new ClaimsResponse();
response.BirthDateRaw = "2008";
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs
index 7a60a32..c216a4d 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs
@@ -8,11 +8,11 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.UI {
using System.Globalization;
using DotNetOpenAuth.Messaging.Reflection;
using DotNetOpenAuth.OpenId.Extensions.UI;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class UIRequestTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void Defaults() {
UIRequest request = new UIRequest();
Assert.AreEqual("popup", request.Mode);
@@ -20,7 +20,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.UI {
Assert.AreEqual(CultureInfo.CurrentUICulture, request.LanguagePreference[0]);
}
- [TestMethod]
+ [TestCase]
public void LanguagePreferenceEncodingDecoding() {
var request = new UIRequest();
MessageDictionary dictionary = this.MessageDescriptions.GetAccessor(request);
@@ -42,7 +42,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.UI {
Assert.AreEqual(new CultureInfo("es-ES"), request.LanguagePreference[1]);
}
- [TestMethod]
+ [TestCase]
public void ModeEncoding() {
var request = new UIRequest();
MessageDictionary dictionary = this.MessageDescriptions.GetAccessor(request);
diff --git a/src/DotNetOpenAuth.Test/OpenId/IdentifierTests.cs b/src/DotNetOpenAuth.Test/OpenId/IdentifierTests.cs
index cc02265..01e2fdc 100644
--- a/src/DotNetOpenAuth.Test/OpenId/IdentifierTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/IdentifierTests.cs
@@ -9,23 +9,23 @@ namespace DotNetOpenAuth.Test.OpenId {
using System.Collections.Generic;
using System.Linq;
using DotNetOpenAuth.OpenId;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class IdentifierTests {
private string uri = "http://www.yahoo.com/";
private string uriNoScheme = "www.yahoo.com";
private string uriHttps = "https://www.yahoo.com/";
private string xri = "=arnott*andrew";
- [TestMethod]
+ [TestCase]
public void TryParseNoThrow() {
Identifier id;
Assert.IsFalse(Identifier.TryParse(null, out id));
Assert.IsFalse(Identifier.TryParse(string.Empty, out id));
}
- [TestMethod]
+ [TestCase]
public void TryParse() {
Identifier id;
Assert.IsTrue(Identifier.TryParse("http://host/path", out id));
@@ -34,16 +34,16 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.AreEqual("=arnott", id.ToString());
}
- [TestMethod]
+ [TestCase]
public void Parse() {
- Assert.IsInstanceOfType(Identifier.Parse(this.uri), typeof(UriIdentifier));
- Assert.IsInstanceOfType(Identifier.Parse(this.xri), typeof(XriIdentifier));
+ Assert.IsInstanceOf<UriIdentifier>(Identifier.Parse(this.uri));
+ Assert.IsInstanceOf<XriIdentifier>(Identifier.Parse(this.xri));
}
/// <summary>
/// Tests conformance with 2.0 spec section 7.2#2
/// </summary>
- [TestMethod]
+ [TestCase]
public void ParseEndUserSuppliedXriIdentifer() {
List<char> symbols = new List<char>(XriIdentifier.GlobalContextSymbols);
symbols.Add('(');
@@ -52,35 +52,35 @@ namespace DotNetOpenAuth.Test.OpenId {
prefixes.AddRange(symbols.Select(s => "xri://" + s.ToString()));
foreach (string prefix in prefixes) {
var id = Identifier.Parse(prefix + "andrew");
- Assert.IsInstanceOfType(id, typeof(XriIdentifier));
+ Assert.IsInstanceOf<XriIdentifier>(id);
}
}
/// <summary>
/// Verifies conformance with 2.0 spec section 7.2#3
/// </summary>
- [TestMethod]
+ [TestCase]
public void ParseEndUserSuppliedUriIdentifier() {
// verify a fully-qualified Uri
var id = Identifier.Parse(this.uri);
- Assert.IsInstanceOfType(id, typeof(UriIdentifier));
+ Assert.IsInstanceOf<UriIdentifier>(id);
Assert.AreEqual(this.uri, ((UriIdentifier)id).Uri.AbsoluteUri);
// verify an HTTPS Uri
id = Identifier.Parse(this.uriHttps);
- Assert.IsInstanceOfType(id, typeof(UriIdentifier));
+ Assert.IsInstanceOf<UriIdentifier>(id);
Assert.AreEqual(this.uriHttps, ((UriIdentifier)id).Uri.AbsoluteUri);
// verify that if the scheme is missing it is added automatically
id = Identifier.Parse(this.uriNoScheme);
- Assert.IsInstanceOfType(id, typeof(UriIdentifier));
+ Assert.IsInstanceOf<UriIdentifier>(id);
Assert.AreEqual(this.uri, ((UriIdentifier)id).Uri.AbsoluteUri);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void ParseNull() {
Identifier.Parse(null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void ParseEmpty() {
Identifier.Parse(string.Empty);
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateDiffieHellmanRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateDiffieHellmanRequestTests.cs
index a8648ac..b091062 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateDiffieHellmanRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateDiffieHellmanRequestTests.cs
@@ -8,24 +8,24 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using System;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AssociateDiffieHellmanRequestTests {
private static readonly Uri Recipient = new Uri("http://host");
private AssociateDiffieHellmanRequest request;
- [TestInitialize]
+ [SetUp]
public void Setup() {
this.request = new AssociateDiffieHellmanRequest(Protocol.V20.Version, Recipient);
}
- [TestMethod]
+ [TestCase]
public void Ctor() {
Assert.AreEqual(Recipient, this.request.Recipient);
}
- [TestMethod]
+ [TestCase]
public void Mode() {
Assert.AreEqual("associate", this.request.Mode);
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateRequestTests.cs
index 0957118..f3c18d9 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateRequestTests.cs
@@ -11,31 +11,31 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AssociateRequestTests : OpenIdTestBase {
private readonly Protocol protocol = Protocol.V20;
private Uri secureRecipient = new Uri("https://hi");
private Uri insecureRecipient = new Uri("http://hi");
private AssociateRequest request;
- [TestInitialize]
+ [SetUp]
public void Setup() {
this.request = new AssociateUnencryptedRequest(this.protocol.Version, this.secureRecipient);
}
- [TestMethod]
+ [TestCase]
public void ConstructorTest() {
Assert.AreEqual(this.secureRecipient, this.request.Recipient);
}
- [TestMethod]
+ [TestCase]
public void Mode() {
Assert.AreEqual(this.protocol.Args.Mode.associate, this.request.Mode);
}
- [TestMethod]
+ [TestCase]
public void MessagePartsTest() {
this.request.AssociationType = this.protocol.Args.SignatureAlgorithm.HMAC_SHA1;
this.request.SessionType = this.protocol.Args.SessionType.NoEncryption;
@@ -51,26 +51,26 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
Assert.AreEqual(this.protocol.Args.SessionType.NoEncryption, dict[this.protocol.openid.session_type]);
}
- [TestMethod]
+ [TestCase]
public void ValidMessageTest() {
this.request = new AssociateUnencryptedRequest(Protocol.V20.Version, this.secureRecipient);
this.request.AssociationType = this.protocol.Args.SignatureAlgorithm.HMAC_SHA1;
this.request.EnsureValidMessage();
}
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void InvalidMessageTest() {
this.request = new AssociateUnencryptedRequest(Protocol.V20.Version, this.insecureRecipient);
this.request.AssociationType = this.protocol.Args.SignatureAlgorithm.HMAC_SHA1;
this.request.EnsureValidMessage(); // no-encryption only allowed for secure channels.
}
- [TestMethod]
+ [TestCase]
public void RequiredProtection() {
Assert.AreEqual(MessageProtections.None, this.request.RequiredProtection);
}
- [TestMethod]
+ [TestCase]
public void Transport() {
Assert.AreEqual(MessageTransport.Direct, this.request.Transport);
}
@@ -78,7 +78,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
/// <summary>
/// Verifies security settings limit RP's initial associate request
/// </summary>
- [TestMethod]
+ [TestCase]
public void AssociateRequestDeterminedBySecuritySettings() {
Protocol protocol = Protocol.V20;
SecuritySettings securitySettings = new RelyingPartySecuritySettings();
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnencryptedResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnencryptedResponseTests.cs
index 1f5e87c..37be1cb 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnencryptedResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnencryptedResponseTests.cs
@@ -9,20 +9,20 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AssociateUnencryptedResponseTests : OpenIdTestBase {
private AssociateUnencryptedResponse response;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
var request = new AssociateUnencryptedRequest(Protocol.V20.Version, new Uri("http://host"));
this.response = new AssociateUnencryptedResponse(request.Version, request);
}
- [TestMethod]
+ [TestCase]
public void ParameterNames() {
this.response.AssociationHandle = "HANDLE";
this.response.AssociationType = "HMAC-SHA1";
@@ -38,12 +38,12 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
Assert.AreEqual("50", fields["expires_in"]);
}
- [TestMethod]
+ [TestCase]
public void RequiredProtection() {
Assert.AreEqual(MessageProtections.None, this.response.RequiredProtection);
}
- [TestMethod]
+ [TestCase]
public void Transport() {
Assert.AreEqual(MessageTransport.Direct, this.response.Transport);
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnsuccessfulResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnsuccessfulResponseTests.cs
index a6a691d..9b76473 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnsuccessfulResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnsuccessfulResponseTests.cs
@@ -9,20 +9,20 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AssociateUnsuccessfulResponseTests : OpenIdTestBase {
private AssociateUnsuccessfulResponse response;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
var request = new AssociateUnencryptedRequest(Protocol.V20.Version, new Uri("http://host"));
this.response = new AssociateUnsuccessfulResponse(request.Version, request);
}
- [TestMethod]
+ [TestCase]
public void ParameterNames() {
this.response.ErrorMessage = "Some Error";
this.response.AssociationType = "HMAC-SHA1";
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationRequestTests.cs
index 96a2e23..cf6b814 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationRequestTests.cs
@@ -9,13 +9,9 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using System.Collections.Generic;
using System.Linq;
using System.Text;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class CheckAuthenticationRequestTests : OpenIdTestBase {
- [TestInitialize]
- public override void SetUp() {
- base.SetUp();
- }
}
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationResponseTests.cs
index 1e773bd..cbe6638 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationResponseTests.cs
@@ -12,16 +12,16 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.Messaging.Reflection;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class CheckAuthenticationResponseTests : OpenIdTestBase {
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
- [TestMethod]
+ [TestCase]
public void IsValid() {
Protocol protocol = Protocol.Default;
var request = new CheckAuthenticationRequest(protocol.Version, OPUri);
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckIdRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckIdRequestTests.cs
index 2c9ea12..e33a191 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckIdRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckIdRequestTests.cs
@@ -12,11 +12,11 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class CheckIdRequestTests : OpenIdTestBase {
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/DirectErrorResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/DirectErrorResponseTests.cs
index 02fa7df..039748f 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/DirectErrorResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/DirectErrorResponseTests.cs
@@ -10,13 +10,13 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class DirectErrorResponseTests : OpenIdTestBase {
private DirectErrorResponse response;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -24,7 +24,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
this.response = new DirectErrorResponse(request.Version, request);
}
- [TestMethod]
+ [TestCase]
public void ParameterNames() {
this.response.ErrorMessage = "Some Error";
this.response.Contact = "Andrew Arnott";
@@ -42,7 +42,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
/// Verifies that error messages are created as HTTP 400 errors,
/// per OpenID 2.0 section 5.1.2.2.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ErrorMessagesAsHttp400() {
var httpStatusMessage = (IHttpDirectResponse)this.response;
Assert.AreEqual(HttpStatusCode.BadRequest, httpStatusMessage.HttpStatusCode);
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectErrorResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectErrorResponseTests.cs
index fdb08eb..c9fb535 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectErrorResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectErrorResponseTests.cs
@@ -10,25 +10,25 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class IndirectErrorResponseTests : OpenIdTestBase {
private IndirectErrorResponse response;
- [TestInitialize]
+ [SetUp]
public void Setup() {
CheckIdRequest request = new CheckIdRequest(Protocol.V20.Version, OPUri, AuthenticationRequestMode.Immediate);
request.ReturnTo = RPUri;
this.response = new IndirectErrorResponse(request);
}
- [TestMethod]
+ [TestCase]
public void Ctor() {
Assert.AreEqual(RPUri, this.response.Recipient);
}
- [TestMethod]
+ [TestCase]
public void ParameterNames() {
this.response.ErrorMessage = "Some Error";
this.response.Contact = "Andrew Arnott";
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectSignedResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectSignedResponseTests.cs
index 8b0937a..ad6b15d 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectSignedResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectSignedResponseTests.cs
@@ -16,9 +16,9 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.OpenId.ChannelElements;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class IndirectSignedResponseTests : OpenIdTestBase {
private const string CreationDateString = "2005-05-15T17:11:51Z";
private readonly DateTime creationDate = DateTime.Parse(CreationDateString, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);
@@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
private IndirectSignedResponse unsolicited;
private Protocol protocol;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
this.unsolicited = new IndirectSignedResponse(this.protocol.Version, RPUri);
}
- [TestMethod]
+ [TestCase]
public void CtorFromRequest() {
Assert.AreEqual(this.protocol.Args.Mode.id_res, this.response.Mode);
Assert.AreEqual(this.request.Version, this.response.Version);
@@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
Assert.IsTrue(DateTime.UtcNow - ((ITamperResistantOpenIdMessage)this.response).UtcCreationDate < TimeSpan.FromSeconds(5));
}
- [TestMethod]
+ [TestCase]
public void CtorUnsolicited() {
Assert.AreEqual(this.protocol.Args.Mode.id_res, this.unsolicited.Mode);
Assert.AreEqual(this.protocol.Version, this.unsolicited.Version);
@@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
Assert.AreEqual(OPUri, this.unsolicited.ProviderEndpoint);
}
- [TestMethod]
+ [TestCase]
public void ResponseNonceSetter() {
const string HybridValue = CreationDateString + "UNIQUE";
var responseAccessor = IndirectSignedResponse_Accessor.AttachShadow(this.response);
@@ -74,7 +74,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
Assert.IsNull(responseReplay.Nonce);
}
- [TestMethod]
+ [TestCase]
public void ResponseNonceGetter() {
var responseAccessor = IndirectSignedResponse_Accessor.AttachShadow(this.response);
IReplayProtectedProtocolMessage responseReplay = this.response;
@@ -86,7 +86,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
Assert.AreEqual(this.creationDate, responseReplay.UtcCreationDate);
}
- [TestMethod]
+ [TestCase]
public void UtcCreationDateConvertsToUniversal() {
IReplayProtectedProtocolMessage responseReplay = this.response;
DateTime local = DateTime.Parse("1982-01-01", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
@@ -109,7 +109,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
Assert.AreEqual(this.creationDate.Hour, utcCreationDate.Hour, "The hour should match since both times are UTC time.");
}
- [TestMethod]
+ [TestCase]
public void ReturnToDoesNotMatchRecipient() {
// Make sure its valid first, so we know that when it's invalid
// it is due to our tampering.
@@ -127,24 +127,24 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
}
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void GetReturnToArgumentNullKey() {
this.response.GetReturnToArgument(null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void GetReturnToArgumentEmptyKey() {
this.response.GetReturnToArgument(string.Empty);
}
- [TestMethod]
+ [TestCase]
public void GetReturnToArgumentDoesNotReturnExtraArgs() {
this.response.ExtraData["a"] = "b";
Assert.IsNull(this.response.GetReturnToArgument("a"));
Assert.AreEqual(0, this.response.GetReturnToParameterNames().Count());
}
- [TestMethod]
+ [TestCase]
public void GetReturnToArgumentAndNames() {
UriBuilder returnToBuilder = new UriBuilder(this.response.ReturnTo);
returnToBuilder.AppendQueryArgs(new Dictionary<string, string> { { "a", "b" } });
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/NegativeAssertionResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/NegativeAssertionResponseTests.cs
index 7876732..c35780d 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/NegativeAssertionResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/NegativeAssertionResponseTests.cs
@@ -13,16 +13,16 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class NegativeAssertionResponseTests : OpenIdTestBase {
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
- [TestMethod]
+ [TestCase]
public void Mode() {
var setupRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Setup);
setupRequestV1.ReturnTo = RPUri;
@@ -45,14 +45,14 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
Assert.IsFalse(new NegativeAssertionResponse(setupRequestV2).Immediate);
}
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void UserSetupUrlRequiredInV1Immediate() {
var immediateRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Immediate);
immediateRequestV1.ReturnTo = RPUri;
new NegativeAssertionResponse(immediateRequestV1).EnsureValidMessage();
}
- [TestMethod]
+ [TestCase]
public void UserSetupUrlSetForV1Immediate() {
var immediateRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Immediate);
immediateRequestV1.ReturnTo = RPUri;
@@ -61,7 +61,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
response.EnsureValidMessage();
}
- [TestMethod]
+ [TestCase]
public void UserSetupUrlNotRequiredInV1SetupOrV2() {
var setupRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Setup);
setupRequestV1.ReturnTo = RPUri;
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/PositiveAssertionResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/PositiveAssertionResponseTests.cs
index faa6a91..90d24b1 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/PositiveAssertionResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/PositiveAssertionResponseTests.cs
@@ -15,9 +15,9 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class PositiveAssertionResponseTests : OpenIdTestBase {
private const string CreationDateString = "2005-05-15T17:11:51Z";
private readonly DateTime creationDate = DateTime.Parse(CreationDateString, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);
@@ -26,7 +26,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
private PositiveAssertionResponse unsolicited;
private Protocol protocol;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -38,7 +38,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
this.unsolicited = new PositiveAssertionResponse(this.protocol.Version, RPUri);
}
- [TestMethod]
+ [TestCase]
public void CtorFromRequest() {
Assert.AreEqual(this.protocol.Args.Mode.id_res, this.response.Mode);
Assert.AreEqual(this.request.Version, this.response.Version);
@@ -46,7 +46,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
Assert.AreEqual(OPUri, this.response.ProviderEndpoint);
}
- [TestMethod]
+ [TestCase]
public void CtorUnsolicited() {
Assert.AreEqual(this.protocol.Args.Mode.id_res, this.unsolicited.Mode);
Assert.AreEqual(this.protocol.Version, this.unsolicited.Version);
@@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
/// <summary>
/// Verifies that local_id and claimed_id can either be null or specified.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ClaimedIdAndLocalIdSpecifiedIsValid() {
this.response.LocalIdentifier = "http://local";
this.response.ClaimedIdentifier = "http://claimedid";
diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/SignedResponseRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/SignedResponseRequestTests.cs
index 0177685..bc95f8b 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Messages/SignedResponseRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Messages/SignedResponseRequestTests.cs
@@ -10,9 +10,9 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class SignedResponseRequestTests : OpenIdTestBase {
private Uri providerEndpoint;
private SignedResponseRequest immediatev1;
@@ -20,7 +20,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
private SignedResponseRequest immediatev2;
private SignedResponseRequest setupv2;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -55,7 +55,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
/// This test does not test all the realm-return_to matching rules as that is done in the Realm tests.
/// This test merely checks that the compatibility match occurs at all.
/// </remarks>
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void RealmReturnToMismatchV2() {
this.setupv2.Realm = "http://somehost/";
this.setupv2.ReturnTo = new Uri("http://someotherhost/");
@@ -66,7 +66,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages {
/// Verifies that the validation check throws if the return_to and the realm
/// values are not compatible.
/// </summary>
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void RealmReturnToMismatchV1() {
this.setupv1.Realm = "http://somehost/";
this.setupv1.ReturnTo = new Uri("http://someotherhost/");
diff --git a/src/DotNetOpenAuth.Test/OpenId/NonIdentityTests.cs b/src/DotNetOpenAuth.Test/OpenId/NonIdentityTests.cs
index 49bb32c..17ab090 100644
--- a/src/DotNetOpenAuth.Test/OpenId/NonIdentityTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/NonIdentityTests.cs
@@ -9,11 +9,11 @@ namespace DotNetOpenAuth.Test.OpenId {
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.Provider;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class NonIdentityTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void ExtensionOnlyChannelLevel() {
Protocol protocol = Protocol.V20;
AuthenticationRequestMode mode = AuthenticationRequestMode.Setup;
@@ -25,12 +25,12 @@ namespace DotNetOpenAuth.Test.OpenId {
},
op => {
var request = op.Channel.ReadFromRequest<SignedResponseRequest>();
- Assert.IsNotInstanceOfType(request, typeof(CheckIdRequest));
+ Assert.IsNotInstanceOf<CheckIdRequest>(request);
});
coordinator.Run();
}
- [TestMethod]
+ [TestCase]
public void ExtensionOnlyFacadeLevel() {
Protocol protocol = Protocol.V20;
var coordinator = new OpenIdCoordinator(
@@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OpenId {
var request = (IAnonymousRequest)op.GetRequest();
request.IsApproved = true;
- Assert.IsNotInstanceOfType(request, typeof(CheckIdRequest));
+ Assert.IsNotInstanceOf<CheckIdRequest>(request);
op.SendResponse(request);
});
coordinator.Run();
diff --git a/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs b/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs
index d8f5674..c7df99a 100644
--- a/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs
@@ -16,7 +16,7 @@ namespace DotNetOpenAuth.Test.OpenId {
using DotNetOpenAuth.OpenId.Provider;
using DotNetOpenAuth.OpenId.RelyingParty;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
public class OpenIdTestBase : TestBase {
internal IDirectWebRequestHandler RequestHandler;
@@ -62,7 +62,7 @@ namespace DotNetOpenAuth.Test.OpenId {
protected ProviderSecuritySettings ProviderSecuritySettings { get; private set; }
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -75,7 +75,7 @@ namespace DotNetOpenAuth.Test.OpenId {
Identifier.EqualityOnStrings = true;
}
- [TestCleanup]
+ [TearDown]
public override void Cleanup() {
base.Cleanup();
diff --git a/src/DotNetOpenAuth.Test/OpenId/OpenIdUtilitiesTests.cs b/src/DotNetOpenAuth.Test/OpenId/OpenIdUtilitiesTests.cs
index 389ef81..fefb852 100644
--- a/src/DotNetOpenAuth.Test/OpenId/OpenIdUtilitiesTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/OpenIdUtilitiesTests.cs
@@ -12,9 +12,9 @@ namespace DotNetOpenAuth.Test.OpenId {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class OpenIdUtilitiesTests : OpenIdTestBase {
}
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Provider/AnonymousRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Provider/AnonymousRequestTests.cs
index 14fef91..1df4c9e 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Provider/AnonymousRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Provider/AnonymousRequestTests.cs
@@ -9,14 +9,14 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.Provider;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AnonymousRequestTests : OpenIdTestBase {
/// <summary>
/// Verifies that IsApproved controls which response message is returned.
/// </summary>
- [TestMethod]
+ [TestCase]
public void IsApprovedDeterminesReturnedMessage() {
var op = CreateProvider();
Protocol protocol = Protocol.V20;
@@ -27,11 +27,11 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
Assert.IsFalse(anonReq.IsApproved.HasValue);
anonReq.IsApproved = false;
- Assert.IsInstanceOfType(anonReq.Response, typeof(NegativeAssertionResponse));
+ Assert.IsInstanceOf<NegativeAssertionResponse>(anonReq.Response);
anonReq.IsApproved = true;
- Assert.IsInstanceOfType(anonReq.Response, typeof(IndirectSignedResponse));
- Assert.IsNotInstanceOfType(anonReq.Response, typeof(PositiveAssertionResponse));
+ Assert.IsInstanceOf<IndirectSignedResponse>(anonReq.Response);
+ Assert.IsNotInstanceOf<PositiveAssertionResponse>(anonReq.Response);
}
}
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Provider/AuthenticationRequestTest.cs b/src/DotNetOpenAuth.Test/OpenId/Provider/AuthenticationRequestTest.cs
index accbd97..dc5b3e3 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Provider/AuthenticationRequestTest.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Provider/AuthenticationRequestTest.cs
@@ -10,14 +10,14 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.Provider;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AuthenticationRequestTest : OpenIdTestBase {
/// <summary>
/// Verifies the user_setup_url is set properly for immediate negative responses.
/// </summary>
- [TestMethod]
+ [TestCase]
public void UserSetupUrl() {
// Construct a V1 immediate request
Protocol protocol = Protocol.V11;
diff --git a/src/DotNetOpenAuth.Test/OpenId/Provider/HostProcessedRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Provider/HostProcessedRequestTests.cs
index d308271..9bb8095 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Provider/HostProcessedRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Provider/HostProcessedRequestTests.cs
@@ -9,16 +9,16 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.Provider;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class HostProcessedRequestTests : OpenIdTestBase {
private Protocol protocol;
private OpenIdProvider provider;
private CheckIdRequest checkIdRequest;
private AuthenticationRequest request;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -30,12 +30,12 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
this.request = new AuthenticationRequest(this.provider, this.checkIdRequest);
}
- [TestMethod]
+ [TestCase]
public void IsReturnUrlDiscoverableNoResponse() {
Assert.AreEqual(RelyingPartyDiscoveryResult.NoServiceDocument, this.request.IsReturnUrlDiscoverable(this.provider));
}
- [TestMethod]
+ [TestCase]
public void IsReturnUrlDiscoverableValidResponse() {
this.MockResponder.RegisterMockRPDiscovery();
this.request = new AuthenticationRequest(this.provider, this.checkIdRequest);
@@ -46,7 +46,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
/// Verifies that when discovery would be performed over standard HTTP and RequireSsl
/// is set, that discovery fails.
/// </summary>
- [TestMethod]
+ [TestCase]
public void IsReturnUrlDiscoverableNotSsl() {
this.provider.SecuritySettings.RequireSsl = true;
this.MockResponder.RegisterMockRPDiscovery();
@@ -56,7 +56,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
/// <summary>
/// Verifies that when discovery would be performed over HTTPS that discovery succeeds.
/// </summary>
- [TestMethod]
+ [TestCase]
public void IsReturnUrlDiscoverableRequireSsl() {
this.MockResponder.RegisterMockRPDiscovery();
this.checkIdRequest.Realm = RPRealmUriSsl;
@@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
Assert.AreEqual(RelyingPartyDiscoveryResult.Success, this.request.IsReturnUrlDiscoverable(this.provider));
}
- [TestMethod]
+ [TestCase]
public void IsReturnUrlDiscoverableValidButNoMatch() {
this.MockResponder.RegisterMockRPDiscovery();
this.provider.SecuritySettings.RequireSsl = false; // reset for another failure test case
diff --git a/src/DotNetOpenAuth.Test/OpenId/Provider/OpenIdProviderTests.cs b/src/DotNetOpenAuth.Test/OpenId/Provider/OpenIdProviderTests.cs
index 8528aa7..75d871c 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Provider/OpenIdProviderTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Provider/OpenIdProviderTests.cs
@@ -15,13 +15,13 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
using DotNetOpenAuth.OpenId.Provider;
using DotNetOpenAuth.OpenId.RelyingParty;
using DotNetOpenAuth.Test.Hosting;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class OpenIdProviderTests : OpenIdTestBase {
private OpenIdProvider provider;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -31,7 +31,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
/// <summary>
/// Verifies that the constructor throws an exception if the app store is null.
/// </summary>
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNull() {
new OpenIdProvider(null);
}
@@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
/// <summary>
/// Verifies that the SecuritySettings property throws when set to null.
/// </summary>
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void SecuritySettingsSetNull() {
this.provider.SecuritySettings = null;
}
@@ -47,25 +47,25 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
/// <summary>
/// Verifies the SecuritySettings property can be set to a new instance.
/// </summary>
- [TestMethod]
+ [TestCase]
public void SecuritySettings() {
var newSettings = new ProviderSecuritySettings();
this.provider.SecuritySettings = newSettings;
Assert.AreSame(newSettings, this.provider.SecuritySettings);
}
- [TestMethod]
+ [TestCase]
public void ExtensionFactories() {
var factories = this.provider.ExtensionFactories;
Assert.IsNotNull(factories);
Assert.AreEqual(1, factories.Count);
- Assert.IsInstanceOfType(factories[0], typeof(StandardOpenIdExtensionFactory));
+ Assert.IsInstanceOf<StandardOpenIdExtensionFactory>(factories[0]);
}
/// <summary>
/// Verifies the Channel property.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ChannelGetter() {
Assert.IsNotNull(this.provider.Channel);
}
@@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
/// <summary>
/// Verifies the GetRequest method throws outside an HttpContext.
/// </summary>
- [TestMethod, ExpectedException(typeof(InvalidOperationException))]
+ [TestCase, ExpectedException(typeof(InvalidOperationException))]
public void GetRequestNoContext() {
HttpContext.Current = null;
this.provider.GetRequest();
@@ -82,7 +82,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
/// <summary>
/// Verifies GetRequest throws on null input.
/// </summary>
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void GetRequestNull() {
this.provider.GetRequest(null);
}
@@ -90,7 +90,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
/// <summary>
/// Verifies that GetRequest correctly returns the right messages.
/// </summary>
- [TestMethod]
+ [TestCase]
public void GetRequest() {
HttpRequestInfo httpInfo = new HttpRequestInfo();
httpInfo.UrlBeforeRewriting = new Uri("http://someUri");
@@ -104,13 +104,13 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
},
op => {
IRequest request = op.GetRequest();
- Assert.IsInstanceOfType(request, typeof(AutoResponsiveRequest));
+ Assert.IsInstanceOf<AutoResponsiveRequest>(request);
op.SendResponse(request);
});
coordinator.Run();
}
- [TestMethod]
+ [TestCase]
public void BadRequestsGenerateValidErrorResponses() {
var coordinator = new OpenIdCoordinator(
rp => {
@@ -127,7 +127,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
coordinator.Run();
}
- [TestMethod]
+ [TestCase, Category("HostASPNET")]
public void BadRequestsGenerateValidErrorResponsesHosted() {
try {
using (AspNetHost host = AspNetHost.CreateHost(TestWebDirectory)) {
diff --git a/src/DotNetOpenAuth.Test/OpenId/Provider/PerformanceTests.cs b/src/DotNetOpenAuth.Test/OpenId/Provider/PerformanceTests.cs
index 9f4727d..7984b58 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Provider/PerformanceTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Provider/PerformanceTests.cs
@@ -18,28 +18,28 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
using DotNetOpenAuth.OpenId.ChannelElements;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.Provider;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture, Category("Performance")]
public class PerformanceTests : OpenIdTestBase {
private const string SharedAssociationHandle = "handle";
private static readonly TimeSpan TestRunTime = TimeSpan.FromSeconds(3);
private OpenIdProvider provider;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
SuspendLogging();
this.provider = CreateProvider();
}
- [TestCleanup]
+ [TearDown]
public override void Cleanup() {
ResumeLogging();
base.Cleanup();
}
- [TestMethod]
+ [TestCase]
public void AssociateDH() {
var associateRequest = this.CreateAssociateRequest(OPUri);
Stopwatch timer = new Stopwatch();
@@ -48,15 +48,15 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
for (iterations = 0; timer.ElapsedMilliseconds < TestRunTime.TotalMilliseconds; iterations++) {
IRequest request = this.provider.GetRequest(associateRequest);
var response = this.provider.PrepareResponse(request);
- Assert.IsInstanceOfType(response.OriginalMessage, typeof(AssociateSuccessfulResponse));
+ Assert.IsInstanceOf<AssociateSuccessfulResponse>(response.OriginalMessage);
}
timer.Stop();
double executionsPerSecond = GetExecutionsPerSecond(iterations, timer);
- TestContext.WriteLine("Created {0} associations in {1}, or {2} per second.", iterations, timer.Elapsed, executionsPerSecond);
+ TestUtilities.TestLogger.InfoFormat("Created {0} associations in {1}, or {2} per second.", iterations, timer.Elapsed, executionsPerSecond);
Assert.IsTrue(executionsPerSecond >= 2, "Too slow ({0} >= 2 executions per second required.)", executionsPerSecond);
}
- [TestMethod]
+ [TestCase]
public void AssociateClearText() {
var associateRequest = this.CreateAssociateRequest(OPUriSsl); // SSL will cause a plaintext association
Stopwatch timer = new Stopwatch();
@@ -65,29 +65,29 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
for (iterations = 0; timer.ElapsedMilliseconds < TestRunTime.TotalMilliseconds; iterations++) {
IRequest request = this.provider.GetRequest(associateRequest);
var response = this.provider.PrepareResponse(request);
- Assert.IsInstanceOfType(response.OriginalMessage, typeof(AssociateSuccessfulResponse));
+ Assert.IsInstanceOf<AssociateSuccessfulResponse>(response.OriginalMessage);
}
timer.Stop();
double executionsPerSecond = GetExecutionsPerSecond(iterations, timer);
- TestContext.WriteLine("Created {0} associations in {1}, or {2} per second.", iterations, timer.Elapsed, executionsPerSecond);
+ TestUtilities.TestLogger.InfoFormat("Created {0} associations in {1}, or {2} per second.", iterations, timer.Elapsed, executionsPerSecond);
Assert.IsTrue(executionsPerSecond > 1000, "Too slow ({0} > 1000 executions per second required.)", executionsPerSecond);
}
- [TestMethod]
+ [TestCase]
public void CheckIdSharedHmacSha1Association() {
Protocol protocol = Protocol.Default;
string assocType = protocol.Args.SignatureAlgorithm.HMAC_SHA1;
double executionsPerSecond = this.ParameterizedCheckIdTest(protocol, assocType);
- TestContext.WriteLine("{0} executions per second.", executionsPerSecond);
+ TestUtilities.TestLogger.InfoFormat("{0} executions per second.", executionsPerSecond);
Assert.IsTrue(executionsPerSecond > 500, "Too slow ({0} > 500 executions per second required.)", executionsPerSecond);
}
- [TestMethod]
+ [TestCase]
public void CheckIdSharedHmacSha256Association() {
Protocol protocol = Protocol.Default;
string assocType = protocol.Args.SignatureAlgorithm.HMAC_SHA256;
double executionsPerSecond = this.ParameterizedCheckIdTest(protocol, assocType);
- TestContext.WriteLine("{0} executions per second.", executionsPerSecond);
+ TestUtilities.TestLogger.InfoFormat("{0} executions per second.", executionsPerSecond);
Assert.IsTrue(executionsPerSecond > 400, "Too slow ({0} > 400 executions per second required.)", executionsPerSecond);
}
@@ -110,11 +110,11 @@ namespace DotNetOpenAuth.Test.OpenId.Provider {
var request = (IAuthenticationRequest)this.provider.GetRequest(checkidRequest);
request.IsAuthenticated = true;
var response = this.provider.PrepareResponse(request);
- Assert.IsInstanceOfType(response.OriginalMessage, typeof(PositiveAssertionResponse));
+ Assert.IsInstanceOf<PositiveAssertionResponse>(response.OriginalMessage);
}
timer.Stop();
double executionsPerSecond = GetExecutionsPerSecond(iterations, timer);
- TestContext.WriteLine("Responded to {0} checkid messages in {1}; or {2} authentications per second.", iterations, timer.Elapsed, executionsPerSecond);
+ TestUtilities.TestLogger.InfoFormat("Responded to {0} checkid messages in {1}; or {2} authentications per second.", iterations, timer.Elapsed, executionsPerSecond);
return executionsPerSecond;
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/ProviderEndpointDescriptionTests.cs b/src/DotNetOpenAuth.Test/OpenId/ProviderEndpointDescriptionTests.cs
index 60cd25f..65185fc 100644
--- a/src/DotNetOpenAuth.Test/OpenId/ProviderEndpointDescriptionTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/ProviderEndpointDescriptionTests.cs
@@ -10,17 +10,17 @@ namespace DotNetOpenAuth.Test.OpenId {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.Messages;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class ProviderEndpointDescriptionTests : OpenIdTestBase {
- [TestMethod]
+ [TestCase]
public void NonNullCapabilities() {
var epd = new ProviderEndpointDescription(OPUri, Protocol.Default.Version);
Assert.IsNotNull(epd.Capabilities);
}
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void ProtocolDetectionWithoutClues() {
new ProviderEndpointDescription(OPUri, new[] { Protocol.V20.HtmlDiscoveryLocalIdKey }); // random type URI irrelevant to detection
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/RealmTests.cs b/src/DotNetOpenAuth.Test/OpenId/RealmTests.cs
index e062e12..fceb15a 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RealmTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RealmTests.cs
@@ -7,11 +7,11 @@
namespace DotNetOpenAuth.Test {
using System;
using DotNetOpenAuth.OpenId;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class RealmTests {
- [TestMethod]
+ [TestCase]
public void ValidRealmsTest() {
// Just create these. If any are determined to be invalid,
// an exception should be thrown that would fail this test.
@@ -26,67 +26,67 @@ namespace DotNetOpenAuth.Test {
new Realm("http://*.guest.myopenid.com/");
}
- [TestMethod]
+ [TestCase]
[ExpectedException(typeof(ArgumentNullException))]
public void InvalidRealmNullString() {
new Realm((string)null);
}
- [TestMethod]
+ [TestCase]
[ExpectedException(typeof(ArgumentNullException))]
public void InvalidRealmNullUri() {
new Realm((Uri)null);
}
- [TestMethod]
+ [TestCase]
[ExpectedException(typeof(UriFormatException))]
public void InvalidRealmEmpty() {
new Realm(string.Empty);
}
- [TestMethod]
+ [TestCase]
[ExpectedException(typeof(UriFormatException))]
public void InvalidRealmBadProtocol() {
new Realm("asdf://www.microsoft.com/");
}
- [TestMethod]
+ [TestCase]
[ExpectedException(typeof(UriFormatException))]
public void InvalidRealmNoScheme() {
new Realm("www.guy.com");
}
- [TestMethod]
+ [TestCase]
[ExpectedException(typeof(UriFormatException))]
public void InvalidRealmBadWildcard1() {
new Realm("http://*www.my.com");
}
- [TestMethod]
+ [TestCase]
[ExpectedException(typeof(UriFormatException))]
public void InvalidRealmBadWildcard2() {
new Realm("http://www.*.com");
}
- [TestMethod]
+ [TestCase]
[ExpectedException(typeof(UriFormatException))]
public void InvalidRealmBadWildcard3() {
new Realm("http://www.my.*/");
}
- [TestMethod]
+ [TestCase]
[ExpectedException(typeof(UriFormatException))]
public void InvalidRealmTwoWildcards1() {
new Realm("http://**.my.com");
}
- [TestMethod]
+ [TestCase]
[ExpectedException(typeof(UriFormatException))]
public void InvalidRealmTwoWildcards2() {
new Realm("http://*.*.my.com");
}
- [TestMethod]
+ [TestCase]
public void IsSaneTest() {
Assert.IsTrue(new Realm("http://www.myopenid.com").IsSane);
Assert.IsTrue(new Realm("http://myopenid.com").IsSane);
@@ -98,7 +98,7 @@ namespace DotNetOpenAuth.Test {
Assert.IsFalse(new Realm("http://*.co.uk").IsSane);
}
- [TestMethod]
+ [TestCase]
public void IsUrlWithinRealmTests() {
/*
* The openid.return_to URL MUST descend from the openid.trust_root, or the
@@ -166,7 +166,7 @@ namespace DotNetOpenAuth.Test {
Assert.IsFalse(new Realm("http://www.my.com/abc").Contains("http://www.my.com/ABC"));
}
- [TestMethod]
+ [TestCase]
public void ImplicitConversionFromStringTests() {
Realm realm = "http://host";
Assert.AreEqual("host", realm.Host);
@@ -174,7 +174,7 @@ namespace DotNetOpenAuth.Test {
Assert.IsNull(realm);
}
- [TestMethod]
+ [TestCase]
public void ImplicitConversionToStringTests() {
Realm realm = new Realm("http://host/");
string realmString = realm;
@@ -184,7 +184,7 @@ namespace DotNetOpenAuth.Test {
Assert.IsNull(realmString);
}
- [TestMethod]
+ [TestCase]
public void ImplicitConverstionFromUriTests() {
Uri uri = new Uri("http://host");
Realm realm = uri;
@@ -194,7 +194,7 @@ namespace DotNetOpenAuth.Test {
Assert.IsNull(realm);
}
- [TestMethod]
+ [TestCase]
public void EqualsTest() {
Realm testRealm1a = new Realm("http://www.yahoo.com");
Realm testRealm1b = new Realm("http://www.yahoo.com");
diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AuthenticationRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AuthenticationRequestTests.cs
index 332b0b7..001f3fa 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AuthenticationRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AuthenticationRequestTests.cs
@@ -17,9 +17,9 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
using DotNetOpenAuth.Test.Mocks;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class AuthenticationRequestTests : OpenIdTestBase {
private readonly Realm realm = new Realm("http://localhost/rp.aspx");
private readonly Identifier claimedId = "http://claimedId";
@@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
private readonly Protocol protocol = Protocol.Default;
private Uri returnTo;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
this.returnTo = new Uri("http://localhost/rp.aspx");
@@ -36,7 +36,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies IsDirectedIdentity returns true when appropriate.
/// </summary>
- [TestMethod]
+ [TestCase]
public void IsDirectedIdentity() {
var iauthRequest = this.CreateAuthenticationRequest(this.claimedId, this.claimedId);
Assert.IsFalse(iauthRequest.IsDirectedIdentity);
@@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies ClaimedIdentifier behavior.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ClaimedIdentifier() {
var iauthRequest = this.CreateAuthenticationRequest(this.claimedId, this.delegatedLocalId);
Assert.AreEqual(this.claimedId, iauthRequest.ClaimedIdentifier);
@@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies ProviderVersion behavior.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ProviderVersion() {
var authRequest = this.CreateAuthenticationRequest(this.claimedId, this.claimedId);
Assert.AreEqual(this.protocol.Version, authRequest.DiscoveryResult.Version);
@@ -69,7 +69,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies RedirectingResponse.
/// </summary>
- [TestMethod]
+ [TestCase]
public void CreateRequestMessage() {
OpenIdCoordinator coordinator = new OpenIdCoordinator(
rp => {
@@ -107,7 +107,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies that delegating authentication requests are filtered out when configured to do so.
/// </summary>
- [TestMethod]
+ [TestCase]
public void CreateFiltersDelegatingIdentifiers() {
Identifier id = GetMockIdentifier(ProtocolVersion.V20, false, true);
var rp = CreateRelyingParty();
@@ -123,7 +123,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies the Provider property returns non-null.
/// </summary>
- [TestMethod]
+ [TestCase]
public void Provider() {
var authRequest = this.CreateAuthenticationRequest(this.claimedId, this.claimedId);
Assert.IsNotNull(authRequest.Provider);
@@ -134,7 +134,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies that AddCallbackArguments adds query arguments to the return_to URL of the message.
/// </summary>
- [TestMethod]
+ [TestCase]
public void AddCallbackArgument() {
var authRequest = this.CreateAuthenticationRequest(this.claimedId, this.claimedId);
Assert.AreEqual(this.returnTo, authRequest.ReturnToUrl);
@@ -148,7 +148,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// Verifies that AddCallbackArguments replaces pre-existing parameter values
/// rather than appending them.
/// </summary>
- [TestMethod]
+ [TestCase]
public void AddCallbackArgumentClearsPreviousArgument() {
UriBuilder returnToWithArgs = new UriBuilder(this.returnTo);
returnToWithArgs.AppendQueryArgs(new Dictionary<string, string> { { "p1", "v1" } });
@@ -163,20 +163,20 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies identity-less checkid_* request behavior.
/// </summary>
- [TestMethod]
+ [TestCase]
public void NonIdentityRequest() {
var authRequest = this.CreateAuthenticationRequest(this.claimedId, this.claimedId);
authRequest.IsExtensionOnly = true;
Assert.IsTrue(authRequest.IsExtensionOnly);
var req = (SignedResponseRequest)authRequest.RedirectingResponse.OriginalMessage;
- Assert.IsNotInstanceOfType(req, typeof(CheckIdRequest), "An unexpected SignedResponseRequest derived type was generated.");
+ Assert.IsNotInstanceOf<CheckIdRequest>(req, "An unexpected SignedResponseRequest derived type was generated.");
}
/// <summary>
/// Verifies that discovery on identifiers that serve as OP identifiers and claimed identifiers
/// only generate OP Identifier auth requests.
/// </summary>
- [TestMethod]
+ [TestCase]
public void DualIdentifierUsedOnlyAsOPIdentifierForAuthRequest() {
var rp = this.CreateRelyingParty(true);
var results = AuthenticationRequest.Create(GetMockDualIdentifier(), rp, this.realm, this.returnTo, false).ToList();
@@ -194,7 +194,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// Verifies that authentication requests are generated first for OPs that respond
/// to authentication requests.
/// </summary>
- [TestMethod, Ignore]
+ [TestCase, Ignore("Not yet implemented")]
public void UnresponsiveProvidersComeLast() {
// TODO: code here
Assert.Inconclusive("Not yet implemented.");
diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/FailedAuthenticationResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/FailedAuthenticationResponseTests.cs
index a82634a..43d056f 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/FailedAuthenticationResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/FailedAuthenticationResponseTests.cs
@@ -12,14 +12,14 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class FailedAuthenticationResponseTests : OpenIdTestBase {
private FailedAuthenticationResponse response;
private ProtocolException exception;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -27,12 +27,12 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
this.response = new FailedAuthenticationResponse(this.exception);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNull() {
new FailedAuthenticationResponse(null);
}
- [TestMethod]
+ [TestCase]
public void CommonProperties() {
Assert.AreEqual(AuthenticationStatus.Failed, this.response.Status);
Assert.AreSame(this.exception, this.response.Exception);
@@ -40,7 +40,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
Assert.IsNull(this.response.FriendlyIdentifierForDisplay);
}
- [TestMethod]
+ [TestCase]
public void CommonMethods() {
Assert.IsNull(this.response.GetExtension<ClaimsRequest>());
Assert.IsNull(this.response.GetExtension(typeof(ClaimsRequest)));
diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs
index 1ed281c..896cf57 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs
@@ -16,9 +16,9 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
using DotNetOpenAuth.Test.Messaging;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class IdentifierDiscoveryResultTests : OpenIdTestBase {
private UriIdentifier claimedId = new UriIdentifier("http://claimedid.justatest.com");
private XriIdentifier claimedXri = new XriIdentifier("=!9B72.7DD1.50A9.5CCD");
@@ -30,12 +30,12 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
private int servicePriority = 10;
private int uriPriority = 10;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
- [TestMethod]
+ [TestCase]
public void Ctor() {
IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedId, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority);
Assert.AreEqual(this.claimedId, se.ClaimedIdentifier);
@@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
Assert.AreEqual(this.servicePriority, se.ServicePriority);
}
- [TestMethod]
+ [TestCase]
public void CtorImpliedLocalIdentifier() {
IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedId, null, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority);
Assert.AreEqual(this.claimedId, se.ClaimedIdentifier);
@@ -54,7 +54,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
CollectionAssert<string>.AreEquivalent(this.v20TypeUris, se.Capabilities);
}
- [TestMethod]
+ [TestCase]
public void ProtocolDetection() {
IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedId, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority);
Assert.AreSame(Protocol.V20, se.Protocol);
@@ -69,7 +69,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
Assert.AreSame(Protocol.V11, se.Protocol);
}
- [TestMethod]
+ [TestCase]
public void EqualsTests() {
IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedId, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority);
IdentifierDiscoveryResult se2 = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedId, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), (int?)null, (int?)null);
@@ -92,7 +92,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
Assert.IsTrue(list.Contains(se2));
}
- [TestMethod]
+ [TestCase]
public void GetFriendlyIdentifierForDisplay() {
Uri providerEndpoint = new Uri("http://someprovider");
Identifier localId = "someuser";
@@ -136,50 +136,50 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
Assert.AreEqual("=!9B72.7DD1.50A9.5CCD", se.FriendlyIdentifierForDisplay);
}
- [TestMethod]
+ [TestCase]
public void IsTypeUriPresent() {
IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedXri, this.userSuppliedXri, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority);
Assert.IsTrue(se.IsTypeUriPresent(Protocol.Default.ClaimedIdentifierServiceTypeURI));
Assert.IsFalse(se.IsTypeUriPresent("http://someother"));
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void IsTypeUriPresentNull() {
IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedXri, this.userSuppliedXri, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority);
se.IsTypeUriPresent(null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void IsTypeUriPresentEmpty() {
IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedXri, this.userSuppliedXri, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority);
se.IsTypeUriPresent(string.Empty);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void IsExtensionSupportedNullType() {
var se = IdentifierDiscoveryResult.CreateForProviderIdentifier(OPUri, new ProviderEndpointDescription(OPUri, this.v20TypeUris), null, null);
se.IsExtensionSupported((Type)null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void IsTypeUriPresentNullString() {
var se = IdentifierDiscoveryResult.CreateForProviderIdentifier(OPUri, new ProviderEndpointDescription(OPUri, this.v20TypeUris), null, null);
se.IsTypeUriPresent((string)null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void IsTypeUriPresentEmptyString() {
var se = IdentifierDiscoveryResult.CreateForProviderIdentifier(OPUri, new ProviderEndpointDescription(OPUri, this.v20TypeUris), null, null);
se.IsTypeUriPresent(string.Empty);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void IsExtensionSupportedNullExtension() {
var se = IdentifierDiscoveryResult.CreateForProviderIdentifier(OPUri, new ProviderEndpointDescription(OPUri, this.v20TypeUris), null, null);
se.IsExtensionSupported((IOpenIdMessageExtension)null);
}
- [TestMethod]
+ [TestCase]
public void IsExtensionSupported() {
var se = IdentifierDiscoveryResult.CreateForProviderIdentifier(OPUri, new ProviderEndpointDescription(OPUri, this.v20TypeUris), null, null);
Assert.IsFalse(se.IsExtensionSupported<ClaimsRequest>());
diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/NegativeAuthenticationResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/NegativeAuthenticationResponseTests.cs
index acf537e..dbb4a42 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/NegativeAuthenticationResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/NegativeAuthenticationResponseTests.cs
@@ -13,16 +13,16 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class NegativeAuthenticationResponseTests : OpenIdTestBase {
private const string UserSuppliedIdentifier = "=arnott";
private Protocol protocol;
private NegativeAssertionResponse responseMessage;
private NegativeAuthenticationResponse response;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
@@ -32,7 +32,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
this.response = new NegativeAuthenticationResponse(this.responseMessage);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNull() {
new NegativeAuthenticationResponse(null);
}
@@ -40,7 +40,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies that immediate/setup modes are correctly detected.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ImmediateVsSetupModes() {
this.responseMessage = new NegativeAssertionResponse(this.protocol.Version, RPUri, this.protocol.Args.Mode.cancel);
this.response = new NegativeAuthenticationResponse(this.responseMessage);
@@ -55,17 +55,17 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
this.responseMessage.ExtraData[AuthenticationRequest.UserSuppliedIdentifierParameterName] = UserSuppliedIdentifier;
this.response = new NegativeAuthenticationResponse(this.responseMessage);
Assert.AreEqual(AuthenticationStatus.SetupRequired, this.response.Status);
- Assert.AreEqual<string>(UserSuppliedIdentifier, this.response.UserSuppliedIdentifier);
+ Assert.AreEqual(UserSuppliedIdentifier, (string)this.response.UserSuppliedIdentifier);
}
- [TestMethod]
+ [TestCase]
public void CommonProperties() {
Assert.IsNull(this.response.Exception);
Assert.IsNull(this.response.ClaimedIdentifier);
Assert.IsNull(this.response.FriendlyIdentifierForDisplay);
}
- [TestMethod]
+ [TestCase]
public void CommonMethods() {
Assert.IsNull(this.response.GetExtension<ClaimsRequest>());
Assert.IsNull(this.response.GetExtension(typeof(ClaimsRequest)));
diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdRelyingPartyTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdRelyingPartyTests.cs
index 7f0eb81..b0ec395 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdRelyingPartyTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdRelyingPartyTests.cs
@@ -12,16 +12,16 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
using DotNetOpenAuth.OpenId.Extensions;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class OpenIdRelyingPartyTests : OpenIdTestBase {
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
- [TestMethod]
+ [TestCase]
public void CreateRequestDumbMode() {
var rp = this.CreateRelyingParty(true);
Identifier id = this.GetMockIdentifier(ProtocolVersion.V20);
@@ -30,22 +30,22 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
Assert.IsNull(requestMessage.AssociationHandle);
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void SecuritySettingsSetNull() {
var rp = new OpenIdRelyingParty(new StandardRelyingPartyApplicationStore());
rp.SecuritySettings = null;
}
- [TestMethod]
+ [TestCase]
public void ExtensionFactories() {
var rp = new OpenIdRelyingParty(null);
var factories = rp.ExtensionFactories;
Assert.IsNotNull(factories);
Assert.AreEqual(1, factories.Count);
- Assert.IsInstanceOfType(factories[0], typeof(StandardOpenIdExtensionFactory));
+ Assert.IsInstanceOf<StandardOpenIdExtensionFactory>(factories[0]);
}
- [TestMethod]
+ [TestCase]
public void CreateRequest() {
var rp = this.CreateRelyingParty();
StoreAssociation(rp, OPUri, HmacShaAssociation.Create("somehandle", new byte[20], TimeSpan.FromDays(1)));
@@ -54,7 +54,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
Assert.IsNotNull(req);
}
- [TestMethod]
+ [TestCase]
public void CreateRequests() {
var rp = this.CreateRelyingParty();
StoreAssociation(rp, OPUri, HmacShaAssociation.Create("somehandle", new byte[20], TimeSpan.FromDays(1)));
@@ -63,7 +63,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
Assert.AreEqual(1, requests.Count());
}
- [TestMethod]
+ [TestCase]
public void CreateRequestsWithEndpointFilter() {
var rp = this.CreateRelyingParty();
StoreAssociation(rp, OPUri, HmacShaAssociation.Create("somehandle", new byte[20], TimeSpan.FromDays(1)));
@@ -78,7 +78,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
Assert.AreEqual(0, requests.Count());
}
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void CreateRequestOnNonOpenID() {
Uri nonOpenId = new Uri("http://www.microsoft.com/");
var rp = this.CreateRelyingParty();
@@ -86,7 +86,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
rp.CreateRequest(nonOpenId, RPRealmUri, RPUri);
}
- [TestMethod]
+ [TestCase]
public void CreateRequestsOnNonOpenID() {
Uri nonOpenId = new Uri("http://www.microsoft.com/");
var rp = this.CreateRelyingParty();
@@ -99,7 +99,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// Verifies that incoming positive assertions throw errors if they come from
/// OPs that are not approved by <see cref="OpenIdRelyingParty.EndpointFilter"/>.
/// </summary>
- [TestMethod]
+ [TestCase]
public void AssertionWithEndpointFilter() {
var coordinator = new OpenIdCoordinator(
rp => {
diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdTextBoxTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdTextBoxTests.cs
index 67255e3..2c70e0f 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdTextBoxTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdTextBoxTests.cs
@@ -6,14 +6,14 @@
namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class OpenIdTextBoxTests : OpenIdTestBase {
/// <summary>
/// Verifies that the Text and Identifier properties interact correctly.
/// </summary>
- [TestMethod]
+ [TestCase]
public void IdentifierTextInteraction() {
var box = new OpenIdTextBox();
Assert.AreEqual(string.Empty, box.Text);
diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAnonymousResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAnonymousResponseTests.cs
index 1418513..b0586a6 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAnonymousResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAnonymousResponseTests.cs
@@ -10,14 +10,14 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class PositiveAnonymousResponseTests : OpenIdTestBase {
private readonly Realm realm = new Realm("http://localhost/rp.aspx");
private readonly Uri returnTo = new Uri("http://localhost/rp.aspx");
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
@@ -25,7 +25,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies that the Status property returns the correct value.
/// </summary>
- [TestMethod]
+ [TestCase]
public void CtorAndProperties() {
var responseMessage = new IndirectSignedResponse(Protocol.V20.Version, this.returnTo);
var ext = new ClaimsResponse();
@@ -43,7 +43,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies the Provider property.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ProviderTest() {
var responseMessage = new IndirectSignedResponse(Protocol.V20.Version, this.returnTo);
responseMessage.ProviderEndpoint = OPUri;
diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseTests.cs
index 38dd0e6..811b7d1 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseTests.cs
@@ -12,14 +12,14 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.Messages;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class PositiveAuthenticationResponseTests : OpenIdTestBase {
private readonly Realm realm = new Realm("http://localhost/rp.aspx");
private readonly Uri returnTo = new Uri("http://localhost/rp.aspx");
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
@@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies good, positive assertions are accepted.
/// </summary>
- [TestMethod]
+ [TestCase]
public void Valid() {
PositiveAssertionResponse assertion = this.GetPositiveAssertion();
ClaimsResponse extension = new ClaimsResponse();
@@ -37,8 +37,8 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
var authResponseAccessor = PositiveAuthenticationResponse_Accessor.AttachShadow(authResponse);
Assert.AreEqual(AuthenticationStatus.Authenticated, authResponse.Status);
Assert.IsNull(authResponse.Exception);
- Assert.AreEqual<string>(assertion.ClaimedIdentifier, authResponse.ClaimedIdentifier);
- Assert.AreEqual<string>(authResponse.Endpoint.FriendlyIdentifierForDisplay, authResponse.FriendlyIdentifierForDisplay);
+ Assert.AreEqual((string)assertion.ClaimedIdentifier, (string)authResponse.ClaimedIdentifier);
+ Assert.AreEqual(authResponse.Endpoint.FriendlyIdentifierForDisplay, authResponse.FriendlyIdentifierForDisplay);
Assert.AreSame(extension, authResponse.GetUntrustedExtension(typeof(ClaimsResponse)));
Assert.AreSame(extension, authResponse.GetUntrustedExtension<ClaimsResponse>());
Assert.IsNull(authResponse.GetCallbackArgument("a"));
@@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// <summary>
/// Verifies that discovery verification of a positive assertion can match a dual identifier.
/// </summary>
- [TestMethod]
+ [TestCase]
public void DualIdentifierMatchesInAssertionVerification() {
PositiveAssertionResponse assertion = this.GetPositiveAssertion(true);
ClaimsResponse extension = new ClaimsResponse();
@@ -62,7 +62,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// Verifies that discovery verification of a positive assertion cannot match a dual identifier
/// if the default settings are in place.
/// </summary>
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void DualIdentifierNoMatchInAssertionVerificationByDefault() {
PositiveAssertionResponse assertion = this.GetPositiveAssertion(true);
ClaimsResponse extension = new ClaimsResponse();
@@ -76,7 +76,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// makes up a claimed Id that was not part of the original request, and
/// that the OP has no authority to assert positively regarding.
/// </summary>
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void SpoofedClaimedIdDetectionSolicited() {
PositiveAssertionResponse assertion = this.GetPositiveAssertion();
assertion.ProviderEndpoint = new Uri("http://rogueOP");
@@ -89,7 +89,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// Verifies that the RP rejects positive assertions with HTTP Claimed
/// Cdentifiers when RequireSsl is set to true.
/// </summary>
- [TestMethod, ExpectedException(typeof(ProtocolException))]
+ [TestCase, ExpectedException(typeof(ProtocolException))]
public void InsecureIdentifiersRejectedWithRequireSsl() {
PositiveAssertionResponse assertion = this.GetPositiveAssertion();
var rp = CreateRelyingParty();
@@ -97,7 +97,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
var authResponse = new PositiveAuthenticationResponse(assertion, rp);
}
- [TestMethod]
+ [TestCase]
public void GetCallbackArguments() {
PositiveAssertionResponse assertion = this.GetPositiveAssertion();
var rp = CreateRelyingParty();
diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/RelyingPartySecuritySettingsTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/RelyingPartySecuritySettingsTests.cs
index 851939e..2f6d218 100644
--- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/RelyingPartySecuritySettingsTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/RelyingPartySecuritySettingsTests.cs
@@ -10,20 +10,20 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
using System.Linq;
using System.Text;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class RelyingPartySecuritySettingsTests : OpenIdTestBase {
private RelyingPartySecuritySettings settings;
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
this.settings = new RelyingPartySecuritySettings();
}
- [TestMethod]
+ [TestCase]
public void Defaults() {
Assert.IsFalse(this.settings.RejectUnsolicitedAssertions);
Assert.IsFalse(this.settings.RequireSsl, "Default should be to not require SSL.");
@@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// Verifies that the <see cref="RelyingPartySecuritySettings.RequireSsl"/> property
/// getter/setter are implemented correctly.
/// </summary>
- [TestMethod]
+ [TestCase]
public void RequireSsl() {
this.settings.RequireSsl = true;
Assert.IsTrue(this.settings.RequireSsl);
@@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// Verifies that the <see cref="RelyingPartySecuritySettings.RequireDirectedIdentity"/>
/// property getter/setter are implemented correctly.
/// </summary>
- [TestMethod]
+ [TestCase]
public void RequireDirectedIdentity() {
this.settings.RequireDirectedIdentity = true;
Assert.IsTrue(this.settings.RequireDirectedIdentity);
@@ -57,7 +57,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty {
/// Verifies that the <see cref="RelyingPartySecuritySettings.RequireAssociation"/>
/// property getter/setter are implemented correctly.
/// </summary>
- [TestMethod]
+ [TestCase]
public void RequireAssociation() {
this.settings.RequireAssociation = true;
Assert.IsTrue(this.settings.RequireAssociation);
diff --git a/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs b/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs
index d504cdf..73c185e 100644
--- a/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs
@@ -13,40 +13,40 @@ namespace DotNetOpenAuth.Test.OpenId {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class UriIdentifierTests : OpenIdTestBase {
private string goodUri = "http://blog.nerdbank.net/";
private string relativeUri = "host/path";
private string badUri = "som%-)830w8vf/?.<>,ewackedURI";
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
- [TestMethod, ExpectedException(typeof(ArgumentNullException))]
+ [TestCase, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullUri() {
new UriIdentifier((Uri)null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void CtorNullString() {
new UriIdentifier((string)null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void CtorBlank() {
new UriIdentifier(string.Empty);
}
- [TestMethod, ExpectedException(typeof(UriFormatException))]
+ [TestCase, ExpectedException(typeof(UriFormatException))]
public void CtorBadUri() {
new UriIdentifier(this.badUri);
}
- [TestMethod]
+ [TestCase]
public void CtorGoodUri() {
var uri = new UriIdentifier(this.goodUri);
Assert.AreEqual(new Uri(this.goodUri), uri.Uri);
@@ -54,33 +54,33 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.IsFalse(uri.IsDiscoverySecureEndToEnd);
}
- [TestMethod]
+ [TestCase]
public void CtorStringNoSchemeSecure() {
var uri = new UriIdentifier("host/path", true);
Assert.AreEqual("https://host/path", uri.Uri.AbsoluteUri);
Assert.IsTrue(uri.IsDiscoverySecureEndToEnd);
}
- [TestMethod]
+ [TestCase]
public void CtorStringHttpsSchemeSecure() {
var uri = new UriIdentifier("https://host/path", true);
Assert.AreEqual("https://host/path", uri.Uri.AbsoluteUri);
Assert.IsTrue(uri.IsDiscoverySecureEndToEnd);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void CtorStringHttpSchemeSecure() {
new UriIdentifier("http://host/path", true);
}
- [TestMethod]
+ [TestCase]
public void CtorUriHttpsSchemeSecure() {
var uri = new UriIdentifier(new Uri("https://host/path"), true);
Assert.AreEqual("https://host/path", uri.Uri.AbsoluteUri);
Assert.IsTrue(uri.IsDiscoverySecureEndToEnd);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void CtorUriHttpSchemeSecure() {
new UriIdentifier(new Uri("http://host/path"), true);
}
@@ -93,21 +93,21 @@ namespace DotNetOpenAuth.Test.OpenId {
/// they should NOT be stripped from claimed identifiers. So the UriIdentifier
/// class, which serves both identifier types, must not do the stripping.
/// </remarks>
- [TestMethod]
+ [TestCase]
public void DoesNotStripFragment() {
Uri original = new Uri("http://a/b#c");
UriIdentifier identifier = new UriIdentifier(original);
Assert.AreEqual(original.Fragment, identifier.Uri.Fragment);
}
- [TestMethod]
+ [TestCase]
public void IsValid() {
Assert.IsTrue(UriIdentifier.IsValidUri(this.goodUri));
Assert.IsFalse(UriIdentifier.IsValidUri(this.badUri));
Assert.IsTrue(UriIdentifier.IsValidUri(this.relativeUri), "URL lacking http:// prefix should have worked anyway.");
}
- [TestMethod]
+ [TestCase]
public void TrimFragment() {
Identifier noFragment = UriIdentifier.Parse("http://a/b");
Identifier fragment = UriIdentifier.Parse("http://a/b#c");
@@ -115,22 +115,22 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.AreEqual(noFragment, fragment.TrimFragment());
}
- [TestMethod]
+ [TestCase]
public void ToStringTest() {
Assert.AreEqual(this.goodUri, new UriIdentifier(this.goodUri).ToString());
}
- [TestMethod]
+ [TestCase]
public void EqualsTest() {
Assert.AreEqual(new UriIdentifier(this.goodUri), new UriIdentifier(this.goodUri));
// This next test is an interesting side-effect of passing off to Uri.Equals. But it's probably ok.
Assert.AreEqual(new UriIdentifier(this.goodUri), new UriIdentifier(this.goodUri + "#frag"));
Assert.AreNotEqual(new UriIdentifier(this.goodUri), new UriIdentifier(this.goodUri + "a"));
Assert.AreNotEqual(null, new UriIdentifier(this.goodUri));
- Assert.AreEqual(this.goodUri, new UriIdentifier(this.goodUri));
+ Assert.IsTrue(new UriIdentifier(this.goodUri).Equals(this.goodUri));
}
- [TestMethod]
+ [TestCase]
public void UnicodeTest() {
string unicodeUrl = "http://nerdbank.org/opaffirmative/崎村.aspx";
Assert.IsTrue(UriIdentifier.IsValidUri(unicodeUrl));
@@ -140,7 +140,7 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.AreEqual(Uri.EscapeUriString(unicodeUrl), id.ToString());
}
- [TestMethod]
+ [TestCase]
public void NormalizeCase() {
// only the host name can be normalized in casing safely.
Identifier id = "http://HOST:80/PaTH?KeY=VaLUE#fRag";
@@ -150,21 +150,21 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.AreEqual("https://host:80/PaTH?KeY=VaLUE#fRag", id.ToString());
}
- [TestMethod]
+ [TestCase]
public void HttpSchemePrepended() {
UriIdentifier id = new UriIdentifier("www.yahoo.com");
Assert.AreEqual("http://www.yahoo.com/", id.ToString());
Assert.IsTrue(id.SchemeImplicitlyPrepended);
}
- ////[TestMethod, Ignore("The spec says http:// must be prepended in this case, but that just creates an invalid URI. Our UntrustedWebRequest will stop disallowed schemes.")]
+ ////[TestCase, Ignore("The spec says http:// must be prepended in this case, but that just creates an invalid URI. Our UntrustedWebRequest will stop disallowed schemes.")]
public void CtorDisallowedScheme() {
UriIdentifier id = new UriIdentifier(new Uri("ftp://host/path"));
Assert.AreEqual("http://ftp://host/path", id.ToString());
Assert.IsTrue(id.SchemeImplicitlyPrepended);
}
- [TestMethod]
+ [TestCase]
public void TryRequireSslAdjustsIdentifier() {
Identifier secureId;
// Try Parse and ctor without explicit scheme
diff --git a/src/DotNetOpenAuth.Test/OpenId/XriIdentifierTests.cs b/src/DotNetOpenAuth.Test/OpenId/XriIdentifierTests.cs
index d5a51cf..0c80821 100644
--- a/src/DotNetOpenAuth.Test/OpenId/XriIdentifierTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/XriIdentifierTests.cs
@@ -10,34 +10,34 @@ namespace DotNetOpenAuth.Test.OpenId {
using System.Linq;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.RelyingParty;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class XriIdentifierTests : OpenIdTestBase {
private string goodXri = "=Andrew*Arnott";
private string badXri = "some\\wacky%^&*()non-XRI";
- [TestInitialize]
+ [SetUp]
public override void SetUp() {
base.SetUp();
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void CtorNull() {
new XriIdentifier(null);
}
- [TestMethod, ExpectedException(typeof(ArgumentException))]
+ [TestCase, ExpectedException(typeof(ArgumentException))]
public void CtorBlank() {
new XriIdentifier(string.Empty);
}
- [TestMethod, ExpectedException(typeof(FormatException))]
+ [TestCase, ExpectedException(typeof(FormatException))]
public void CtorBadXri() {
new XriIdentifier(this.badXri);
}
- [TestMethod]
+ [TestCase]
public void CtorGoodXri() {
var xri = new XriIdentifier(this.goodXri);
Assert.AreEqual(this.goodXri, xri.OriginalXri);
@@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.IsFalse(xri.IsDiscoverySecureEndToEnd);
}
- [TestMethod]
+ [TestCase]
public void CtorGoodXriSecure() {
var xri = new XriIdentifier(this.goodXri, true);
Assert.AreEqual(this.goodXri, xri.OriginalXri);
@@ -53,7 +53,7 @@ namespace DotNetOpenAuth.Test.OpenId {
Assert.IsTrue(xri.IsDiscoverySecureEndToEnd);
}
- [TestMethod]
+ [TestCase]
public void IsValid() {
Assert.IsTrue(XriIdentifier.IsValidXri(this.goodXri));
Assert.IsFalse(XriIdentifier.IsValidXri(this.badXri));
@@ -62,33 +62,33 @@ namespace DotNetOpenAuth.Test.OpenId {
/// <summary>
/// Verifies 2.0 spec section 7.2#1
/// </summary>
- [TestMethod]
+ [TestCase]
public void StripXriScheme() {
var xri = new XriIdentifier("xri://" + this.goodXri);
Assert.AreEqual("xri://" + this.goodXri, xri.OriginalXri);
Assert.AreEqual(this.goodXri, xri.CanonicalXri);
}
- [TestMethod]
+ [TestCase]
public void TrimFragment() {
Identifier xri = new XriIdentifier(this.goodXri);
Assert.AreSame(xri, xri.TrimFragment());
}
- [TestMethod]
+ [TestCase]
public void ToStringTest() {
Assert.AreEqual(this.goodXri, new XriIdentifier(this.goodXri).ToString());
}
- [TestMethod]
+ [TestCase]
public void EqualsTest() {
Assert.AreEqual(new XriIdentifier(this.goodXri), new XriIdentifier(this.goodXri));
Assert.AreNotEqual(new XriIdentifier(this.goodXri), new XriIdentifier(this.goodXri + "a"));
Assert.AreNotEqual(null, new XriIdentifier(this.goodXri));
- Assert.AreEqual(this.goodXri, new XriIdentifier(this.goodXri));
+ Assert.IsTrue(new XriIdentifier(this.goodXri).Equals(this.goodXri));
}
- [TestMethod, Ignore] // XRI parsing and normalization is not implemented (yet).
+ [TestCase, Ignore("XRI parsing and normalization is not implemented (yet).")]
public void NormalizeCase() {
Identifier id = "=!9B72.7dd1.50a9.5ccd";
Assert.AreEqual("=!9B72.7DD1.50A9.5CCD", id.ToString());
diff --git a/src/DotNetOpenAuth.Test/Test References/DotNetOpenAuth.accessor b/src/DotNetOpenAuth.Test/Test References/DotNetOpenAuth.accessor
deleted file mode 100644
index 35adf51..0000000
--- a/src/DotNetOpenAuth.Test/Test References/DotNetOpenAuth.accessor
+++ /dev/null
@@ -1 +0,0 @@
-DotNetOpenAuth.dll
diff --git a/src/DotNetOpenAuth.Test/TestBase.cs b/src/DotNetOpenAuth.Test/TestBase.cs
index c6508f6..8aeca2d 100644
--- a/src/DotNetOpenAuth.Test/TestBase.cs
+++ b/src/DotNetOpenAuth.Test/TestBase.cs
@@ -5,38 +5,43 @@
//-----------------------------------------------------------------------
namespace DotNetOpenAuth.Test {
+ using System;
using System.IO;
using System.Reflection;
using System.Web;
using DotNetOpenAuth.Messaging.Reflection;
using DotNetOpenAuth.OAuth.Messages;
using log4net;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
/// <summary>
/// The base class that all test classes inherit from.
/// </summary>
public class TestBase {
- /// <summary>
- /// The full path to the directory that contains the test ASP.NET site.
- /// </summary>
- internal static readonly string TestWebDirectory = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), @"..\..\..\..\src\DotNetOpenAuth.TestWeb"));
-
private MessageDescriptionCollection messageDescriptions = new MessageDescriptionCollection();
/// <summary>
- /// Gets or sets the test context which provides
- /// information about and functionality for the current test run.
- /// </summary>
- public TestContext TestContext { get; set; }
-
- /// <summary>
/// Gets the logger that tests should use.
/// </summary>
internal static ILog TestLogger {
get { return TestUtilities.TestLogger; }
}
+ /// <summary>
+ /// Gets the full path to the directory that contains the test ASP.NET site.
+ /// </summary>
+ internal string TestWebDirectory {
+ get {
+ // System.IO.Path.GetDirectoryName(new System.Uri(basePath).LocalPath)
+ string basePath = Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath);
+ string relativePath = @"src\DotNetOpenAuth.TestWeb";
+ for (int i = 0; !Directory.Exists(Path.Combine(basePath, relativePath)) && i < 4; i++) {
+ relativePath = "..\\" + relativePath;
+ }
+ return Path.GetFullPath(relativePath);
+ }
+ }
+
internal MessageDescriptionCollection MessageDescriptions {
get { return this.messageDescriptions; }
}
@@ -44,7 +49,7 @@ namespace DotNetOpenAuth.Test {
/// <summary>
/// The TestInitialize method for the test cases.
/// </summary>
- [TestInitialize]
+ [SetUp]
public virtual void SetUp() {
log4net.Config.XmlConfigurator.Configure(Assembly.GetExecutingAssembly().GetManifestResourceStream("DotNetOpenAuth.Test.Logging.config"));
MessageBase.LowSecurityMode = true;
@@ -55,7 +60,7 @@ namespace DotNetOpenAuth.Test {
/// <summary>
/// The TestCleanup method for the test cases.
/// </summary>
- [TestCleanup]
+ [TearDown]
public virtual void Cleanup() {
log4net.LogManager.Shutdown();
}
diff --git a/src/DotNetOpenAuth.Test/UriUtilTests.cs b/src/DotNetOpenAuth.Test/UriUtilTests.cs
index 29e740d..a2cf1a2 100644
--- a/src/DotNetOpenAuth.Test/UriUtilTests.cs
+++ b/src/DotNetOpenAuth.Test/UriUtilTests.cs
@@ -9,11 +9,11 @@ namespace DotNetOpenAuth.Test {
using System.Collections.Generic;
using System.Linq;
using System.Text;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class UriUtilTests {
- [TestMethod]
+ [TestCase]
public void QueryStringContainPrefixedParametersNull() {
Assert.IsFalse(UriUtil.QueryStringContainPrefixedParameters(null, "prefix."));
}
diff --git a/src/DotNetOpenAuth.Test/UtilTests.cs b/src/DotNetOpenAuth.Test/UtilTests.cs
index 5ea4d0c..0930e8d 100644
--- a/src/DotNetOpenAuth.Test/UtilTests.cs
+++ b/src/DotNetOpenAuth.Test/UtilTests.cs
@@ -9,14 +9,14 @@ namespace DotNetOpenAuth.Test {
using System.Collections.Generic;
using System.Linq;
using System.Text;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using NUnit.Framework;
- [TestClass]
+ [TestFixture]
public class UtilTests {
/// <summary>
/// Verifies ToStringDeferred generates a reasonable string for an empty, multi-line list.
/// </summary>
- [TestMethod]
+ [TestCase]
public void ToStringDeferredEmptyMultiLine() {
Assert.AreEqual("[]", Util.ToStringDeferred(Enumerable.Empty<string>(), true).ToString());
}
diff --git a/src/DotNetOpenAuth.sln b/src/DotNetOpenAuth.sln
index 5e7bb52..55d43e8 100644
--- a/src/DotNetOpenAuth.sln
+++ b/src/DotNetOpenAuth.sln
@@ -1,17 +1,11 @@

-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth", "DotNetOpenAuth\DotNetOpenAuth.csproj", "{3191B653-F76D-4C1A-9A5A-347BC3AAAAB7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.Test", "DotNetOpenAuth.Test\DotNetOpenAuth.Test.csproj", "{4376ECC9-C346-4A99-B13C-FA93C0FBD2C9}"
-EndProject
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{20B5E173-C3C4-49F8-BD25-E69044075B4D}"
ProjectSection(SolutionItems) = preProject
..\build.proj = ..\build.proj
..\projecttemplates\DotNetOpenAuth Starter Kits.vscontent = ..\projecttemplates\DotNetOpenAuth Starter Kits.vscontent
- DotNetOpenAuth.vsmdi = DotNetOpenAuth.vsmdi
..\LICENSE.txt = ..\LICENSE.txt
- LocalTestRun.testrunconfig = LocalTestRun.testrunconfig
..\doc\README.Bin.html = ..\doc\README.Bin.html
..\doc\README.html = ..\doc\README.html
..\samples\README.html = ..\samples\README.html
@@ -33,11 +27,25 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Specs", "Specs", "{CD57219F
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{B4C6F647-C046-4B54-BE12-7701C4119EE7}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OpenID", "OpenID", "{034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OAuth", "OAuth", "{1E2CBAA5-60A3-4AED-912E-541F5753CDC6}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "InfoCard", "InfoCard", "{8A5CEDB9-7F8A-4BE2-A1B9-97130F453277}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{E9ED920D-1F83-48C0-9A4B-09CCE505FE6D}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Project Templates", "Project Templates", "{B9EB8729-4B54-4453-B089-FE6761BA3057}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth", "DotNetOpenAuth\DotNetOpenAuth.csproj", "{3191B653-F76D-4C1A-9A5A-347BC3AAAAB7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.Test", "DotNetOpenAuth.Test\DotNetOpenAuth.Test.csproj", "{4376ECC9-C346-4A99-B13C-FA93C0FBD2C9}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.ApplicationBlock", "..\samples\DotNetOpenAuth.ApplicationBlock\DotNetOpenAuth.ApplicationBlock.csproj", "{AA78D112-D889-414B-A7D4-467B34C7B663}"
EndProject
-Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "DotNetOpenAuth.TestWeb", "DotNetOpenAuth.TestWeb", "{47A84EF7-68C3-4D47-926A-9CCEA6518531}"
+Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "DotNetOpenAuth.TestWeb", "DotNetOpenAuth.TestWeb\", "{47A84EF7-68C3-4D47-926A-9CCEA6518531}"
ProjectSection(WebsiteProperties) = preProject
- TargetFramework = "3.5"
+ TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5"
ProjectReferences = "{3191B653-F76D-4C1A-9A5A-347BC3AAAAB7}|DotNetOpenAuth.dll;{4376ECC9-C346-4A99-B13C-FA93C0FBD2C9}|DotNetOpenAuth.Test.dll;"
Debug.AspNetCompiler.VirtualPath = "/DotNetOpenAuth.TestWeb"
Debug.AspNetCompiler.PhysicalPath = "DotNetOpenAuth.TestWeb\"
@@ -62,9 +70,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdProviderWebForms", ".
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdProviderMvc", "..\samples\OpenIdProviderMvc\OpenIdProviderMvc.csproj", "{AEA29D4D-396F-47F6-BC81-B58D4B855245}"
EndProject
-Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "InfoCardRelyingParty", "..\samples\InfoCardRelyingParty", "{6EB90284-BD15-461C-BBF2-131CF55F7C8B}"
+Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "InfoCardRelyingParty", "..\samples\InfoCardRelyingParty\", "{6EB90284-BD15-461C-BBF2-131CF55F7C8B}"
ProjectSection(WebsiteProperties) = preProject
- TargetFramework = "3.5"
+ TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5"
ProjectReferences = "{3191B653-F76D-4C1A-9A5A-347BC3AAAAB7}|DotNetOpenAuth.dll;"
Debug.AspNetCompiler.VirtualPath = "/InfoCardRelyingParty"
Debug.AspNetCompiler.PhysicalPath = "..\samples\InfoCardRelyingParty\"
@@ -82,15 +90,16 @@ Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "InfoCardRelyingParty", "..\
Release.AspNetCompiler.Debug = "False"
VWDPort = "59719"
DefaultWebSiteLanguage = "Visual Basic"
+ StartServerOnDebug = "false"
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdRelyingPartyMvc", "..\samples\OpenIdRelyingPartyMvc\OpenIdRelyingPartyMvc.csproj", "{07B193F1-68AD-4E9C-98AF-BEFB5E9403CB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdRelyingPartyWebForms", "..\samples\OpenIdRelyingPartyWebForms\OpenIdRelyingPartyWebForms.csproj", "{1E8AEA89-BF69-47A1-B290-E8B0FE588700}"
EndProject
-Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OpenIdRelyingPartyClassicAsp", "..\samples\OpenIdRelyingPartyClassicAsp", "{BBACD972-014D-478F-9B07-56B9E1D4CC73}"
+Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OpenIdRelyingPartyClassicAsp", "..\samples\OpenIdRelyingPartyClassicAsp\", "{BBACD972-014D-478F-9B07-56B9E1D4CC73}"
ProjectSection(WebsiteProperties) = preProject
- TargetFramework = "2.0"
+ TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5"
Debug.AspNetCompiler.VirtualPath = "/OpenIdRelyingPartyClassicAsp"
Debug.AspNetCompiler.PhysicalPath = "..\samples\OpenIdRelyingPartyClassicAsp\"
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\OpenIdRelyingPartyClassicAsp\"
@@ -106,6 +115,7 @@ Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OpenIdRelyingPartyClassicAs
Release.AspNetCompiler.FixedNames = "false"
Release.AspNetCompiler.Debug = "False"
VWDPort = "10318"
+ StartServerOnDebug = "false"
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OAuthConsumerWpf", "..\samples\OAuthConsumerWpf\OAuthConsumerWpf.csproj", "{6EC36418-DBC5-4AD1-A402-413604AA7A08}"
@@ -113,15 +123,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OAuthConsumerWpf", "..\samp
{7ADCCD5C-AC2B-4340-9410-FE3A31A48191} = {7ADCCD5C-AC2B-4340-9410-FE3A31A48191}
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OpenID", "OpenID", "{034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OAuth", "OAuth", "{1E2CBAA5-60A3-4AED-912E-541F5753CDC6}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "InfoCard", "InfoCard", "{8A5CEDB9-7F8A-4BE2-A1B9-97130F453277}"
-EndProject
-Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OAuthConsumer", "..\samples\OAuthConsumer", "{9ADBE36D-9960-48F6-82E9-B4AC559E9AC3}"
+Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OAuthConsumer", "..\samples\OAuthConsumer\", "{9ADBE36D-9960-48F6-82E9-B4AC559E9AC3}"
ProjectSection(WebsiteProperties) = preProject
- TargetFramework = "3.5"
+ TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5"
ProjectReferences = "{3191B653-F76D-4C1A-9A5A-347BC3AAAAB7}|DotNetOpenAuth.dll;{AA78D112-D889-414B-A7D4-467B34C7B663}|DotNetOpenAuth.ApplicationBlock.dll;"
Debug.AspNetCompiler.VirtualPath = "/OAuthConsumer"
Debug.AspNetCompiler.PhysicalPath = "..\samples\OAuthConsumer\"
@@ -138,11 +142,12 @@ Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OAuthConsumer", "..\samples
Release.AspNetCompiler.FixedNames = "false"
Release.AspNetCompiler.Debug = "False"
VWDPort = "59721"
+ StartServerOnDebug = "false"
EndProjectSection
EndProject
-Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OAuthServiceProvider", "..\samples\OAuthServiceProvider", "{7ADCCD5C-AC2B-4340-9410-FE3A31A48191}"
+Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OAuthServiceProvider", "..\samples\OAuthServiceProvider\", "{7ADCCD5C-AC2B-4340-9410-FE3A31A48191}"
ProjectSection(WebsiteProperties) = preProject
- TargetFramework = "3.5"
+ TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5"
ProjectReferences = "{3191B653-F76D-4C1A-9A5A-347BC3AAAAB7}|DotNetOpenAuth.dll;"
Debug.AspNetCompiler.VirtualPath = "/OAuthServiceProvider"
Debug.AspNetCompiler.PhysicalPath = "..\samples\OAuthServiceProvider\"
@@ -160,14 +165,11 @@ Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OAuthServiceProvider", "..\
Release.AspNetCompiler.Debug = "False"
VWDPort = "65169"
VWDDynamicPort = "false"
+ StartServerOnDebug = "false"
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdOfflineProvider", "..\samples\OpenIdOfflineProvider\OpenIdOfflineProvider.csproj", "{5C65603B-235F-47E6-B536-06385C60DE7F}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{E9ED920D-1F83-48C0-9A4B-09CCE505FE6D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Project Templates", "Project Templates", "{B9EB8729-4B54-4453-B089-FE6761BA3057}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebFormsRelyingParty", "..\projecttemplates\WebFormsRelyingParty\WebFormsRelyingParty.csproj", "{A78F8FC6-7B03-4230-BE41-761E400D6810}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RelyingPartyLogic", "..\projecttemplates\RelyingPartyLogic\RelyingPartyLogic.csproj", "{17932639-1F50-48AF-B0A5-E2BF832F82CC}"
@@ -186,9 +188,6 @@ EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "OpenIdRelyingPartyWebFormsVB", "..\samples\OpenIdRelyingPartyWebFormsVB\OpenIdRelyingPartyWebFormsVB.vbproj", "{F289B925-4307-4BEC-B411-885CE70E3379}"
EndProject
Global
- GlobalSection(TestCaseManagementSettings) = postSolution
- CategoryFile = DotNetOpenAuth.vsmdi
- EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
CodeAnalysis|Any CPU = CodeAnalysis|Any CPU
Debug|Any CPU = Debug|Any CPU
@@ -330,22 +329,23 @@ Global
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{CD57219F-24F4-4136-8741-6063D0D7A031} = {20B5E173-C3C4-49F8-BD25-E69044075B4D}
- {AA78D112-D889-414B-A7D4-467B34C7B663} = {B4C6F647-C046-4B54-BE12-7701C4119EE7}
{034D5B5B-7D00-4A9D-8AFE-4A476E0575B1} = {B4C6F647-C046-4B54-BE12-7701C4119EE7}
- {8A5CEDB9-7F8A-4BE2-A1B9-97130F453277} = {B4C6F647-C046-4B54-BE12-7701C4119EE7}
{1E2CBAA5-60A3-4AED-912E-541F5753CDC6} = {B4C6F647-C046-4B54-BE12-7701C4119EE7}
+ {8A5CEDB9-7F8A-4BE2-A1B9-97130F453277} = {B4C6F647-C046-4B54-BE12-7701C4119EE7}
+ {AA78D112-D889-414B-A7D4-467B34C7B663} = {B4C6F647-C046-4B54-BE12-7701C4119EE7}
+ {2A59DE0A-B76A-4B42-9A33-04D34548353D} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}
{AEA29D4D-396F-47F6-BC81-B58D4B855245} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}
{07B193F1-68AD-4E9C-98AF-BEFB5E9403CB} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}
{1E8AEA89-BF69-47A1-B290-E8B0FE588700} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}
{BBACD972-014D-478F-9B07-56B9E1D4CC73} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}
- {2A59DE0A-B76A-4B42-9A33-04D34548353D} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}
{B64A1E7E-6A15-4B91-AF13-7D48F7DA5942} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}
{0B4EB2A8-283D-48FB-BCD0-85B8DFFE05E4} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}
- {F289B925-4307-4BEC-B411-885CE70E3379} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}
{6EB90284-BD15-461C-BBF2-131CF55F7C8B} = {8A5CEDB9-7F8A-4BE2-A1B9-97130F453277}
+ {F289B925-4307-4BEC-B411-885CE70E3379} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1}
{6EC36418-DBC5-4AD1-A402-413604AA7A08} = {1E2CBAA5-60A3-4AED-912E-541F5753CDC6}
{9ADBE36D-9960-48F6-82E9-B4AC559E9AC3} = {1E2CBAA5-60A3-4AED-912E-541F5753CDC6}
{7ADCCD5C-AC2B-4340-9410-FE3A31A48191} = {1E2CBAA5-60A3-4AED-912E-541F5753CDC6}
+ {6EB90284-BD15-461C-BBF2-131CF55F7C8B} = {8A5CEDB9-7F8A-4BE2-A1B9-97130F453277}
{5C65603B-235F-47E6-B536-06385C60DE7F} = {E9ED920D-1F83-48C0-9A4B-09CCE505FE6D}
{A78F8FC6-7B03-4230-BE41-761E400D6810} = {B9EB8729-4B54-4453-B089-FE6761BA3057}
{17932639-1F50-48AF-B0A5-E2BF832F82CC} = {B9EB8729-4B54-4453-B089-FE6761BA3057}
diff --git a/src/DotNetOpenAuth.vsmdi b/src/DotNetOpenAuth.vsmdi
deleted file mode 100644
index 2de6386..0000000
--- a/src/DotNetOpenAuth.vsmdi
+++ /dev/null
@@ -1,544 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">
- <TestList name="Hosted ASP.NET tests" id="5a637793-05cb-476f-9f0c-18e7e7a4b205" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
- <Description>Tests that require hosting the test ASP.NET web site to run. These tests tend to be a bit slower than the rest due to the overhead of loading ASP.NET.</Description>
- <TestLinks>
- <TestLink id="896fd3db-5edb-ed16-b11a-e01769735f89" name="BadRequestsGenerateValidErrorResponsesHosted" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a6d6decf-0c19-16d8-edf6-ee70e56877e1" name="AspHostBasicTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- </TestLinks>
- </TestList>
- <TestList name="Fast" id="7e880f0f-2224-4f4c-a555-910a3bc2c0e5" parentListId="f0eeb325-0558-48a3-9a99-952133d8148e">
- <Description>Fast running unit tests</Description>
- <TestLinks>
- <TestLink id="89de77d8-729a-7efe-9667-71b1f5d78859" name="CtorBadXri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4ba7ca33-72f1-3fc6-d37c-65134eda904d" name="AddDeclaredValueThatAlreadyExists" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="06b350b0-79d1-9393-7620-cd919061898c" name="ParseEndUserSuppliedUriIdentifier" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="300ae1f7-fc61-1d41-b262-f8c830b6e115" name="RemoveTest1" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="734dd45c-6320-26a9-e412-62ecacfd285a" name="CtorNullAttribute" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1d5fb5a9-e15c-d99c-7a7e-95a4c4d123c2" name="DirectRequestsUsePost" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="6b218bf7-a4e9-8dac-d2c2-9bc3ee3ffc3e" name="EqualityTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="74f2623d-98c5-7c2b-a2af-02dfa7ff5601" name="GetHttpVerbTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1c531011-403a-0821-d630-d5433d968f31" name="CtorFromRequest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="73c6c979-205d-2216-d98d-2dd136b352c6" name="UtcCreationDateConvertsToUniversal" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d39dbdbd-7daf-9d4c-9ef1-8bbdeda2ffb0" name="DiscoveryRequireSslWithInsecureXrdsInSecureHttpHeader" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="49a266cf-4ab6-3fdc-f4fd-21533f42c7cb" name="CtorWithProtocolMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d12e8df0-1195-ab75-2275-7c8f854ddf98" name="UserSetupUrl" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="21cf1f9a-063f-395a-f8aa-92c190c69146" name="SignaturesMatchKnownGood" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d570770a-74e4-50ec-8eb9-91bd81c093ad" name="ParseNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a9f7897c-b299-807b-0612-384732cd10c9" name="Ctor" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f4bec8d2-0531-34ab-8d50-bca260b58c61" name="ReadFromRequestWithContext" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a314e3b9-36a5-bfbb-3e15-e5003f22cf87" name="Serialize" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1bfbe1e1-3827-824f-27ad-4c990b0e22ab" name="Defaults" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ca9f3da7-e19f-b58b-54fe-54fa56ab9556" name="AddByKeyAndValue" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d766edce-59de-a03d-830a-0f0477521cff" name="ApplyHeadersToResponseNullAspNetResponse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9fae8ab4-8436-eba1-3e4b-51511998fa8e" name="UnsolicitedAssertionRejected" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="84e718d7-bb82-e7d1-31be-471e2c154053" name="Item" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="889ba616-43dc-8a7f-ee13-46288969d617" name="ParameterNames" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fdf5b3df-239b-26fd-c1a2-152057195b7e" name="ReadFromRequestForm" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="555edc3b-5abf-7e46-b4f6-ddf44800b5df" name="SpreadSregToAXBasic" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1c2226d3-5cf9-dba6-80b9-ff2710808567" name="IsExtensionSupportedNullType" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f8e523fa-a36b-5b4b-5f9d-b4f257f14ac5" name="XrdsDiscoveryFromHttpHeader" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="149a95cf-a538-f853-e11b-3133c15579c5" name="RequestTokenUriTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f3cbbcda-49ff-fc43-140b-f362081654c3" name="CtorNullTypeUri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="352d9fd6-cf38-4b72-478f-e3e17ace55f5" name="NoValueLoose" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fa52f2db-fc1e-ba31-cc5e-0bcc05998187" name="NoValue" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="65752c29-fa1f-7b88-bbec-5329af8db4d8" name="IsValid" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="68532d6d-a0cf-5883-17e2-6060707ba9ae" name="DecodeOobToNullUri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="188ce83b-3117-adb5-4b89-12f2b09be1de" name="CtorSimpleConsumer" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="782d64c8-46af-a624-b3f6-a65aeaa57bfe" name="LastLineNotTerminatedLoose" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f6ecb459-cc64-36ee-438c-4514e9413586" name="AddAttributeByPrimitives" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="03e293d0-dbe8-ad09-1ddd-de7be2cf9276" name="CopyTo" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5fa10f12-3de5-1783-0a97-9802d5469dfa" name="AddAttributeNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5ab06bb5-d047-8c3a-6b91-5951e0a55cc5" name="ToStringTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="454165a2-c26e-5740-09a9-d234db052ba3" name="InvalidRealmNullUri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="40e1121e-8ff3-df73-203b-04baab671a0c" name="ImplicitConversionToStringTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="779b1f99-fe67-185c-f165-66787bf6e39a" name="BasicEncodingTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ed7efca3-c3c1-bc4a-cef7-eaf984749355" name="ValidMessageReceivedTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="456c3468-9081-4879-7e7e-8299bd8c7f68" name="IsReadOnly" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d6951a97-9d0b-31c1-7a29-01fbb986c5a9" name="SpoofedClaimedIdDetectionSolicited" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1cde79f8-99b7-7090-f898-ba96a607875f" name="IsReturnUrlDiscoverableValidButNoMatch" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="910f8448-5454-8ae5-cba3-690c7f375576" name="ParameterNames" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="83aba528-c8ea-f464-177e-2ea8ae2cfd0b" name="Birthdates" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3c4e0438-94f5-a132-3949-8d94718e4839" name="PassThruCollection" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b63c4b89-3889-6dcf-8890-c92fc44c0b10" name="VerifyBadTimestampIsRejected" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9126d9e0-14dc-490b-3cd3-d3e424d38f9e" name="BinarySerialization" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4c399759-263f-5eba-8855-de14f197e647" name="QueryStringContainPrefixedParametersNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1757957f-17bb-ef9f-39f8-c008863ec033" name="AssuranceLevels" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c11e5541-0a92-85ab-4f90-0db7766ebdcb" name="CtorUnsolicited" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8aecb3a5-2cb5-143d-aa99-9514fa8dfacb" name="AddAttributeByValue" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b09311d4-4dea-6786-3e59-9c62fe16e301" name="ParameterNames" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ad56539c-6156-5f62-a98a-b24ae0159cc6" name="XmlSerialization" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="54eae9ed-bed1-eeda-b6ea-045c8f7e2ba5" name="SendIndirectMessage301GetNullFields" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2d0ee03a-f082-768c-a0db-574ac8efeffb" name="Valid" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="6c20a52a-bab7-e84e-faca-fd79ec5303d9" name="CtorCountZero" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7fb8d29c-c8ea-7f88-ed42-ae7368d6a429" name="CtorNullStore" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="264cd371-e830-c09b-5511-18f54d4c69d5" name="RespondSimpleValue" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="77cb0e92-f1d8-44ba-eb16-83fdce2fb762" name="ProtocolDetectionWithoutClues" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="163c8ba8-f829-c21e-a5a1-3c4565ec4425" name="UnifyExtensionsAsSregNoExtensions" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="054484ce-12c5-83ad-49a4-b241cd81557d" name="ClaimedIdentifier" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e8337858-a320-8aad-51aa-402e65a90b75" name="ReplayDetectionTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="507cd1b6-1010-0bca-cf7f-f96e3f4f6c6c" name="QueryBeforeSettingUrl" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1dcbaac6-0b11-8d8f-50d7-237574abbab1" name="ToDictionaryWithSkippedNullKey" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5c66a1b8-5b20-2e3b-8427-d6ff4640ac53" name="BadRequestsGenerateValidErrorResponses" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8c3f05ce-10de-f3f0-fac6-1471d1f146ed" name="IsTypeUriPresentEmptyString" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4e3cef90-06f2-f5dd-3510-a8595b552af5" name="GetHttpVerbOutOfRangeTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="715dcbdd-28f5-3c33-7d88-e0a1b648d89a" name="CreateRequestDumbMode" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a1ff4ada-fe5d-d2f3-b7fb-8e72db02b3c3" name="Full" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="85a71d28-5f2f-75ce-9008-94982438bb5f" name="EqualityTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f334cc44-b2d0-2d67-358a-532def3bee80" name="ContainsKeyValuePair" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fa05cc5f-2aaf-da22-ff52-caf1c3c6bb08" name="InsecureIdentifiersRejectedWithRequireSsl" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c1c7e292-3e87-4fe5-1f6f-0ef2f86ebbce" name="GetHttpDeliveryMethodOutOfRangeTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7debb527-142a-6ca6-3b9b-1e131c18e801" name="AccessTokenUriTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="98e7a0f9-ab6c-7ff1-3a2c-00d8244e1bec" name="CommonMethods" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a25369b4-b1b8-09a1-7a47-aacc1480e51c" name="FilePartAsFile" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="af7cb01c-950e-23d7-0f32-082b7af8b382" name="CtorNullToObject" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="13acd546-c82e-324c-220d-34f42a6d705e" name="DeserializeSimple" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b56cdf04-0d29-8b13-468c-fb4b4258c619" name="CtorNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d474830d-3636-522c-1564-1b83e7a844d3" name="EmptyLine" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8fc08a6d-6dcf-6256-42ff-073d4e4b6859" name="RequireDirectedIdentity" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d80bf2a0-bcd5-f1c1-4835-8e5ceb523387" name="GetPublicFacingUrlSSLForwarder3" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f20bd439-e277-dc27-4ec4-5d5949d1c6bf" name="RequestUsingAuthorizationHeaderScattered" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3fc3ac8d-7772-b620-0927-f4bd3a24ce2f" name="SendNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5f3758b3-1410-c742-e623-b964c01b0633" name="AuthenticationTimeUtcConvertsToUtc" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9d4a230d-9e74-dc1b-ecdc-bf875b56e1b3" name="CtorNullVersion" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7b1fb2c4-39c0-0d39-700c-96d992f5a01f" name="AuthenticationTimeUtcSetUnspecified" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="00089858-d849-1e5f-4fb5-31d8d0590233" name="VerifyArgumentNotNullThrows" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="54a65e0b-1857-72b9-797b-fe3d9a082131" name="Ctor" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f17424d2-ed4b-1ea0-a339-733f5092d9d0" name="MaximumAuthenticationAgeTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d067c55c-3715-ed87-14a2-c07349813c94" name="IsDirectedIdentity" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2a7b77c3-27d5-7788-e664-5d20118d223b" name="OPRejectsHttpNoEncryptionAssociateRequests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a66588b5-989d-8f8e-4994-4a066220516b" name="FileSerializeMatchesLength" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2f9d176e-4137-63bd-ee2a-6b79fde70d0d" name="Clear" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5c6d64b8-6368-5609-aa2c-ca32e273cdfd" name="IsTypeUriPresentNullString" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="df159af7-abf5-089c-b592-e6f535dab1c1" name="Ctor" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e137b84a-d2a7-9af6-d15d-a92417668ccf" name="Transport" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ac4ff1af-8333-e54e-0322-27d8824d7573" name="RequestUsingAuthorizationHeader" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e78ab82c-3b49-468a-b2ad-ca038e98ff07" name="GetEnumerator" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8e86c2fd-24b9-44c5-7cda-d66aa7cd4418" name="Serializable" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="62096188-a8d2-d540-0157-57974e058035" name="HtmlDiscover_20" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2e473003-940f-259e-ea10-3ddd8360e74d" name="IsTypeUriPresentEmpty" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e344ba35-96b7-d441-c174-8c8b295fd157" name="AddCallbackArgument" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5435ab79-de25-e2fc-0b2d-b05d5686d27d" name="IsUrlWithinRealmTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e2287de6-cbd2-4298-3fb8-297013749e70" name="SendIndirectMessageFormPostNullFields" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="db8d66cc-8206-57cc-0ce5-c8117813d77c" name="UnifyExtensionsasSregFromSchemaOpenIdNet" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ef8a2274-4e58-0dde-4c5c-7f286865fc3a" name="SendReplayProtectedMessageSetsNonce" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="63e5025b-5ccf-5f13-6e05-d1e44502a6e9" name="RequestBadPreferredScheme" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e2ab77b2-a6dc-f165-1485-140b9b3d916f" name="EqualityTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2eb7c3dd-08aa-bfc0-edc8-e14bd82f7507" name="IdentifierTextInteraction" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a098eccc-1909-2f95-6fdf-848b7b7fd7d6" name="DiscoverRequireSslWithInsecureRedirect" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f41ce7ab-5500-7eea-ab4d-8c646bffff23" name="HttpSchemePrepended" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="38239ff0-1dfd-1116-55df-2790243dc768" name="IsValid" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="04be6602-31a2-f4ae-8fdb-b9ad2ac370be" name="PrepareMessageForReceiving" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2c2b48d0-8009-e7e0-9ff4-34f9973f59da" name="EqualsTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5dd2e6c9-ff0f-48de-3a1a-cbab61370843" name="SetCountNegative" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="182203f3-5a16-b736-ea8c-b59f6bf7df66" name="InvalidRealmTwoWildcards2" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4fd5baa2-8f39-8bf6-db8f-aa92592bfc06" name="CtorRequest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="385c302d-b546-c164-2a59-2e35f75d7d60" name="RemoveStructDeclaredProperty" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="870cce9d-5b17-953c-028f-827ec8b56da2" name="GetInvalidMessageType" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="97f0277a-86e6-5b5a-8419-c5253cabf2e0" name="UserAuthorizationUriTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="643add47-e9f3-20b8-d8e0-69e3f8926d33" name="CreateRequestsWithEndpointFilter" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d66a3b7a-1738-f6b3-aed1-e9bc80734ae9" name="CtorNullString" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f3f84a10-317f-817a-1988-fddc10b75c20" name="AddTwoAttributes" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2d82ac4b-99b4-a132-eb62-d943e02d1498" name="ApplyHeadersToResponse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5e2555a0-c07a-6488-c0e9-40ececd5021f" name="Serbian" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e03f0038-5bb7-92f2-87a7-00a7d2c31a77" name="MessageExpirationWithoutTamperResistance" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1f3ea08b-9880-635f-368f-9fcd3e25f3cd" name="ReadFromRequestNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9104f36f-6652-dcbb-a8ae-0d6fc34d76ed" name="AddCallbackArgumentClearsPreviousArgument" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f49bcd49-76fb-bfea-b119-4e0f70159f80" name="OpenIdProvider" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f4b313bb-cebc-a854-ffbd-6c955d850a05" name="VerifyGoodTimestampIsAccepted" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="77047207-0571-72d5-71bd-586b878bcc0c" name="Base64Member" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f919a731-cc5c-88c6-5582-639b272d64fc" name="IsReturnUrlDiscoverableValidResponse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a8bd3730-1660-dca9-87ec-23bc9dc39ab9" name="CtorGoodXriSecure" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4a00f3ab-f405-95a7-d745-2fcf7787eb56" name="GetNonexistentHandle" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f4537b23-bb5e-5c6f-da53-64b34472f0dc" name="ChannelGetter" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="75fa4664-bb0e-3a54-de29-c18ac712b231" name="Mode" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="94ba9fd3-851d-13b2-e273-6294b167c13e" name="HttpsSignatureVerification" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5460f9c6-ec9d-969d-5aff-b946d6776e25" name="CtorWithNullProtocolMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="069995aa-4136-610b-3f41-df80a138c244" name="AppendQueryArgsNullUriBuilder" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="64d8c630-76c6-e420-937b-19c889dd7f59" name="CtorNonMessageType" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7c2d7790-f8fa-9af7-cd23-cfb360ae2c7b" name="IsExtensionSupported" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="be41e9c1-ecde-cc80-37d0-4126225e4cda" name="CtorNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="48115dc0-1323-bab0-c540-695a2160e0a3" name="CtorNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a79e43c9-ad5a-5543-51ff-22271ec87ab0" name="PrepareMessageForSendingNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7ca16e07-126d-58ac-2ac5-a09a8bf77592" name="InvalidRealmBadWildcard1" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="832dbf28-5bf2-bd95-9029-bf798349d917" name="GetCallbackArguments" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="11108b79-f360-9f7c-aebc-2d11bebff96a" name="ReadFromRequestForm" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="53cbbf4a-89d3-122b-0d88-662f3022ce26" name="OpenIdMaxAuthenticationTime" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="20646985-c84a-db8e-f982-ec55d61eaacd" name="ResponseNonceSetter" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c2c78c43-7f50-ffc3-affb-e60de2b76c94" name="CreateQueryStringNullDictionary" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="dc6af36d-0efc-9291-a603-2af7bac2a269" name="ErrorMessagesAsHttp400" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cc584a29-684c-75e8-3d77-96201d9ba537" name="ProviderTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9684f7bf-cdda-a2c5-0822-29cb0add3835" name="ResponseNonceGetter" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b2e1bba0-ab24-cdd5-906c-a3655814ab2d" name="SendSetsTimestamp" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2f1a3fc4-77ec-2ae3-668c-9e18f9ab0ebe" name="SendIndirectMessage301Get" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e4403d9e-73c1-967d-345c-4a2c83880d4e" name="EqualsTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="6ce37652-2f47-6952-fb6d-568c2ca85224" name="TransformAXFormatTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a145f430-8062-5ad7-0cf5-b51eba0f8de7" name="HttpsSignatureGeneration" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="066ce22f-103c-56ee-0250-d9e28d43ffcd" name="Values" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="bb542259-4c10-4b88-1b3c-f842b0bb49a9" name="ImmediateVsSetupModes" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="71564ca7-7845-92b3-7433-2f2beeb6b9f7" name="VerifyNonZeroLengthOnNonEmpty" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7ea157db-cf32-529f-f1d3-b3351f17725a" name="CtorSimpleServiceProvider" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c905ca57-e427-3833-c2dd-17ca9f6962cd" name="SendIndirectMessageFormPost" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ca6a3643-2978-a695-2c7e-819c8dfebfc9" name="IsTypeUriPresentNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c7f6459d-9e6e-b4bc-cae8-65f5a3785403" name="SendIndirectMessageNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="aa79cdf5-e0bc-194e-fdbb-78369c19c30f" name="ConstantFieldMemberInvalidValues" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="dd9e3279-2d7e-e88e-ccfa-ef213055fc3d" name="SendDirectedNoRecipientMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b384002f-26a9-7dde-c3f6-9ceff34dd8e2" name="GetRequest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="81f670d0-d314-c53c-9d91-c0765dfc30c1" name="MessagePartsTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="efd570c9-5e74-17e4-f332-ac257c8e8aff" name="RealmReturnToMismatchV1" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="60cf73e0-c801-a9e1-43c7-83998350953b" name="IsExtensionSupportedNullExtension" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="660ad25a-b02b-1b17-7d6e-3af3303fa7bc" name="ModeEncoding" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ae384709-e9a4-0142-20ba-6adb6b40b3e2" name="CtorStringHttpsSchemeSecure" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3b70dd09-384d-5b99-222b-dc8ce8e791f2" name="SecuritySettingsSetNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f787ae5d-b8fc-0862-a527-9157d11bbed7" name="UntrustedWebRequest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8df5d75f-bd4d-ce4e-2faf-6106b623de42" name="AddAttributeRequestStrangeUri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="dc821571-7c36-7ac2-1a8f-ae946b8352da" name="DiscoveryCommunityInameDelegateWithoutCanonicalID" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e0606da1-e4fd-45ee-114c-a2878b89b615" name="XrdsDiscoveryFromHead" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3f4f8ac9-84c4-3933-71b0-fa3367e34ce1" name="DiscoverCommunityInameCanonicalIDs" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f7733adb-f021-669a-a89e-95cd56666648" name="DualIdentifierOffByDefault" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5a4df395-962e-0b7c-de71-abcb7e8930db" name="CreateFiltersDelegatingIdentifiers" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="feb0a53e-1592-b878-b70c-1a272d9c6908" name="SpreadSregToAxTargetedAtOPFormat" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e071a119-c7e9-1a55-b132-72e161fea598" name="CtorAndProperties" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e9cdffd6-e5f9-2d24-b1c6-8195de7f3c40" name="DiscoverRequireSslWithSecureRedirects" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a6e464af-42df-1ba4-17e5-b955352664b5" name="RPOnlyRenegotiatesOnce" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0290975f-02ce-d8a7-d723-5dae623cab46" name="CtorNullTokenManager" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="45003a0c-fdb3-863c-3331-d5c5af704c66" name="DiscoveryRequireSslWithInsecureXrdsButSecureLinkTags" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="79c0d33a-f7f2-fd69-1b4d-57ee3ece2cca" name="EqualityTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3b535521-90c8-7f49-545f-bcfc4ad16d40" name="UnresponsiveProvidersComeLast" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="77934ac4-bd65-7ad8-9c53-9c9447f9e175" name="GetReturnToArgumentAndNames" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4bd86299-18d7-abbe-e5d2-1afad17279e9" name="Parse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="03b47440-3d09-ab28-97f1-39809f5703b6" name="NormalizeCase" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="6c95f443-463e-2856-f500-b9029645e44c" name="RequestNullRecipient" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="afafb5ef-662e-2da3-35b8-1d67bb0d79ce" name="AddPolicies" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="be6a14aa-c0d9-cf61-286a-236b92239597" name="EnumerableCache" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="17267cde-a296-8293-5bd1-9ca629817e4b" name="OpenIdRelyingParty" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5a21f2d2-f916-fb16-1460-caff8c24a9fc" name="GetHttpDeliveryMethodTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cab73921-470b-331f-e601-b44805b67c81" name="GetAttributeValue" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="14ce54ee-5507-ac70-5514-99b7b83ba3d6" name="ExtensionFactories" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ebd84587-bbc2-9889-c500-b6fbdf2bf209" name="GetRequestNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="565140c9-c9fe-9466-1e39-740d7e368cb5" name="TryParse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="30a8eab6-6423-26af-da1a-ec304935fe43" name="RemoveNonexistentHandle" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e9bc3f63-aeb1-d84d-8abc-fc6ed77955e6" name="SignedResponsesIncludeExtraDataInSignature" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9e209599-5924-f624-48de-ed31588cb425" name="EncodeDecode" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="51a08d94-c327-4d28-1f0c-f7920ea54870" name="ValidMessageTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="25e2c593-2e69-6215-90c0-67f269939865" name="CtorEmptyTypeUri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="95e1fc36-2500-2721-1919-35e9e8349a1c" name="AddPolicyMultipleTimes" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9af943f7-b289-1a24-8e3e-bfbd7a55b4c7" name="CtorGoodUri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ae1ef27c-fbfe-c57e-a1e0-c1ef9de4ea23" name="CommonProperties" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="196be55e-a3e5-adf3-9f15-13ba6cce0701" name="ValidRealmsTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="bb68f1dc-3854-fc11-2ea6-d45f892d76fa" name="NistAssuranceLevelSetVarious" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="88aaa032-b18a-b334-937b-66837c5f987c" name="AssociateRenegotiateBitLength" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="dd5be0e2-a1fc-3369-0b11-78b728eeaba5" name="CtorNullUri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0362a92c-a21c-f718-6b1e-3d154c14acd0" name="RequestUsingPost" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4a009f39-66b1-9cc5-ea8b-13b75ab22a5b" name="ContainsKey" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9bdc56c0-33ce-b46c-4031-bd3252b499a6" name="PrivateAssociationPositive" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="32604ca2-2577-9c33-f778-ff7e4c985ce5" name="RequestTokenUriWithOAuthParametersTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fdf439d0-3b74-4d32-d395-d5a2559ed88b" name="Ctor" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3df1f62b-4fb4-d399-cf7f-40b72001d9d6" name="CtorUnsolicited" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7c688207-e58a-86ed-90d0-687e28ee7e38" name="MultiPartPostAscii" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8b11aa63-4c0f-41ff-f70c-882aacf939fe" name="CtorCountNegative" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fba4d9a6-d8c7-a063-7c07-4a27c38c94a9" name="InvalidRealmBadWildcard3" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f583b298-139a-e733-dde6-f9dc4b73d4bf" name="SendDirectMessageResponseHonorsHttpStatusCodes" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b671ea40-3b8c-58d5-7788-f776810c49be" name="UnicodeTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="501fa941-c1ac-d4ef-56e7-46827788b571" name="GetRequestNoContext" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="01e33554-07cc-ff90-46f8-7d0ca036c9f6" name="ToDictionaryNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="33dd2f79-cd69-f1c0-0e47-f7a17b5a8a8b" name="MultiPartPostMultiByteCharacters" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0215f125-3936-484e-a8d0-d940d85bbc27" name="AppendQueryArgsNullDictionary" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7c048c58-c456-3406-995f-adb742cc2501" name="DeserializeInvalidMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="704a32d0-3f50-d462-f767-fd9cf1981b7f" name="ProviderVersion" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f362baf3-da5b-1b8c-39ae-7c9b2051270a" name="AuthenticationTimeUtcSetUtc" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="decb3fef-ef61-6794-5bc6-f7ff722a146e" name="EqualsTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3bb818b4-5423-ad91-8cd9-8606ec85d2cb" name="ReadFromRequestAuthorizationScattered" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cbfeb75b-d031-7df3-c281-3c9e1c450042" name="CtorFromRequest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9302541c-9c30-9ce7-66db-348ee4e9f6ee" name="UnifyExtensionsAsSregWithSreg" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="997253fb-7591-c151-1705-02976b400f27" name="AddAttributeTwice" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9bf0528f-c3ab-9a38-fd8a-fd14bade0d0b" name="EnumerableCacheCurrentThrowsAfter" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8346368c-9c8a-de76-18dd-5faeeac3917d" name="OPRejectsMismatchingAssociationAndSessionTypes" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2fb2563b-b908-2fad-5efc-522a68c76780" name="ValidMessageNoNonceReceivedTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3c438474-63f3-b56c-dcba-1ed923fcdbdd" name="CreateResponse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="47706bc6-7bee-0385-62b4-4f9cec6cc702" name="CtorWithTextMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2495fc9b-d766-5ae7-7324-f044c4ce1242" name="AddNullValue" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fb6c270f-ff72-73f4-b8b3-82851537427c" name="MultiVersionedMessageTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="10245b55-8130-e0aa-e211-4a16fa14d0b1" name="ClearValues" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c2119f75-468b-8440-5ba1-2bcf6f62d91a" name="DualIdentifierNoMatchInAssertionVerificationByDefault" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c9d67d40-1903-8319-0f7c-d70db4846380" name="SendWithoutAspNetContext" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="aa93fd70-1b5f-1ce7-c9dd-3c70f9e271ac" name="PostMultipart" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e97cee09-4163-d83f-f65f-14e424294172" name="ExtensionsAreIdentifiedAsSignedOrUnsigned" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f4fd129a-a7c3-dc1e-2b4a-5059a4207a8a" name="Send" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cc0031b8-1fdb-cd87-97c1-c6f893c296e0" name="TooManyBindingElementsProvidingSameProtection" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e7aacb49-62ef-637d-ada2-0a12d836414d" name="ExtensionFactory" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="152e7a3a-21f9-eabf-0065-08597a0cc9a6" name="AuthorizationHeaderScheme" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="93041654-1050-3878-6b90-656a7e2e3cfd" name="CtorDefault" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c7bdb960-68ca-50dd-8020-609224f93213" name="DualIdentifierMatchesInAssertionVerification" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="dbf7855c-0cc6-309f-b5f5-022e0b95fe3b" name="QueryStringLookupWithoutQuery" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="abb0610a-c06f-0767-ac99-f37a2b573d1b" name="ParameterPrefix" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="32532d1f-d817-258d-ca72-021772bfc185" name="UriEncodeDecode" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f3345901-2e76-34dd-32f1-0b312d6e1c1e" name="IsReturnUrlDiscoverableNotSsl" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a2b3835e-8edb-89aa-ba6c-f10b28a3af81" name="ReadFromRequestQueryString" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1deb0ca9-923a-8ef7-7a24-d5d5af04acdf" name="SpecAppendixAExample" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="81442cf1-8c5f-7937-dc78-79474e3d3e80" name="DualIdentifierUsedOnlyAsOPIdentifierForAuthRequest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c63c9935-54a0-398a-f44b-214e17faf1f1" name="SendDirectMessageResponseHonorsHttpStatusCodes" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ff47215f-1c38-8c55-e411-bf5608dd98f5" name="XrdsDirectDiscovery_20" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fb0e478e-0f55-b257-75fe-2ab60b57292e" name="SendInvalidMessageTransport" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a4aa113a-57b5-a52c-c4e3-f70d6702badb" name="Default" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="547cfee6-bbb4-6138-a114-fc0eb6cc94f6" name="PrivateAssociationTampered" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5803e93d-e256-86ba-e10e-499d2f813c6d" name="Trivial" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="beb086e9-5eb7-fb8f-480a-70ede9efd70d" name="CreateRequests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="88ae5661-da27-91c5-4d78-1f43cd716127" name="EqualsTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0c1a0323-092a-34b3-1601-1f941569efab" name="CtorGoodXri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8538caf8-48bd-7cf8-6ad8-15e1c3766f92" name="CtorNullType" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e1958fc5-a979-88b2-b593-3bc89ad6ad4e" name="GetEnumeratorUntyped" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="536ecd26-4bda-a35e-5af8-666eb9b44940" name="NullValueEncoding" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5218fba2-d1af-e1f4-7641-9ae1d4975430" name="DirectResponsesSentUsingKeyValueForm" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a1a0178c-cd4a-1651-8535-3c9ee3d40821" name="ToDictionaryWithNullKey" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0f36556d-ece7-eb70-8597-a9d085165c2c" name="Sign" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="19d2219e-c04d-fa3a-5e26-92448f35f21d" name="RespondNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1d7932c1-22de-b750-4602-7ed419f9d7f8" name="DiscoveryRequiresSslIgnoresInsecureEndpointsInXrds" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0d99e0a9-295e-08a6-bc31-2abb79c00ff8" name="IsReturnUrlDiscoverableRequireSsl" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c205832e-711c-62d0-5f5e-78f1250ea7cc" name="AuthenticationTimeUtcSetNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3536ba12-fdb0-2ac9-3fef-00a2dd8e9a65" name="SharedAssociationTampered" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e7b8770d-b26c-e7b3-e80e-fac46285f59d" name="PassThruList" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="14acb719-f090-018f-b870-9a5acb1d7179" name="AddAuthLevelTypes" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="aef95d4e-ad69-0eca-6528-7fce78512336" name="EqualityTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1b66e135-bdab-c2ed-18d8-aa89b46a57fc" name="RPRejectsUnrecognizedAssociationType" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2f5cfa57-bcb4-39af-e769-2d7c34e2598e" name="Ctor" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1ea8bd07-75a5-bfc0-5f8c-1a78d04240c2" name="TryGetValue" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7b89844d-f60a-fb66-c48d-e483864c66b5" name="RespondTooManyValues" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b9cda1a0-83cd-cf4b-b61f-4faa75fa37ba" name="ReceivedReplayProtectedMessageTwice" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7f9c4a9e-de7a-555c-543d-db89b757588e" name="AppendQueryArgs" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e6b412e5-3a53-e717-6393-254e1c93e239" name="PassThruDoubleCache" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9aa6a81e-c198-c0fd-0252-003b856b7674" name="ConstantFieldMemberValidValues" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d6b120b7-fc16-6815-927e-af382cd44bbd" name="ReceivedInvalidSignature" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b71d12f6-58a1-cf82-d06e-e57c0a3ea55c" name="RPRejectsUnencryptedSuggestion" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2f6a81c5-cd04-0ca0-22ee-d4213f9cf147" name="EqualityTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3c67903e-15ce-9ed4-34c8-f77059af79ca" name="Ctor" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="87593646-8db5-fb47-3a5b-bf84d7d828c2" name="InvalidMessageTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="65f16786-7296-ee46-8a8f-82f18b211234" name="AddByKeyValuePair" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c891c6bc-da47-d4ab-b450-f3e3a0d6cba8" name="NoAssociationNegative" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4a5b601d-475d-e6cc-1fec-19a2850681ad" name="Serializable" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="bd130894-b7ba-9d89-5170-a67e8a2add7c" name="NonNullCapabilities" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f3af5fd8-f661-dc4f-4539-947b081a8b54" name="ReceivedReplayProtectedMessageJustOnce" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a14ddf08-796b-6cf1-a9bf-856dd50520fa" name="RequiredProtection" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3aa4e498-fd14-8274-22da-895436c1659e" name="AssociateUnencrypted" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7203b777-33d6-a659-564a-8c7294f4c28b" name="Discover" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5b4fee50-7c15-8c6b-3398-c82279646e5f" name="RequiredOptionalLists" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="59295023-d248-e9c4-68b9-65f6ea38490c" name="VerifyArgumentNotNullDoesNotThrow" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a94ee2ec-02df-b535-1d2e-0c5db9c76b49" name="ReceiveUnrecognizedMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cea48223-04e2-d336-0ac4-255c514bd188" name="RoundTripFullStackTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ba35acc7-78d2-6710-57ac-6843210d4202" name="UserSetupUrlRequiredInV1Immediate" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f18b514c-4f78-5421-8bdf-8b0f1fdf2282" name="HandleLifecycle" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1e2ae78c-d2f3-a808-2b82-eca9f9f2e458" name="Keys" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9173c754-a358-91cc-a8f0-2c2703a55da8" name="AssertionWithEndpointFilter" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="6badbaa8-33d1-13c4-c1f9-aef73a9ac5bf" name="InvalidRawBirthdate" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d3c4624f-f78a-2ff3-199a-77c922059718" name="Best" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0435e38a-71f2-d58d-9c07-d97d830a1578" name="ExtensionResponsesAreSigned" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2f2ea001-a4f8-ff0d-5d12-74180e0bf610" name="HttpsSignatureVerificationNotApplicable" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fe55cc74-98eb-c6c7-622f-77ad3e304c10" name="EqualityTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ca5360e1-ca08-d00f-6ade-7c9441db4294" name="CreateQueryStringEmptyCollection" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4735a071-3c06-509b-05f5-912ab0e39f13" name="InvalidRealmBadProtocol" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="577b8522-8516-4f62-22db-76227bf82f4c" name="UserSetupUrlNotRequiredInV1SetupOrV2" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="175b6eb8-a448-4e07-7fed-001355edc128" name="PassThruArray" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="777af676-ee70-0e16-799b-85b9ec33cd63" name="IsValid" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d083396b-db68-1318-e62b-6dc9f89e26bd" name="CtorDefault" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="72d3f240-67f2-0b04-bd31-a99c3f7a8e12" name="SharedAssociationPositive" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3cd9447e-9ffd-f706-37bb-e7eb5828e430" name="InvalidRealmEmpty" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="28fe030c-d36e-13cf-475c-7813210bf886" name="AddAttributeRequestAgain" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e7a41771-7dda-be44-0755-e06300f3cd92" name="IsSaneTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2e23dc5a-93ea-11a5-d00d-02d294794e5f" name="AssociateDiffieHellmanOverHttps" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8d0df47c-c381-0487-6c19-77548ad7fc13" name="UnifyExtensionsAsSregWithBothSregAndAX" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2237b8ce-94ce-28c1-7eb2-14e59f47e926" name="UnifyExtensionsAsSregFromAXSchemaOrg" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a2f79410-e593-9155-e03d-8168cbb9f091" name="GetPublicFacingUrlSSLForwarder1" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7cdabb8a-aefa-e90e-c32e-047404b64c2d" name="SerializeTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="457d6b32-d224-8a06-5e34-dbef3e935655" name="HttpSignatureVerification" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="309fdc0f-150c-5992-9a79-63be5f479d89" name="RequiredProtection" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2e1b27e8-2e3e-0290-2bee-d88e2914efd9" name="SpreadSregToAXNoExtensions" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c15c3ab5-e969-efc9-366d-78ebc43ce08f" name="Fetch" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7bf8e806-68a1-86bc-8d91-9a99d237d35c" name="CreateRequestMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a883dc73-d6be-e59a-6da2-0db1d4452679" name="BindingElementsOrdering" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="056e3331-9ffb-bd58-a668-68c3dd8091d1" name="XrdsDirectDiscovery_10" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5dcd69c3-e979-7316-4551-a73fe4645dcd" name="SecuritySettings" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f533bf9e-daa1-b26a-4789-372f3a9291d6" name="TryRequireSslAdjustsIdentifier" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f44fb549-fc8a-7469-6eed-09d9f86cebff" name="SendDirectMessageResponse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="313faac6-6357-5468-2d4d-4c9fba001678" name="TryParseNoThrow" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7cbe4350-38d0-db7e-335c-93d9398fc95b" name="ExtensionOnlyFacadeLevel" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5f02e24c-2972-c598-ca71-ea362b2fe7d8" name="SecuritySettingsSetNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ef20222d-b2e2-d593-17fa-512041020643" name="InvalidRealmNullString" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c351c660-d583-d869-0129-2e312665d815" name="CtorBlank" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f063a3c6-5a36-2801-53d7-5142416199a9" name="ImplicitConversionFromStringTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8ae44d86-85d0-8eef-7aff-c1a3b517df79" name="EqualsTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="02333934-cfea-2fb6-5e08-7a24be050f44" name="CreateRequestsOnNonOpenID" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5298ecb0-bcad-9022-8b93-87793eb2c669" name="UnsolicitedDelegatingIdentifierRejection" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b97c4a66-a832-401c-a98b-6342ad7bcdcf" name="LanguagePreferenceEncodingDecoding" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="068dcefa-8f2b-52c3-fe79-576c84c5648b" name="CtorBlank" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="315b5857-7697-8222-f94c-f6f10d539491" name="BaseSignatureStringTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cd219db4-4f6e-8ff4-f957-c8428d38c118" name="HttpSignatureGeneration" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="864578a5-61a2-bc5d-1d19-17093885bea3" name="InvalidRealmTwoWildcards1" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ab653060-5bec-3dc6-78ee-a5ef7d393b1d" name="AddPolicyMultipleTimes" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2599d559-d036-5dd2-0b5b-fb229c3bf486" name="InvalidRealmBadWildcard2" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4b55986d-de09-7176-4565-af763f30861d" name="DiscoveryRequireSslWithInsecureXrdsInSecureHtmlHead" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3744e1f1-6be1-f27f-78e9-5410d356ccf4" name="Ctor" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e0b191fa-aa68-bd0f-c9d0-f8cba23003f3" name="RequestUsingHead" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f341c47f-ac23-2fc0-fcf5-c999fe8d2611" name="SetBodyToByteStream" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="80719076-10fd-20a7-7ff3-a0aa2bc661cb" name="CtorNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8a5c9404-1e77-68cf-229a-ef7ed413e6e7" name="OptionalNonNullableStruct" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="937b85f4-1ef3-84d1-a567-8bba079a33a9" name="Properties" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="53bc1962-e7c2-04b6-cafa-0f6fde7592a9" name="ReadFromRequestNoContext" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ce1b9b53-2cb8-f764-bf2f-1458cb576773" name="ProtocolDetection" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0dc9284e-cba4-9d87-8955-19639578c70d" name="Serializable" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="384fecbf-f18e-edcb-a2eb-fb0322f031aa" name="ApplyHeadersToResponseNullListenerResponse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e3a3b3b6-e05f-0a99-e20c-af91a9065819" name="AssociateRequestDeterminedBySecuritySettings" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c057a3e5-b527-62a9-c19b-abb82e6be621" name="SendIndirectMessage301GetEmptyRecipient" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="30f3c12b-e510-de63-5acd-ae8e32866592" name="CreateQueryString" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7f3144c7-95a1-affa-1a37-9e6169c19be6" name="SharedAssociationNegative" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="aedfde98-4357-5b63-7dca-cced838ee416" name="Provider" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b71e8878-b20e-5d96-bce4-7f10831ceaf8" name="AddPolicies" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ddf4f3ec-07bb-09e8-b5e8-0837cb8cb684" name="IsReturnUrlDiscoverableNoResponse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a18ae750-318b-bb1f-c2b3-c31da845c085" name="Count" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5b451648-5ca1-4395-333d-bbcb098f4a45" name="NoRequestedExtensions" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cb9a8325-abf5-5d97-a94e-a6d34f2b51e1" name="AssociateRenegotiateLimitedByRPSecuritySettings" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5271f941-565f-5977-6884-82cef09161db" name="ParseEndUserSuppliedXriIdentifer" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7cf52613-a212-8a0f-843f-37f08740c125" name="SpreadSregToAxNoOpIfOPSupportsSreg" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7c8eac5a-0455-e038-0e9a-10e59d459452" name="CtorUriHttpSchemeSecure" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="bdba0004-be80-f5c1-1aae-487db09bdf04" name="GetReturnToArgumentDoesNotReturnExtraArgs" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ccfda025-cb1a-a2ff-78bd-5e9af885ae0b" name="ToDictionary" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="64142858-d52e-be06-d11f-6be326c6176b" name="RespondTwoValues" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e7e85e0f-5dfb-ae98-f796-ea23c27195ea" name="HtmlDiscover_11" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="34357633-4745-6fba-9316-493d3c6c5b90" name="ParseEmpty" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="85a0dec0-983c-8f21-b093-a2179624cc88" name="UnifyExtensionsAsSregWithSreg" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fc7af2d7-6262-d761-335b-ef3ec029484d" name="DeserializeVerifyElementOrdering" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="06ec5bce-5a78-89c3-0cda-fa8bddfea27d" name="SetCountZero" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a6ea74e5-8681-4eb4-a51b-5051e5f7603c" name="NonFieldOrPropertyMember" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f6979feb-7016-4e2b-14e2-e6c2c392419f" name="RemoveByKeyValuePair" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="44afc59c-60fc-3179-b5a6-1e58e7752d54" name="ApplyHeadersToResponseNullHeaders" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="46ec24da-deb7-27c7-6dc6-52090e4fd1fb" name="Serialize" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e9a5efc6-fde8-8fa4-0bda-2675a4a7e06b" name="DefaultReferenceTypeDeclaredPropertyHasNoKey" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b70b4bd5-6dae-b4ad-349c-c3ad70603773" name="ReadFromRequestQueryString" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="809afd59-8f10-ce37-6630-06b59351a05a" name="CommonProperties" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="98a2ece8-c9e6-e6f3-c65e-f915b22077fa" name="RequestUsingGet" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="2cfefc4a-918a-3e16-0670-53eb33634525" name="GeneratesOnlyRequiredElements" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="da8fcfa9-bd2c-eca0-ecbf-90364f84e8e5" name="AddExtraFieldThatAlreadyExists" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fb91e9dd-fc3b-d8a7-a5d7-d215d5ba880f" name="CtorStringHttpSchemeSecure" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5211652f-1c25-fd4b-890d-05d2178a60e2" name="ExtensionFactories" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b7441cac-9ee6-b2f4-d096-0f52c6eea5f6" name="Ctor" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7650ec62-b144-f36f-8b56-31ad20521d0e" name="DoesNotStripFragment" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e2b1ae2a-8f30-b6b3-bca6-ef28fc5a0175" name="ClaimedIdAndLocalIdSpecifiedIsValid" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="495dd486-08dd-d365-7a84-67d96fef8460" name="SendIndirectedUndirectedMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="10a8b8e5-e147-838c-0708-be98d5e4490e" name="CtorFull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="24fb403f-be35-278e-9beb-e11177f2cd1e" name="FormDataSerializeMatchesLength" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ee7a04ba-0419-e08f-b838-01ec0f2a838e" name="UnsolicitedAssertion" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="47e8fae9-542d-1ebb-e17c-568cf9594539" name="RelativeUriDecodeFails" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e8094568-0c57-b752-2bc5-a630ebf075b8" name="DiscoveryWithRedirects" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a778f331-f14e-9d6e-f942-a023423540f6" name="Ctor" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="90f06a50-7b81-05ec-3dc0-7b3e8ade8cfa" name="NormalizeCase" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ee052b02-681f-2303-3cc6-37f7b2319579" name="RequireAssociation" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="593e1d86-a6c2-c937-a1b4-6d25a595a1f1" name="EnumerableCacheCurrentThrowsBefore" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="030ac3cf-cfb6-ca47-f822-ec1d2979f0b3" name="Defaults" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3fe0b432-dbb4-b334-e504-a83fe5ffdbaf" name="EqualityTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d5d2c553-97db-8d6c-c984-982299d6091d" name="Serializable" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="628a417f-4ddb-5965-bd4a-86c8de565c8f" name="AssociateDiffieHellmanOverHttp" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="10c44d72-2789-2afe-3b27-091dea97546e" name="RequestNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="724cc3e8-c13c-5cc6-ce14-25c51ad6297d" name="Mode" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="24506e06-a678-66cc-48ee-b7f11f18a6e8" name="StripXriScheme" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c79dd056-8fff-3393-f125-4b83cf02cb3b" name="RequireSsl" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5a0d31d9-9c70-2a28-3e8c-46e8e047ac2d" name="ReceiveNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="4b44b825-36cc-77f8-3a4a-5892c540f577" name="GetValue" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f17128c1-5953-5391-ed75-c33774eacbfc" name="LastLineNotTerminated" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="671ddaf5-238d-a517-b0f3-d79bd591a396" name="EmptyMailAddress" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="98f169da-4e46-340a-cd72-ec0b1e504472" name="GetFriendlyIdentifierForDisplay" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d8118997-ecf7-7130-f068-5e2bc867786d" name="SerializeNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="6fc900ea-f861-a6ec-47ec-709d0b91e003" name="IsTypeUriPresent" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e1e9dde8-30e6-6ce0-d5a6-4e22e0347ac4" name="UnifyExtensionsAsSregWithAX" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f50a0bdb-380e-30f6-492a-a6dd9664d0f0" name="ExtensionOnlyChannelLevel" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="64b41c6c-2b67-af35-0c93-df41bd6f2dbb" name="Store" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="55b078e4-3933-d4e0-1151-a0a61321638e" name="ReadFromRequestAuthorization" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="eb932fc7-76c7-b63f-e1e6-a59dea8e4da1" name="AddAttribute" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="599add9e-e9eb-5e8a-ce6b-6dc73c2bb408" name="DataContractNamespace" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="643c9887-3f12-300e-fdac-17ae59652712" name="Mode" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3027bfe5-3612-7089-16cc-d6a2a556a41f" name="Transport" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="44ced969-83dd-201d-a660-e3744ee81cf8" name="ConstructorTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="1c5d54e2-d96a-d3a6-aeac-95f137b96421" name="CommonMethods" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="58df167c-cf19-351c-cb09-5c52ae9f97be" name="DeserializeNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cfc4032d-936a-6532-09d5-4a1267e57d63" name="GetPublicFacingUrlSSLForwarder2" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e9cceef5-383d-92f0-a8bb-f3e207582836" name="RealmReturnToMismatchV2" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f3b7d131-2c26-86e0-6654-ad6b2e4b706d" name="DualIdentifier" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="bc3e979b-09ea-c45d-5714-2d1fb00244cf" name="IncomingMessageMissingRequiredParameters" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8375c7bb-b539-3396-885a-a3ca220078ec" name="InsufficientlyProtectedMessageSent" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="924b5295-0d39-5c89-8794-22518091e05a" name="CtorNullToString" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a63c169c-4e9a-bcba-b7cd-c4c5280cd652" name="PrepareMessageForSendingNonExtendableMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="63944cb8-4c61-c42c-906f-986fa793370b" name="SignatureTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5a77a48f-00d6-da6f-5ef7-c897ebf8fe6b" name="EscapeUriDataStringRfc3986Tests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="735b7a56-0f6f-77d8-8968-6708792a7ce8" name="UnifyExtensionsAsSregWithAXSchemaOpenIdNet" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3d0effa3-894a-630c-02b0-ada4b5cef795" name="CtorNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9bcc2d64-870f-7675-a314-fbb975446817" name="IsApprovedDeterminesReturnedMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3e676e31-3b6d-9d12-febd-d632ece804ec" name="RPRejectsMismatchingAssociationAndSessionBitLengths" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9026e58c-8582-0852-3c3c-9eadfd544cbc" name="VerifyNonZeroLengthOnEmpty" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0f56721c-ef8f-84be-28b7-d909614c2f85" name="EqualsTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="ae8b7cba-696e-2362-d5e1-79a9c202a994" name="EmptyLineLoose" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="41ff051f-03d5-5f06-c6e4-615360cac08a" name="ReadFromRequestDisallowedHttpMethod" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d647fd93-40b3-24d5-25fc-661c0d58335c" name="SendIndirectMessageFormPostNullMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="62c6ee5b-ac29-461c-2373-bf620e948825" name="InvalidRealmNoScheme" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="115283b9-d95c-9a92-2197-96685ee8e96a" name="TwoExtensionsSameTypeUri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d24a246f-5017-49f0-8030-e44a68ba534d" name="GetPublicFacingUrlSSLForwarder4" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="96382f34-8075-73d1-e8cd-21dcb9235c84" name="CtorImpliedLocalIdentifier" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b2b54c72-1d26-8c28-ebf5-7a5a4beeec43" name="VerifyNonZeroLengthOnNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c4001e1c-75ad-236b-284f-318905d2bc3a" name="CreateRequestOnNonOpenID" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b58e4791-68c0-1bc0-2e48-e1351459ee46" name="UserSetupUrlSetForV1Immediate" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c0d7cfcc-4f7e-e7df-3de2-b578c4c3d6ee" name="SpreadSregToAxMultipleSchemas" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="32e95494-d0bb-cfc7-a8d6-652f8816c6b4" name="ReadFromResponse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f967c0af-c04c-d156-4faf-8978bfcab5d7" name="RequiredNullableStruct" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="248f0afc-979f-a86f-e7de-fdeb4f9dd3ea" name="CtorBadUri" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fa2e5bbd-4c41-f2b1-e875-38c6ef011fa1" name="RandomCharactersTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3e2f1dad-3684-587c-9039-8d116582be10" name="GetReturnToArgumentEmptyKey" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="00ed61cd-46cd-9c0e-f044-38d784c8bcfb" name="DecodeEmptyStringFails" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="09b892f2-96e9-45b7-d082-b0bb512c1dd4" name="RequiredNonNullableStruct" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d5912d3e-441c-a20e-20a2-0b9f0220a762" name="ParameterNames" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="439c8c16-2ba5-eb3b-b631-ce50ec48eba0" name="CtorNullMember" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="a6295302-c78f-4122-ce88-94fc30980262" name="CtorStringNoSchemeSecure" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f12bf351-584c-bc51-c315-a67f1076927c" name="ReturnToDoesNotMatchRecipient" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b4b00582-dcc9-7672-0c02-52432b074a92" name="GetNullType" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f1e1aa37-c712-6096-22fa-394008f0820a" name="CtorNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cb48421f-f4ff-3994-3abc-4be35f8bfd99" name="AssociateQuietlyFailsAfterHttpError" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="0aa1bc22-0b26-3977-5983-5dc4a454cea5" name="OptionalNullableStruct" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="736a09b4-f56e-0176-6c1c-81db0fbe3412" name="CtorUriHttpsSchemeSecure" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9f880280-aa8f-91bb-4a5f-3fe044b6815a" name="CreateVerificationCode" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="be00d3ef-f24d-eb8a-d251-4d691736ee6f" name="AddAttributeRequestNull" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="6daa360b-71e4-a972-143f-01b801fada84" name="DeserializeWithExtraFields" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="8bbc6a02-b5a4-ea8e-2a77-8d1b6671ceb5" name="ImplicitConverstionFromUriTests" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d6088ffe-ccf5-9738-131b-0fc1bc7e3707" name="TrimFragment" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="90d3c411-8895-a07f-7a21-258b9d43c5b2" name="InvalidMessageNoNonceReceivedTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="121983e3-1336-70cb-8d2a-498629e92bec" name="GetReturnToArgumentNullKey" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="d0a92f93-9bb4-1821-81cf-e9b50e3e7d62" name="SendDirectMessageResponse" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5e0c892d-7ad8-6d56-1f1d-2fb6236670d6" name="CtorDefault" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="643d722c-2c2b-fbd8-a499-5a852ef14dc7" name="PrepareMessageForSending" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="c23e762d-4162-cb9e-47b3-455a568b5072" name="SendIndirectMessageFormPostEmptyRecipient" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="f70b368e-da33-bc64-6096-1b467d49a9d4" name="NonIdentityRequest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="46877579-ba4c-c30c-38c4-9c6ad3922390" name="InsufficientlyProtectedMessageReceived" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="b191e585-49d9-df8e-c156-307f798db169" name="AddAttributeRequest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="3772f97f-3fe6-3fc0-350d-4085e7c4329e" name="Test" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="44091d36-98db-2115-8647-7bd7cd308796" name="ToStringTest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9e59b8d8-2fc4-b425-b5c4-c0a9fde3bf4d" name="SetValue" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="90557d85-db17-e9ab-e17b-32d6cc9fd437" name="TrimFragment" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="534bee09-36e1-c3e0-f6af-bc191b10aa48" name="CtorNullSigner" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="9986fea9-8d64-9ada-60cb-ab95adb50fb7" name="ToStringDeferredEmptyMultiLine" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="de1cdd00-a226-0d43-62b6-0c1ad325be8c" name="RequiredMinAndMaxVersions" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cbdfd707-7ba8-4b8f-9d58-17b125aa4cd4" name="SendIndirectMessage301GetNullMessage" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="5aa4dfa9-9691-bfe0-7d81-587cfa519a55" name="DirectResponsesReceivedAsKeyValueForm" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="fda58c48-e03a-73a3-4294-9a49e776ffb6" name="CtorWithTextMessageAndInnerException" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="cc9200bf-1399-d40a-9754-6415f0b7bcf8" name="CreateRequest" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- </TestLinks>
- </TestList>
- <TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
- <RunConfiguration id="abbd81c0-7d7b-4c98-878c-05dbead62c27" name="Local Test Run" storage="localtestrun.testrunconfig" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, PublicKeyToken=b03f5f7f11d50a3a" />
- </TestList>
- <TestList name="Slow" id="c426db8a-259c-4eac-b887-152be3e06ece" parentListId="f0eeb325-0558-48a3-9a99-952133d8148e">
- <Description>All tests</Description>
- <TestLinks>
- <TestLink id="b350ddb1-f4e5-e79c-af5e-f4195767f294" name="TestPublic" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7c3603c8-3686-807b-7840-1f04f8f307f5" name="AssociateDH" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="7fa99410-3aa3-10c3-10a0-27bb9288c900" name="CheckIdSharedHmacSha1Association" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="85469029-ffe0-f6f7-b56a-9ffd48fa137b" name="AssociateClearText" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- <TestLink id="e6dadcc3-60ff-f60c-0c9a-2ebd5cf91df0" name="CheckIdSharedHmacSha256Association" storage="..\bin\debug\dotnetopenauth.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />
- </TestLinks>
- </TestList>
- <TestList name="Unit tests" id="f0eeb325-0558-48a3-9a99-952133d8148e" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6" />
-</TestLists> \ No newline at end of file
diff --git a/src/DotNetOpenAuth/DotNetOpenAuth.csproj b/src/DotNetOpenAuth/DotNetOpenAuth.csproj
index f06ab49..3bfecae 100644
--- a/src/DotNetOpenAuth/DotNetOpenAuth.csproj
+++ b/src/DotNetOpenAuth/DotNetOpenAuth.csproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..\</ProjectRoot>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -14,13 +14,32 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DotNetOpenAuth</RootNamespace>
<AssemblyName>DotNetOpenAuth</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<StandardCopyright>
Copyright (c) 2009, Andrew Arnott. All rights reserved.
Code licensed under the Ms-PL License:
http://opensource.org/licenses/ms-pl.html
</StandardCopyright>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <IsWebBootstrapper>false</IsWebBootstrapper>
+ <TargetFrameworkProfile />
+ <PublishUrl>publish\</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Disk</InstallFrom>
+ <UpdateEnabled>false</UpdateEnabled>
+ <UpdateMode>Foreground</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>true</MapFileExtensions>
+ <ApplicationRevision>0</ApplicationRevision>
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
<ApplicationIcon>DotNetOpenAuth.ico</ApplicationIcon>
<DocumentationFile>$(OutputPath)DotNetOpenAuth.xml</DocumentationFile>
</PropertyGroup>
@@ -33,7 +52,8 @@ http://opensource.org/licenses/ms-pl.html
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<RunCodeAnalysis>false</RunCodeAnalysis>
- <CodeAnalysisRules>-Microsoft.Design#CA1054;-Microsoft.Design#CA1056;-Microsoft.Design#CA1055</CodeAnalysisRules>
+ <CodeAnalysisRules>
+ </CodeAnalysisRules>
<CodeContractsEnableRuntimeChecking>True</CodeContractsEnableRuntimeChecking>
<CodeContractsCustomRewriterAssembly>
</CodeContractsCustomRewriterAssembly>
@@ -62,6 +82,7 @@ http://opensource.org/licenses/ms-pl.html
<CodeContractsEmitXMLDocs>True</CodeContractsEmitXMLDocs>
<CodeContractsRedundantAssumptions>False</CodeContractsRedundantAssumptions>
<CodeContractsReferenceAssembly>Build</CodeContractsReferenceAssembly>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -71,7 +92,8 @@ http://opensource.org/licenses/ms-pl.html
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<RunCodeAnalysis>true</RunCodeAnalysis>
- <CodeAnalysisRules>-Microsoft.Design#CA1054;-Microsoft.Design#CA1056;-Microsoft.Design#CA1055</CodeAnalysisRules>
+ <CodeAnalysisRules>
+ </CodeAnalysisRules>
<CodeContractsEnableRuntimeChecking>True</CodeContractsEnableRuntimeChecking>
<CodeContractsCustomRewriterAssembly>
</CodeContractsCustomRewriterAssembly>
@@ -100,13 +122,15 @@ http://opensource.org/licenses/ms-pl.html
<CodeContractsEmitXMLDocs>True</CodeContractsEmitXMLDocs>
<CodeContractsRedundantAssumptions>False</CodeContractsRedundantAssumptions>
<CodeContractsReferenceAssembly>Build</CodeContractsReferenceAssembly>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'CodeAnalysis|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>$(DefineConstants);CONTRACTS_FULL;DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
- <CodeAnalysisRules>-Microsoft.Design#CA1054;-Microsoft.Design#CA1056;-Microsoft.Design#CA1055</CodeAnalysisRules>
+ <CodeAnalysisRules>
+ </CodeAnalysisRules>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
@@ -139,16 +163,13 @@ http://opensource.org/licenses/ms-pl.html
<CodeContractsEmitXMLDocs>True</CodeContractsEmitXMLDocs>
<CodeContractsRedundantAssumptions>False</CodeContractsRedundantAssumptions>
<CodeContractsReferenceAssembly>Build</CodeContractsReferenceAssembly>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\log4net.dll</HintPath>
</Reference>
- <Reference Include="Microsoft.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=736440c9b414ea16, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\lib\Microsoft.Contracts.dll</HintPath>
- </Reference>
<Reference Include="PresentationFramework">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
@@ -175,8 +196,7 @@ http://opensource.org/licenses/ms-pl.html
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Web" />
- <Reference Include="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
+ <Reference Include="System.Web.Abstractions">
<HintPath>..\..\lib\System.Web.Abstractions.dll</HintPath>
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
@@ -186,16 +206,12 @@ http://opensource.org/licenses/ms-pl.html
<Reference Include="System.Web.Extensions.Design">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
- <Reference Include="System.Web.Mobile" />
- <Reference Include="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\lib\System.Web.Mvc.dll</HintPath>
- </Reference>
- <Reference Include="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
+ <Reference Include="System.Web.Mobile" Condition=" '$(ClrVersion)' != '4' " />
+ <Reference Include="System.Web.Routing">
<HintPath>..\..\lib\System.Web.Routing.dll</HintPath>
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
+ <Reference Include="System.Xaml" Condition=" '$(ClrVersion)' == '4' " />
<Reference Include="System.XML" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
@@ -203,6 +219,18 @@ http://opensource.org/licenses/ms-pl.html
<Reference Include="WindowsBase">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
+ <Reference Include="System.ComponentModel.DataAnnotations">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup Condition=" '$(ClrVersion)' == '4' ">
+ <Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"/>
+ </ItemGroup>
+ <ItemGroup Condition=" '$(ClrVersion)' != '4' ">
+ <!-- MVC 2 can run on CLR 2 (it doesn't require CLR 4) but since MVC 2 apps tend to use type forwarding,
+ it's a more broadly consumable idea to bind against MVC 1 for the library unless we're building on CLR 4,
+ which will definitely have MVC 2 available. -->
+ <Reference Include="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"/>
</ItemGroup>
<ItemGroup>
<Compile Include="ComponentModel\ClaimTypeSuggestions.cs" />
@@ -515,7 +543,7 @@ http://opensource.org/licenses/ms-pl.html
<Compile Include="OpenId\RelyingParty\OpenIdButton.cs" />
<Compile Include="OpenId\RelyingParty\OpenIdEventArgs.cs" />
<Compile Include="OpenId\RelyingParty\OpenIdLogin.cs" />
- <Compile Include="OpenId\RelyingParty\OpenIdMobileTextBox.cs" />
+ <Compile Include="OpenId\RelyingParty\OpenIdMobileTextBox.cs" Condition=" '$(ClrVersion)' != '4' " />
<Compile Include="OpenId\RelyingParty\OpenIdRelyingPartyControlBase.cs" />
<Compile Include="OpenId\RelyingParty\OpenIdTextBox.cs" />
<Compile Include="OpenId\RelyingParty\PopupBehavior.cs" />
@@ -586,6 +614,7 @@ http://opensource.org/licenses/ms-pl.html
</ItemGroup>
<ItemGroup>
<None Include="Configuration\DotNetOpenAuth.xsd" />
+ <None Include="Migrated rules for DotNetOpenAuth.ruleset" />
<None Include="OAuth\ClassDiagram.cd" />
<None Include="OAuth\Messages\OAuth Messages.cd" />
<None Include="Messaging\Bindings\Bindings.cd" />
@@ -682,6 +711,21 @@ http://opensource.org/licenses/ms-pl.html
<EmbeddedResource Include="OpenId\RelyingParty\OpenIdSelector.css" />
</ItemGroup>
<ItemGroup>
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+ <Visible>False</Visible>
+ <ProductName>Windows Installer 3.1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
<Content Include="DotNetOpenAuth.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
diff --git a/src/DotNetOpenAuth/InfoCard/InfoCardStrings.Designer.cs b/src/DotNetOpenAuth/InfoCard/InfoCardStrings.Designer.cs
index 00eb1af..a6d3dcf 100644
--- a/src/DotNetOpenAuth/InfoCard/InfoCardStrings.Designer.cs
+++ b/src/DotNetOpenAuth/InfoCard/InfoCardStrings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4918
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth.InfoCard {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class InfoCardStrings {
diff --git a/src/DotNetOpenAuth/Messaging/MessagingStrings.Designer.cs b/src/DotNetOpenAuth/Messaging/MessagingStrings.Designer.cs
index 5654c00..0bbac42 100644
--- a/src/DotNetOpenAuth/Messaging/MessagingStrings.Designer.cs
+++ b/src/DotNetOpenAuth/Messaging/MessagingStrings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4918
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth.Messaging {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class MessagingStrings {
diff --git a/src/DotNetOpenAuth/Messaging/MessagingUtilities.cs b/src/DotNetOpenAuth/Messaging/MessagingUtilities.cs
index 3a92aef..81b33b0 100644
--- a/src/DotNetOpenAuth/Messaging/MessagingUtilities.cs
+++ b/src/DotNetOpenAuth/Messaging/MessagingUtilities.cs
@@ -330,6 +330,7 @@ namespace DotNetOpenAuth.Messaging {
}
}
+#if !CLR4
/// <summary>
/// Copies the contents of one stream to another.
/// </summary>
@@ -345,8 +346,9 @@ namespace DotNetOpenAuth.Messaging {
Contract.Requires<ArgumentNullException>(copyTo != null);
Contract.Requires<ArgumentException>(copyFrom.CanRead, MessagingStrings.StreamUnreadable);
Contract.Requires<ArgumentException>(copyTo.CanWrite, MessagingStrings.StreamUnwritable);
- return CopyTo(copyFrom, copyTo, int.MaxValue);
+ return CopyUpTo(copyFrom, copyTo, int.MaxValue);
}
+#endif
/// <summary>
/// Copies the contents of one stream to another.
@@ -359,7 +361,7 @@ namespace DotNetOpenAuth.Messaging {
/// Copying begins at the streams' current positions.
/// The positions are NOT reset after copying is complete.
/// </remarks>
- internal static int CopyTo(this Stream copyFrom, Stream copyTo, int maximumBytesToCopy) {
+ internal static int CopyUpTo(this Stream copyFrom, Stream copyTo, int maximumBytesToCopy) {
Contract.Requires<ArgumentNullException>(copyFrom != null);
Contract.Requires<ArgumentNullException>(copyTo != null);
Contract.Requires<ArgumentException>(copyFrom.CanRead, MessagingStrings.StreamUnreadable);
diff --git a/src/DotNetOpenAuth/Messaging/OutgoingWebResponse.cs b/src/DotNetOpenAuth/Messaging/OutgoingWebResponse.cs
index f6a930c..52d0e39 100644
--- a/src/DotNetOpenAuth/Messaging/OutgoingWebResponse.cs
+++ b/src/DotNetOpenAuth/Messaging/OutgoingWebResponse.cs
@@ -56,7 +56,7 @@ namespace DotNetOpenAuth.Messaging {
this.ResponseStream = new MemoryStream(response.ContentLength < 0 ? 4 * 1024 : (int)response.ContentLength);
using (Stream responseStream = response.GetResponseStream()) {
// BUGBUG: strictly speaking, is the response were exactly the limit, we'd report it as truncated here.
- this.IsResponseTruncated = responseStream.CopyTo(this.ResponseStream, maximumBytesToRead) == maximumBytesToRead;
+ this.IsResponseTruncated = responseStream.CopyUpTo(this.ResponseStream, maximumBytesToRead) == maximumBytesToRead;
this.ResponseStream.Seek(0, SeekOrigin.Begin);
}
}
diff --git a/src/DotNetOpenAuth/Messaging/ProtocolException.cs b/src/DotNetOpenAuth/Messaging/ProtocolException.cs
index 25f8eee..fb9ec6d 100644
--- a/src/DotNetOpenAuth/Messaging/ProtocolException.cs
+++ b/src/DotNetOpenAuth/Messaging/ProtocolException.cs
@@ -8,6 +8,7 @@ namespace DotNetOpenAuth.Messaging {
using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
+ using System.Security;
using System.Security.Permissions;
/// <summary>
@@ -79,7 +80,11 @@ namespace DotNetOpenAuth.Messaging {
/// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*"/>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter"/>
/// </PermissionSet>
+#if CLR4
+ [SecurityCritical]
+#else
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)]
+#endif
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) {
base.GetObjectData(info, context);
throw new NotImplementedException();
diff --git a/src/DotNetOpenAuth/Migrated rules for DotNetOpenAuth.ruleset b/src/DotNetOpenAuth/Migrated rules for DotNetOpenAuth.ruleset
new file mode 100644
index 0000000..cee6f53
--- /dev/null
+++ b/src/DotNetOpenAuth/Migrated rules for DotNetOpenAuth.ruleset
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RuleSet Name="Migrated rules for DotNetOpenAuth.ruleset" Description="This rule set was created from the CodeAnalysisRules property for the &quot;Debug (Any CPU)&quot; configuration in project &quot;C:\Users\andarno\git\dotnetopenid\src\DotNetOpenAuth\DotNetOpenAuth.csproj&quot;." ToolsVersion="10.0">
+ <IncludeAll Action="Warning" />
+ <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
+ <Rule Id="CA1054" Action="None" />
+ <Rule Id="CA1055" Action="None" />
+ <Rule Id="CA1056" Action="None" />
+ </Rules>
+</RuleSet> \ No newline at end of file
diff --git a/src/DotNetOpenAuth/OAuth/OAuthStrings.Designer.cs b/src/DotNetOpenAuth/OAuth/OAuthStrings.Designer.cs
index fd74bcb..fb4c9a1 100644
--- a/src/DotNetOpenAuth/OAuth/OAuthStrings.Designer.cs
+++ b/src/DotNetOpenAuth/OAuth/OAuthStrings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4927
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth.OAuth {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class OAuthStrings {
diff --git a/src/DotNetOpenAuth/OpenId/Behaviors/BehaviorStrings.Designer.cs b/src/DotNetOpenAuth/OpenId/Behaviors/BehaviorStrings.Designer.cs
index 937ecaf..8c952ab 100644
--- a/src/DotNetOpenAuth/OpenId/Behaviors/BehaviorStrings.Designer.cs
+++ b/src/DotNetOpenAuth/OpenId/Behaviors/BehaviorStrings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4918
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth.OpenId.Behaviors {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class BehaviorStrings {
diff --git a/src/DotNetOpenAuth/OpenId/OpenIdStrings.Designer.cs b/src/DotNetOpenAuth/OpenId/OpenIdStrings.Designer.cs
index adfe4ee..29315bb 100644
--- a/src/DotNetOpenAuth/OpenId/OpenIdStrings.Designer.cs
+++ b/src/DotNetOpenAuth/OpenId/OpenIdStrings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4927
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth.OpenId {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class OpenIdStrings {
diff --git a/src/DotNetOpenAuth/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth/Properties/AssemblyInfo.cs
index 0bba853..ce08780 100644
--- a/src/DotNetOpenAuth/Properties/AssemblyInfo.cs
+++ b/src/DotNetOpenAuth/Properties/AssemblyInfo.cs
@@ -70,6 +70,8 @@ using System.Web.UI;
[assembly: InternalsVisibleTo("DotNetOpenAuth.Test")]
#endif
+#if !CLR4
+
// Specify what permissions are required and optional for the assembly.
// In order for CAS to remove unnecessary privileges from this assembly (which is desirable
// for security), we need at least one RequestMinimum and at least one RequestOptional.
@@ -99,5 +101,6 @@ using System.Web.UI;
[assembly: RegistryPermission(SecurityAction.RequestOptional, Unrestricted = true)]
[assembly: SecurityPermission(SecurityAction.RequestOptional, ControlEvidence = true, UnmanagedCode = true, ControlThread = true)]
[assembly: FileIOPermission(SecurityAction.RequestOptional, AllFiles = FileIOPermissionAccess.PathDiscovery | FileIOPermissionAccess.Read)]
-#endif
-#endif
+#endif // TRACE || DEBUG
+#endif // PARTIAL_TRUST
+#endif // CLR4
diff --git a/src/DotNetOpenAuth/Strings.Designer.cs b/src/DotNetOpenAuth/Strings.Designer.cs
index 38c89f7..70b9fb2 100644
--- a/src/DotNetOpenAuth/Strings.Designer.cs
+++ b/src/DotNetOpenAuth/Strings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.4927
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Strings {
@@ -70,20 +70,20 @@ namespace DotNetOpenAuth {
}
/// <summary>
- /// Looks up a localized string similar to No current HttpContext was detected, so an {0} instance must be explicitly provided or specified in the .config file. Call the constructor overload that takes an {0}..
+ /// Looks up a localized string similar to The configuration XAML reference to {0} requires a current HttpContext to resolve..
/// </summary>
- internal static string StoreRequiredWhenNoHttpContextAvailable {
+ internal static string ConfigurationXamlReferenceRequiresHttpContext {
get {
- return ResourceManager.GetString("StoreRequiredWhenNoHttpContextAvailable", resourceCulture);
+ return ResourceManager.GetString("ConfigurationXamlReferenceRequiresHttpContext", resourceCulture);
}
}
/// <summary>
- /// Looks up a localized string similar to The configuration XAML reference to {0} requires a current HttpContext to resolve..
+ /// Looks up a localized string similar to No current HttpContext was detected, so an {0} instance must be explicitly provided or specified in the .config file. Call the constructor overload that takes an {0}..
/// </summary>
- internal static string ConfigurationXamlReferenceRequiresHttpContext {
+ internal static string StoreRequiredWhenNoHttpContextAvailable {
get {
- return ResourceManager.GetString("ConfigurationXamlReferenceRequiresHttpContext", resourceCulture);
+ return ResourceManager.GetString("StoreRequiredWhenNoHttpContextAvailable", resourceCulture);
}
}
}
diff --git a/src/DotNetOpenAuth/Xrds/XrdsStrings.Designer.cs b/src/DotNetOpenAuth/Xrds/XrdsStrings.Designer.cs
index 465c990..2279b5f 100644
--- a/src/DotNetOpenAuth/Xrds/XrdsStrings.Designer.cs
+++ b/src/DotNetOpenAuth/Xrds/XrdsStrings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.3053
+// Runtime Version:4.0.30104.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth.Xrds {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class XrdsStrings {
diff --git a/src/LocalTestRun.testrunconfig b/src/LocalTestRun.testrunconfig
deleted file mode 100644
index f037171..0000000
--- a/src/LocalTestRun.testrunconfig
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<TestRunConfiguration name="Local Test Run" id="abbd81c0-7d7b-4c98-878c-05dbead62c27" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">
- <Description>This is a default test run configuration for a local test run.</Description>
- <CodeCoverage enabled="true">
- <Regular>
- <CodeCoverageItem binaryFile="C:\git\dotnetoauth\bin\Debug\DotNetOpenAuth.dll" pdbFile="C:\git\dotnetoauth\bin\Debug\DotNetOpenAuth.pdb" instrumentInPlace="true" />
- </Regular>
- </CodeCoverage>
- <TestTypeSpecific>
- <WebTestRunConfiguration testTypeId="4e7599fa-5ecb-43e9-a887-cd63cf72d207">
- <Browser name="Internet Explorer 7.0">
- <Headers>
- <Header name="User-Agent" value="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" />
- <Header name="Accept" value="*/*" />
- <Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />
- <Header name="Accept-Encoding" value="GZIP" />
- </Headers>
- </Browser>
- <Network Name="LAN" BandwidthInKbps="0" />
- </WebTestRunConfiguration>
- </TestTypeSpecific>
-</TestRunConfiguration> \ No newline at end of file
diff --git a/src/version.txt b/src/version.txt
index 1809198..1545d96 100644
--- a/src/version.txt
+++ b/src/version.txt
@@ -1 +1 @@
-3.4.0
+3.5.0
diff --git a/tools/DotNetOpenAuth.Versioning.targets b/tools/DotNetOpenAuth.Versioning.targets
index 7f4251d..ff8ab4b 100644
--- a/tools/DotNetOpenAuth.Versioning.targets
+++ b/tools/DotNetOpenAuth.Versioning.targets
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<!-- Import this .targets file to automatically generate AssemblyVersion
attribute according to DotNetOpenAuth convention.
This file assumes DotNetOpenAuth.props and DotNetOpenAuth.targets are also imported. -->
@@ -30,7 +30,7 @@
<PropertyGroup>
<NewVersionCsFile>$(VersionCsFile).new</NewVersionCsFile>
</PropertyGroup>
- <MakeDir Directories="$(ProjectRoot)obj\$(Configuration)"/>
+ <MakeDir Directories="$(IntermediatePath)"/>
<AssemblyInfo OutputFile="$(NewVersionCsFile)" CodeLanguage="C#"
AssemblyVersion="$(BuildVersion)"
AssemblyInformationalVersion="$(AssemblyInformationalVersion)" />
diff --git a/tools/DotNetOpenAuth.props b/tools/DotNetOpenAuth.props
index 693a344..a3ad973 100644
--- a/tools/DotNetOpenAuth.props
+++ b/tools/DotNetOpenAuth.props
@@ -1,15 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5" InitialTargets="InitializeProps">
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" InitialTargets="InitializeProps">
<PropertyGroup>
<ProductName>DotNetOpenAuth</ProductName>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v3.5</TargetFrameworkVersion>
<ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\</ProjectRoot>
<DropsRoot>$(ProjectRoot)drops\$(Configuration)\</DropsRoot>
- <OutputPath>$(ProjectRoot)bin\$(Configuration)\</OutputPath>
+ <OutputPath>$(ProjectRoot)bin\$(TargetFrameworkVersion)\$(Configuration)\</OutputPath>
<DocOutputPath>$(ProjectRoot)doc\</DocOutputPath>
- <IntermediatePath>$(ProjectRoot)obj\$(Configuration)\</IntermediatePath>
- <BaseIntermediateOutputPath Condition=" '$(BaseIntermediateOutputPath)' == '' ">obj\</BaseIntermediateOutputPath>
+ <IntermediatePath>$(ProjectRoot)obj\$(TargetFrameworkVersion)\$(Configuration)\</IntermediatePath>
+ <BaseIntermediateOutputPath Condition=" '$(BaseIntermediateOutputPath)' == '' ">obj\$(TargetFrameworkVersion)\</BaseIntermediateOutputPath>
<ToolsDir>$(ProjectRoot)tools\</ToolsDir>
+ <ClrVersion Condition=" '$(TargetFrameworkVersion)' == 'v4.0' ">4</ClrVersion>
+ <ClrVersion Condition=" '$(TargetFrameworkVersion)' != 'v4.0' ">2</ClrVersion>
<SignAssembly>true</SignAssembly>
<PublicKeyFile Condition="'$(PublicKeyFile)' == ''">$(ProjectRoot)src\official-build-key.pub</PublicKeyFile>
diff --git a/tools/DotNetOpenAuth.targets b/tools/DotNetOpenAuth.targets
index 235cf4b..9a2c6f9 100644
--- a/tools/DotNetOpenAuth.targets
+++ b/tools/DotNetOpenAuth.targets
@@ -1,12 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Import Project="DotNetOpenAuth.Versioning.targets" />
<Import Project="JavascriptPacker.targets" />
<PropertyGroup>
<DefineConstants Condition=" '$(SignAssembly)' == 'true' ">$(DefineConstants);StrongNameSigned</DefineConstants>
+ <DefineConstants Condition=" '$(ClrVersion)' == '4' ">$(DefineConstants);CLR4</DefineConstants>
</PropertyGroup>
+ <ItemGroup Condition=" '$(ClrVersion)' != '4' ">
+ <Reference Include="Microsoft.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=736440c9b414ea16, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\lib\Microsoft.Contracts.dll</HintPath>
+ </Reference>
+ </ItemGroup>
+
<!-- This forces a build break when Code Contracts are not installed. -->
<PropertyGroup>
<CompileDependsOn>$(CompileDependsOn);CheckForCodeContracts</CompileDependsOn>
@@ -27,7 +35,7 @@
<Target Name="CreatePublicAccessors">
<PropertyGroup>
<VSVersionForTargetFramework>v10.0</VSVersionForTargetFramework>
- <VSVersionForTargetFramework Condition=" '$(TargetFrameworkVersion)' != 'v4.0' ">v9.0</VSVersionForTargetFramework>
+ <VSVersionForTargetFramework Condition=" '$(ClrVersion)' != '4' ">v9.0</VSVersionForTargetFramework>
</PropertyGroup>
<Publicize
Condition=" '%(ReferencePath.Shadow)' == 'true' "
diff --git a/tools/JavascriptPacker.targets b/tools/JavascriptPacker.targets
index 2db13a8..51a7ba5 100644
--- a/tools/JavascriptPacker.targets
+++ b/tools/JavascriptPacker.targets
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<PackJs Condition="'$(PackJs)' == '' and '$(Configuration)' == 'Release'">true</PackJs>
<PrepareResourcesDependsOn Condition="'$(PackJs)' == 'true'">
diff --git a/projecttemplates/DotNetOpenAuth Starter Kits.vscontent b/vsi/DotNetOpenAuth Starter Kits.vscontent
index 184c28c..320e491 100644
--- a/projecttemplates/DotNetOpenAuth Starter Kits.vscontent
+++ b/vsi/DotNetOpenAuth Starter Kits.vscontent
@@ -14,7 +14,7 @@
<Content>
<FileName>MvcRelyingParty.zip</FileName>
<DisplayName>ASP.NET MVC OpenID-InfoCard RP</DisplayName>
- <Description>An ASP.NET MVC web site that accepts OpenID and InfoCard logins</Description>
+ <Description>An ASP.NET MVC web site that accepts OpenID logins</Description>
<FileContentType>VSTemplate</FileContentType>
<ContentVersion>2.0</ContentVersion>
<Attributes>
diff --git a/vsix/DotNetOpenAuthSDK.pkgdef b/vsix/DotNetOpenAuthSDK.pkgdef
new file mode 100644
index 0000000..1a515e1
--- /dev/null
+++ b/vsix/DotNetOpenAuthSDK.pkgdef
@@ -0,0 +1,5 @@
+[$RootKey$\Packages\{d2122791-8de4-4d3b-a414-7563c9a8cd6e}]
+@="Hey there"
+
+;[HKEY_CURRENT_USER\Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\DotNetOpenAuth SDK]
+;@="$PackageFolder$" \ No newline at end of file
diff --git a/vsix/VSIXProject_large.png b/vsix/VSIXProject_large.png
new file mode 100644
index 0000000..442b986
--- /dev/null
+++ b/vsix/VSIXProject_large.png
Binary files differ
diff --git a/vsix/VSIXProject_small.png b/vsix/VSIXProject_small.png
new file mode 100644
index 0000000..5789dfa
--- /dev/null
+++ b/vsix/VSIXProject_small.png
Binary files differ
diff --git a/vsix/[Content_Types].xml b/vsix/[Content_Types].xml
new file mode 100644
index 0000000..be86ffd
--- /dev/null
+++ b/vsix/[Content_Types].xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
+ <Default Extension="png" ContentType="application/octet-stream" />
+ <Default Extension="txt" ContentType="text/plain" />
+ <Default Extension="vsixmanifest" ContentType="text/xml" />
+ <Default Extension="zip" ContentType="application/zip" />
+ <Default Extension="pkgdef" ContentType="text/plain" />
+</Types> \ No newline at end of file
diff --git a/vsix/extension.vsixmanifest b/vsix/extension.vsixmanifest
new file mode 100644
index 0000000..4bb59dc
--- /dev/null
+++ b/vsix/extension.vsixmanifest
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
+ <Identifier Id="DotNetOpenAuth.d2122791-8de4-4d3b-a414-7563c9a8cd6e">
+ <Name>DotNetOpenAuth SDK</Name>
+ <Author>DotNetOpenAuth</Author>
+ <Version>$version$</Version>
+ <Description>Resources for developing applications that use OpenID, OAuth, and InfoCard.</Description>
+ <Locale>1033</Locale>
+ <License>LICENSE.txt</License>
+ <GettingStartedGuide>http://www.dotnetopenauth.net/ProjectTemplateGettingStarted</GettingStartedGuide>
+ <Icon>VSIXProject_small.png</Icon>
+ <PreviewImage>VSIXProject_large.png</PreviewImage>
+ <InstalledByMsi>false</InstalledByMsi>
+ <SupportedProducts>
+ <VisualStudio Version="10.0">
+ <Edition>VSTS</Edition>
+ <Edition>VSTD</Edition>
+ <Edition>Pro</Edition>
+ </VisualStudio>
+ </SupportedProducts>
+ <SupportedFrameworkRuntimeEdition MinVersion="3.5" MaxVersion="3.5" />
+ </Identifier>
+ <References />
+ <Content>
+ <ProjectTemplate>PT</ProjectTemplate>
+ <VsPackage>DotNetOpenAuthSDK.pkgdef</VsPackage>
+ </Content>
+</Vsix>