├── .gitignore ├── .nuget ├── NuGet.Config ├── NuGet.exe └── NuGet.targets ├── .vs └── config │ └── applicationhost.config ├── ShortUrl.sln ├── ShortUrl ├── Bootstrapper.cs ├── DataAccess │ └── MongoUrlStore.cs ├── Properties │ └── AssemblyInfo.cs ├── ShortUrl.csproj ├── ShortUrlModule.cs ├── UrlStore.cs ├── Views │ ├── index.html │ └── shortened_url.sshtml └── packages.config ├── ShortUrlDesktopApp ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── ShortUrlDesktopApp.csproj ├── app.config └── packages.config ├── ShortUrlTest ├── BaseUrlSpec.cs ├── BrowserResponseExtensions.cs ├── MongoUrlStoreTest.cs ├── Properties │ └── AssemblyInfo.cs ├── ShortUrlTest.csproj ├── UrlStorageTest.cs ├── app.config └── packages.config ├── ShortUrlWebApp ├── Properties │ └── AssemblyInfo.cs ├── ShortUrlWebApp.csproj ├── Web.Debug.config ├── Web.Release.config ├── Web.config └── packages.config └── packages ├── CsQuery.1.3.4 ├── CsQuery.1.3.4.nupkg ├── [Content_Types].xml └── lib │ └── net40 │ ├── CsQuery.XML │ └── CsQuery.dll ├── MongoDB.Bson.2.0.0 ├── License.rtf ├── MongoDB.Bson.2.0.0.nupkg ├── [Content_Types].xml └── lib │ └── net45 │ ├── MongoDB.Bson.XML │ └── MongoDB.Bson.dll ├── MongoDB.Driver.2.0.0 ├── License.rtf ├── MongoDB.Driver.2.0.0.nupkg ├── [Content_Types].xml └── lib │ └── net45 │ ├── MongoDB.Driver.XML │ └── MongoDB.Driver.dll ├── MongoDB.Driver.Core.2.0.0 ├── License.rtf ├── MongoDB.Driver.Core.2.0.0.nupkg ├── [Content_Types].xml └── lib │ └── net45 │ └── MongoDB.Driver.Core.dll ├── Moq.4.2.1502.0911 ├── Moq.4.2.1502.911.nupkg ├── [Content_Types].xml └── lib │ ├── net35 │ ├── Moq.dll │ └── Moq.xml │ ├── net40 │ ├── Moq.dll │ └── Moq.xml │ └── sl4 │ ├── Moq.Silverlight.dll │ └── Moq.Silverlight.xml ├── Nancy.1.2.0 ├── Nancy.1.2.0.nupkg ├── [Content_Types].xml └── lib │ └── net40 │ ├── Nancy.dll │ └── Nancy.xml ├── Nancy.Hosting.Aspnet.1.2.0 ├── Nancy.Hosting.Aspnet.1.2.0.nupkg ├── [Content_Types].xml ├── content │ └── web.config.transform └── lib │ └── net40 │ ├── Nancy.Hosting.Aspnet.dll │ └── Nancy.Hosting.Aspnet.xml ├── Nancy.Hosting.Self.1.2.0 ├── Nancy.Hosting.Self.1.2.0.nupkg ├── [Content_Types].xml └── lib │ └── net40 │ ├── Nancy.Hosting.Self.dll │ └── Nancy.Hosting.Self.xml ├── Nancy.Testing.1.2.0 ├── Nancy.Testing.1.2.0.nupkg ├── [Content_Types].xml └── lib │ └── net40 │ ├── Nancy.Testing.dll │ └── Nancy.Testing.xml ├── mongocsharpdriver.2.0.0 ├── License.rtf ├── [Content_Types].xml ├── lib │ └── net45 │ │ ├── MongoDB.Driver.Legacy.XML │ │ └── MongoDB.Driver.Legacy.dll └── mongocsharpdriver.2.0.0.nupkg ├── repositories.config ├── xunit.2.0.0 ├── [Content_Types].xml └── xunit.2.0.0.nupkg ├── xunit.abstractions.2.0.0 ├── [Content_Types].xml ├── lib │ ├── net35 │ │ ├── xunit.abstractions.dll │ │ └── xunit.abstractions.xml │ └── portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS │ │ ├── xunit.abstractions.dll │ │ └── xunit.abstractions.xml └── xunit.abstractions.2.0.0.nupkg ├── xunit.assert.2.0.0 ├── [Content_Types].xml ├── lib │ └── portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS │ │ ├── xunit.assert.dll │ │ ├── xunit.assert.pdb │ │ └── xunit.assert.xml └── xunit.assert.2.0.0.nupkg ├── xunit.core.2.0.0 ├── [Content_Types].xml ├── build │ ├── Xamarin.iOS │ │ ├── xunit.core.props │ │ └── xunit.execution.iOS-Universal.dll │ ├── _Desktop │ │ └── xunit.execution.desktop.dll │ ├── monoandroid │ │ ├── xunit.core.props │ │ └── xunit.execution.MonoAndroid.dll │ ├── monotouch │ │ ├── xunit.core.props │ │ └── xunit.execution.MonoTouch.dll │ ├── portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS │ │ └── xunit.core.props │ ├── portable-win81+wpa81 │ │ ├── xunit.core.props │ │ ├── xunit.core.targets │ │ ├── xunit.execution.universal.dll │ │ └── xunit.execution.universal.pri │ ├── win8 │ │ ├── xunit.core.props │ │ ├── xunit.core.targets │ │ └── xunit.execution.win8.dll │ └── wp8 │ │ ├── xunit.core.props │ │ ├── xunit.core.targets │ │ └── xunit.execution.wp8.dll └── xunit.core.2.0.0.nupkg └── xunit.extensibility.core.2.0.0 ├── [Content_Types].xml ├── lib └── portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS │ ├── xunit.core.dll │ ├── xunit.core.dll.tdnet │ ├── xunit.core.pdb │ ├── xunit.core.xml │ ├── xunit.runner.tdnet.dll │ └── xunit.runner.utility.desktop.dll └── xunit.extensibility.core.2.0.0.nupkg /.gitignore: -------------------------------------------------------------------------------- 1 | [Bb]in 2 | [Oo]bj 3 | *.suo 4 | *.user 5 | *ReSharper* 6 | *dotCover* 7 | -------------------------------------------------------------------------------- /.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/.nuget/NuGet.exe -------------------------------------------------------------------------------- /.nuget/NuGet.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildProjectDirectory)\..\ 5 | 6 | 7 | false 8 | 9 | 10 | false 11 | 12 | 13 | false 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24 | 25 | 26 | $([System.IO.Path]::Combine($(SolutionDir), ".nuget")) 27 | $([System.IO.Path]::Combine($(ProjectDir), "packages.config")) 28 | $([System.IO.Path]::Combine($(SolutionDir), "packages")) 29 | 30 | 31 | 32 | 33 | $(SolutionDir).nuget 34 | packages.config 35 | $(SolutionDir)packages 36 | 37 | 38 | 39 | 40 | $(NuGetToolsPath)\nuget.exe 41 | @(PackageSource) 42 | 43 | "$(NuGetExePath)" 44 | mono --runtime=v4.0.30319 $(NuGetExePath) 45 | 46 | $(TargetDir.Trim('\\')) 47 | 48 | 49 | $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)" 50 | $(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -symbols 51 | 52 | 53 | 54 | RestorePackages; 55 | $(BuildDependsOn); 56 | 57 | 58 | 59 | 60 | $(BuildDependsOn); 61 | BuildPackage; 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 75 | 76 | 79 | 80 | 81 | 82 | 84 | 85 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 136 | 137 | 138 | 139 | -------------------------------------------------------------------------------- /ShortUrl.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShortUrlTest", "ShortUrlTest\ShortUrlTest.csproj", "{8396657E-23FB-403F-AA46-C05DB6402B1B}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShortUrl", "ShortUrl\ShortUrl.csproj", "{CBF3CC93-1A13-4F53-A7FD-18DE3C848550}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShortUrlWebApp", "ShortUrlWebApp\ShortUrlWebApp.csproj", "{036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShortUrlDesktopApp", "ShortUrlDesktopApp\ShortUrlDesktopApp.csproj", "{680616BD-BA76-4B60-B18B-9B593DFA8E44}" 11 | EndProject 12 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{F2CBB944-1ABF-4AB6-9F8B-468E16738B19}" 13 | ProjectSection(SolutionItems) = preProject 14 | .nuget\NuGet.exe = .nuget\NuGet.exe 15 | .nuget\NuGet.targets = .nuget\NuGet.targets 16 | EndProjectSection 17 | EndProject 18 | Global 19 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 20 | Debug|Any CPU = Debug|Any CPU 21 | Debug|Mixed Platforms = Debug|Mixed Platforms 22 | Debug|x86 = Debug|x86 23 | Release|Any CPU = Release|Any CPU 24 | Release|Mixed Platforms = Release|Mixed Platforms 25 | Release|x86 = Release|x86 26 | EndGlobalSection 27 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 28 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 29 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}.Debug|Any CPU.Build.0 = Debug|Any CPU 30 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU 31 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU 32 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}.Debug|x86.ActiveCfg = Debug|Any CPU 33 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}.Release|Any CPU.ActiveCfg = Release|Any CPU 34 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}.Release|Any CPU.Build.0 = Release|Any CPU 35 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU 36 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}.Release|Mixed Platforms.Build.0 = Release|Any CPU 37 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3}.Release|x86.ActiveCfg = Release|Any CPU 38 | {680616BD-BA76-4B60-B18B-9B593DFA8E44}.Debug|Any CPU.ActiveCfg = Debug|x86 39 | {680616BD-BA76-4B60-B18B-9B593DFA8E44}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 40 | {680616BD-BA76-4B60-B18B-9B593DFA8E44}.Debug|Mixed Platforms.Build.0 = Debug|x86 41 | {680616BD-BA76-4B60-B18B-9B593DFA8E44}.Debug|x86.ActiveCfg = Debug|x86 42 | {680616BD-BA76-4B60-B18B-9B593DFA8E44}.Debug|x86.Build.0 = Debug|x86 43 | {680616BD-BA76-4B60-B18B-9B593DFA8E44}.Release|Any CPU.ActiveCfg = Release|x86 44 | {680616BD-BA76-4B60-B18B-9B593DFA8E44}.Release|Mixed Platforms.ActiveCfg = Release|x86 45 | {680616BD-BA76-4B60-B18B-9B593DFA8E44}.Release|Mixed Platforms.Build.0 = Release|x86 46 | {680616BD-BA76-4B60-B18B-9B593DFA8E44}.Release|x86.ActiveCfg = Release|x86 47 | {680616BD-BA76-4B60-B18B-9B593DFA8E44}.Release|x86.Build.0 = Release|x86 48 | {8396657E-23FB-403F-AA46-C05DB6402B1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 49 | {8396657E-23FB-403F-AA46-C05DB6402B1B}.Debug|Any CPU.Build.0 = Debug|Any CPU 50 | {8396657E-23FB-403F-AA46-C05DB6402B1B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU 51 | {8396657E-23FB-403F-AA46-C05DB6402B1B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU 52 | {8396657E-23FB-403F-AA46-C05DB6402B1B}.Debug|x86.ActiveCfg = Debug|Any CPU 53 | {8396657E-23FB-403F-AA46-C05DB6402B1B}.Release|Any CPU.ActiveCfg = Release|Any CPU 54 | {8396657E-23FB-403F-AA46-C05DB6402B1B}.Release|Any CPU.Build.0 = Release|Any CPU 55 | {8396657E-23FB-403F-AA46-C05DB6402B1B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU 56 | {8396657E-23FB-403F-AA46-C05DB6402B1B}.Release|Mixed Platforms.Build.0 = Release|Any CPU 57 | {8396657E-23FB-403F-AA46-C05DB6402B1B}.Release|x86.ActiveCfg = Release|Any CPU 58 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 59 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550}.Debug|Any CPU.Build.0 = Debug|Any CPU 60 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU 61 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU 62 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550}.Debug|x86.ActiveCfg = Debug|Any CPU 63 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550}.Release|Any CPU.ActiveCfg = Release|Any CPU 64 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550}.Release|Any CPU.Build.0 = Release|Any CPU 65 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU 66 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550}.Release|Mixed Platforms.Build.0 = Release|Any CPU 67 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550}.Release|x86.ActiveCfg = Release|Any CPU 68 | EndGlobalSection 69 | GlobalSection(SolutionProperties) = preSolution 70 | HideSolutionNode = FALSE 71 | EndGlobalSection 72 | EndGlobal 73 | -------------------------------------------------------------------------------- /ShortUrl/Bootstrapper.cs: -------------------------------------------------------------------------------- 1 | namespace ShortUrl 2 | { 3 | using System.Reflection; 4 | using Nancy; 5 | using Nancy.Bootstrapper; 6 | using Nancy.ViewEngines; 7 | using DataAccess; 8 | using Nancy.TinyIoc; 9 | 10 | public class Bootstrapper : DefaultNancyBootstrapper 11 | { 12 | protected override void ConfigureApplicationContainer(TinyIoCContainer container) 13 | { 14 | base.ConfigureApplicationContainer(container); 15 | 16 | var mongoUrlStore = new MongoUrlStore("mongodb://localhost:27010/"); 17 | container.Register(mongoUrlStore); 18 | } 19 | 20 | protected override NancyInternalConfiguration InternalConfiguration 21 | { 22 | get 23 | { 24 | ResourceViewLocationProvider.RootNamespaces[Assembly.GetAssembly(this.GetType())] = "ShortUrl"; 25 | return NancyInternalConfiguration 26 | .WithOverrides(x => x.ViewLocationProvider = typeof(ResourceViewLocationProvider)); 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ShortUrl/DataAccess/MongoUrlStore.cs: -------------------------------------------------------------------------------- 1 | namespace ShortUrl.DataAccess 2 | { 3 | using System.Threading; 4 | using MongoDB.Bson; 5 | using MongoDB.Driver; 6 | 7 | public class MongoUrlStore : UrlStore 8 | { 9 | private IMongoDatabase database; 10 | private IMongoCollection urls; 11 | 12 | public MongoUrlStore(string connectionString) 13 | { 14 | database = new MongoClient(connectionString).GetDatabase("short_url"); 15 | urls = database.GetCollection("urls"); 16 | } 17 | 18 | public void SaveUrl(string url, string shortenedUrl) 19 | { 20 | var newDoc = new BsonDocument {{"Id", url}, { "url", url }, { "shortenedUrl", shortenedUrl} }; 21 | urls.InsertOneAsync(newDoc, CancellationToken.None); 22 | } 23 | 24 | public string GetUrlFor(string shortenedUrl) 25 | { 26 | var urlDocument = 27 | urls 28 | .Find(Builders.Filter.Eq("shortenedUrl", shortenedUrl)) 29 | .FirstOrDefaultAsync() 30 | .Result; 31 | 32 | return 33 | urlDocument == null ? 34 | null : urlDocument["url"].AsString; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /ShortUrl/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ShortUrl")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("ShortUrl")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2011")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("0efb1532-2ff2-4f14-a74b-6e2baa9eba05")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /ShortUrl/ShortUrl.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550} 9 | Library 10 | Properties 11 | ShortUrl 12 | ShortUrl 13 | v4.6 14 | 512 15 | ..\ 16 | true 17 | 18 | 19 | 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | false 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | false 37 | 38 | 39 | 40 | ..\packages\MongoDB.Bson.2.0.0\lib\net45\MongoDB.Bson.dll 41 | True 42 | 43 | 44 | ..\packages\MongoDB.Driver.2.0.0\lib\net45\MongoDB.Driver.dll 45 | True 46 | 47 | 48 | ..\packages\MongoDB.Driver.Core.2.0.0\lib\net45\MongoDB.Driver.Core.dll 49 | True 50 | 51 | 52 | ..\packages\mongocsharpdriver.2.0.0\lib\net45\MongoDB.Driver.Legacy.dll 53 | True 54 | 55 | 56 | ..\packages\Nancy.1.2.0\lib\net40\Nancy.dll 57 | True 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | Always 77 | 78 | 79 | 80 | 81 | Always 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 96 | -------------------------------------------------------------------------------- /ShortUrl/ShortUrlModule.cs: -------------------------------------------------------------------------------- 1 | namespace ShortUrl 2 | { 3 | using Nancy; 4 | using Nancy.Responses.Negotiation; 5 | 6 | public class ShortUrlModule : NancyModule 7 | { 8 | public ShortUrlModule(UrlStore urlStore) 9 | { 10 | Get["/"] = _ => View["index.html"]; 11 | Post["/"] = _ => ShortenUrl(urlStore); 12 | Get["/{shorturl}"] = param => 13 | { 14 | string shortUrl = param.shorturl; 15 | return Response.AsRedirect(urlStore.GetUrlFor(shortUrl.ToString())); 16 | }; 17 | } 18 | 19 | private Negotiator ShortenUrl(UrlStore urlStore) 20 | { 21 | string longUrl = Request.Form.url; 22 | var shortUrl = ShortenUrl(longUrl); 23 | urlStore.SaveUrl(longUrl, shortUrl); 24 | 25 | return View["shortened_url", new { Request.Headers.Host, ShortUrl = shortUrl }]; 26 | } 27 | 28 | private string ShortenUrl(string longUrl) 29 | { 30 | return longUrl.GetHashCode().ToString(); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /ShortUrl/UrlStore.cs: -------------------------------------------------------------------------------- 1 | namespace ShortUrl 2 | { 3 | public interface UrlStore 4 | { 5 | void SaveUrl(string url, string shortenedUrl); 6 | string GetUrlFor(string shortenedUrl); 7 | } 8 | } -------------------------------------------------------------------------------- /ShortUrl/Views/index.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | -------------------------------------------------------------------------------- /ShortUrl/Views/shortened_url.sshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | http://@Model.Host/@Model.ShortUrl 4 | 5 | -------------------------------------------------------------------------------- /ShortUrl/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ShortUrlDesktopApp/Program.cs: -------------------------------------------------------------------------------- 1 | namespace ShortUrlDesktopApp 2 | { 3 | using System; 4 | using Nancy.Hosting.Self; 5 | using ShortUrl; 6 | 7 | class Program 8 | { 9 | static void Main(string[] args) 10 | { 11 | ShortUrlModule artificiaReference; 12 | var nancyHost = new NancyHost(new Uri("http://localhost:8080/")); 13 | nancyHost.Start(); 14 | 15 | Console.ReadKey(); 16 | 17 | nancyHost.Stop(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ShortUrlDesktopApp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ShortUrlDesktopApp")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("ShortUrlDesktopApp")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2011")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("dfc33744-591a-4d54-b401-e606b9b4dd08")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /ShortUrlDesktopApp/ShortUrlDesktopApp.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | x86 6 | 8.0.30703 7 | 2.0 8 | {680616BD-BA76-4B60-B18B-9B593DFA8E44} 9 | Exe 10 | Properties 11 | ShortUrlDesktopApp 12 | ShortUrlDesktopApp 13 | v4.6 14 | 15 | 16 | 512 17 | 18 | 19 | x86 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | false 28 | 29 | 30 | x86 31 | pdbonly 32 | true 33 | bin\Release\ 34 | TRACE 35 | prompt 36 | 4 37 | false 38 | 39 | 40 | 41 | ..\packages\Nancy.1.2.0\lib\net40\Nancy.dll 42 | True 43 | 44 | 45 | ..\packages\Nancy.Hosting.Self.1.2.0\lib\net40\Nancy.Hosting.Self.dll 46 | True 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550} 63 | ShortUrl 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 78 | -------------------------------------------------------------------------------- /ShortUrlDesktopApp/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ShortUrlDesktopApp/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ShortUrlTest/BaseUrlSpec.cs: -------------------------------------------------------------------------------- 1 | namespace ShortUrlTest 2 | { 3 | using System.Linq; 4 | using Nancy; 5 | using Nancy.Testing; 6 | using ShortUrl; 7 | using Xunit; 8 | 9 | public class BaseUrlSpec 10 | { 11 | private Browser app; 12 | 13 | public BaseUrlSpec() 14 | { 15 | app = new Browser(new Bootstrapper()); 16 | } 17 | 18 | [Fact] 19 | public void should_respond_ok() 20 | { 21 | var response = app.Get("/", with => with.HttpRequest()); 22 | var statusCode = response.StatusCode; 23 | Assert.Equal(HttpStatusCode.OK, statusCode); 24 | } 25 | 26 | [Fact] 27 | public void should_contain_a_form_with_an_input_field_for_a_url_and_a_button() 28 | { 29 | //when 30 | var baseUrlGetResponse = app.Get("/", with => with.HttpRequest()); 31 | 32 | //then 33 | baseUrlGetResponse.Body["form"] 34 | .ShouldExist(); 35 | 36 | baseUrlGetResponse.Body["input#url"] 37 | .ShouldExistOnce(); 38 | 39 | baseUrlGetResponse.Body["label"] 40 | .ShouldExistOnce().And 41 | .ShouldContain("Url: "); 42 | 43 | baseUrlGetResponse.Body["input#submit"] 44 | .ShouldExistOnce(); 45 | } 46 | 47 | [Fact] 48 | public void should_return_shortened_url_when_posting_url() 49 | { 50 | //when 51 | var baseUrlPostResponse = app.Post("/", 52 | with => 53 | { 54 | with.FormValue("url", "http://www.longurlplease.com/"); 55 | with.HttpRequest(); 56 | }); 57 | 58 | baseUrlPostResponse.Body["a#shorturl"] 59 | .ShouldExist().And 60 | .ShouldContain("http://"); 61 | } 62 | 63 | [Fact] 64 | public void should_redirect_to_original_url_when_getting_short_url() 65 | { 66 | //when 67 | var baseUrlPostResponse = app.Post("/", 68 | with => 69 | { 70 | with.FormValue("url", "http://www.longurlplease.com/"); 71 | with.HttpRequest(); 72 | }).GetBodyAsXml(); 73 | 74 | var shortUrl = baseUrlPostResponse 75 | .Element("html").Element("body").Element("a") 76 | .Attribute("href").Value 77 | .Split('/') 78 | .Last(); 79 | 80 | //then 81 | app.Get("/" + shortUrl, with => with.HttpRequest()) 82 | .ShouldHaveRedirectedTo("http://www.longurlplease.com/"); 83 | } 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /ShortUrlTest/BrowserResponseExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace ShortUrlTest 2 | { 3 | using System.IO; 4 | using System.Xml.Linq; 5 | using Nancy.Testing; 6 | 7 | public static class BrowserResponseExtensions 8 | { 9 | public static XDocument GetBodyAsXml(this BrowserResponse response) 10 | { 11 | using (var contentsStream = new MemoryStream()) 12 | { 13 | response.Context.Response.Contents.Invoke(contentsStream); 14 | contentsStream.Position = 0; 15 | return XDocument.Load(contentsStream); 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ShortUrlTest/MongoUrlStoreTest.cs: -------------------------------------------------------------------------------- 1 | namespace ShortUrlTest 2 | { 3 | using System.Threading.Tasks; 4 | using MongoDB.Bson; 5 | using MongoDB.Driver; 6 | using ShortUrl.DataAccess; 7 | using Xunit; 8 | 9 | public class MongoUrlStoreTest 10 | { 11 | private string connectionString = "mongodb://localhost:27010/short_url_test"; 12 | private IMongoDatabase database; 13 | private IMongoCollection urlCollection; 14 | 15 | public MongoUrlStoreTest() 16 | { 17 | //given 18 | this.database = new MongoClient(this.connectionString).GetDatabase("short_url"); 19 | this.urlCollection = this.database.GetCollection("urls"); 20 | } 21 | 22 | [Fact] 23 | public async Task should_store_urls_in_mongo() 24 | { 25 | //when 26 | var store = new MongoUrlStore(this.connectionString); 27 | store.SaveUrl("http://somelongurl.com/", "http://shorturl/abc"); 28 | 29 | //then 30 | var urlFromDB = await this.urlCollection 31 | .Find(Builders.Filter.Eq("url", "http://somelongurl.com/")) 32 | .FirstOrDefaultAsync(); 33 | 34 | Assert.NotNull(urlFromDB); 35 | Assert.Equal(urlFromDB["shortenedUrl"], "http://shorturl/abc"); 36 | } 37 | 38 | [Fact] 39 | public void should_be_able_to_find_shortened_urls() 40 | { 41 | //given 42 | var store = new MongoUrlStore(this.connectionString); 43 | store.SaveUrl("http://somelongurl.com/", "http://shorturl/abc"); 44 | 45 | //when 46 | var longUrl = store.GetUrlFor("http://shorturl/abc"); 47 | 48 | //then 49 | Assert.Equal("http://somelongurl.com/", longUrl); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /ShortUrlTest/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ShortUrlTest")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("ShortUrlTest")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2011")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("6ff66d36-ddeb-407b-b4be-0daddf39628c")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /ShortUrlTest/ShortUrlTest.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | 8.0.30703 8 | 2.0 9 | {8396657E-23FB-403F-AA46-C05DB6402B1B} 10 | Library 11 | Properties 12 | ShortUrlTest 13 | ShortUrlTest 14 | v4.6 15 | 512 16 | ..\ 17 | true 18 | 19 | 20 | 21 | 22 | 23 | true 24 | full 25 | false 26 | bin\Debug\ 27 | DEBUG;TRACE 28 | prompt 29 | 4 30 | false 31 | 32 | 33 | pdbonly 34 | true 35 | bin\Release\ 36 | TRACE 37 | prompt 38 | 4 39 | false 40 | 41 | 42 | 43 | ..\packages\CsQuery.1.3.4\lib\net40\CsQuery.dll 44 | True 45 | 46 | 47 | ..\packages\Nancy.Testing.0.11.0\lib\net40\HtmlAgilityPack.dll 48 | 49 | 50 | ..\packages\Nancy.Testing.0.11.0\lib\net40\HtmlAgilityPlus.dll 51 | 52 | 53 | ..\packages\MongoDB.Bson.2.0.0\lib\net45\MongoDB.Bson.dll 54 | True 55 | 56 | 57 | ..\packages\MongoDB.Driver.2.0.0\lib\net45\MongoDB.Driver.dll 58 | True 59 | 60 | 61 | ..\packages\MongoDB.Driver.Core.2.0.0\lib\net45\MongoDB.Driver.Core.dll 62 | True 63 | 64 | 65 | ..\packages\mongocsharpdriver.2.0.0\lib\net45\MongoDB.Driver.Legacy.dll 66 | True 67 | 68 | 69 | ..\packages\Moq.4.2.1502.0911\lib\net40\Moq.dll 70 | True 71 | 72 | 73 | ..\packages\Nancy.1.2.0\lib\net40\Nancy.dll 74 | True 75 | 76 | 77 | ..\packages\Nancy.Testing.1.2.0\lib\net40\Nancy.Testing.dll 78 | True 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | ..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll 89 | True 90 | 91 | 92 | ..\packages\xunit.assert.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.assert.dll 93 | True 94 | 95 | 96 | ..\packages\xunit.extensibility.core.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.dll 97 | True 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550} 114 | ShortUrl 115 | 116 | 117 | 118 | 119 | 120 | 121 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 122 | 123 | 124 | 125 | 132 | -------------------------------------------------------------------------------- /ShortUrlTest/UrlStorageTest.cs: -------------------------------------------------------------------------------- 1 | namespace ShortUrlTest 2 | { 3 | using Xunit; 4 | using Nancy.Testing; 5 | using Moq; 6 | using ShortUrl; 7 | 8 | public class UrlStorageTest 9 | { 10 | private Browser app; 11 | private Mock fakeStorage; 12 | 13 | public UrlStorageTest() 14 | { 15 | ShortUrlModule artificiaReference; 16 | 17 | //Given 18 | fakeStorage = new Mock(); 19 | app = new Browser( 20 | new ConfigurableBootstrapper( 21 | with => with.Dependency(fakeStorage.Object))); 22 | 23 | } 24 | 25 | [Fact] 26 | public void app_should_store_url_when_one_is_posted() 27 | { 28 | //When 29 | app.Post("/", 30 | with => 31 | { 32 | with.FormValue("url", "http://www.longurlplease.com/"); 33 | with.HttpRequest(); 34 | }); 35 | 36 | //Then 37 | fakeStorage 38 | .Verify(store => 39 | store.SaveUrl("http://www.longurlplease.com/", 40 | It.IsAny())); 41 | } 42 | 43 | [Fact] 44 | public void app_should_try_to_retrieve_url_when_getting_a_short_url() 45 | { 46 | //When 47 | app.Get("/shorturl", 48 | with => with.HttpRequest()); 49 | 50 | //Then 51 | fakeStorage 52 | .Verify(store => 53 | store.GetUrlFor("shorturl")); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /ShortUrlTest/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ShortUrlTest/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /ShortUrlWebApp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ShortUrlWebApp")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("ShortUrlWebApp")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2011")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("ba79783f-ba04-4601-9b3e-2321ff8841bb")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /ShortUrlWebApp/ShortUrlWebApp.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | 8 | 9 | 2.0 10 | {036F3F5D-BC1A-4BE5-8620-FCEDDFF361E3} 11 | {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} 12 | Library 13 | Properties 14 | ShortUrlWebApp 15 | ShortUrlWebApp 16 | v4.6 17 | false 18 | 19 | 20 | 21 | 22 | 4.0 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | true 32 | full 33 | false 34 | bin\ 35 | DEBUG;TRACE 36 | prompt 37 | 4 38 | false 39 | 40 | 41 | pdbonly 42 | true 43 | bin\ 44 | TRACE 45 | prompt 46 | 4 47 | false 48 | 49 | 50 | 51 | 52 | ..\packages\Nancy.1.2.0\lib\net40\Nancy.dll 53 | True 54 | 55 | 56 | ..\packages\Nancy.Hosting.Aspnet.1.2.0\lib\net40\Nancy.Hosting.Aspnet.dll 57 | True 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | Web.config 78 | 79 | 80 | Web.config 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | {CBF3CC93-1A13-4F53-A7FD-18DE3C848550} 89 | ShortUrl 90 | 91 | 92 | 93 | 94 | 95 | 96 | 10.0 97 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | False 107 | True 108 | 60419 109 | / 110 | 111 | 112 | False 113 | False 114 | 115 | 116 | False 117 | 118 | 119 | 120 | 121 | 128 | -------------------------------------------------------------------------------- /ShortUrlWebApp/Web.Debug.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 17 | 18 | 29 | 30 | -------------------------------------------------------------------------------- /ShortUrlWebApp/Web.Release.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | 30 | 31 | -------------------------------------------------------------------------------- /ShortUrlWebApp/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /ShortUrlWebApp/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/CsQuery.1.3.4/CsQuery.1.3.4.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/CsQuery.1.3.4/CsQuery.1.3.4.nupkg -------------------------------------------------------------------------------- /packages/CsQuery.1.3.4/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/CsQuery.1.3.4/lib/net40/CsQuery.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/CsQuery.1.3.4/lib/net40/CsQuery.dll -------------------------------------------------------------------------------- /packages/MongoDB.Bson.2.0.0/License.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\fswiss\fprq2\fcharset0 Calibri;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 6.2.9200}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 4 | \pard\widctlpar\f0\fs20 Copyright 2010-2014 MongoDB Inc.\par 5 | \par 6 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\par 7 | \par 8 | {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }}{\fldrslt{http://www.apache.org/licenses/LICENSE-2.0\ul0\cf0}}}}\f0\fs20\par 9 | \par 10 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\par 11 | 12 | \pard\widctlpar\sa200\sl276\slmult1\f1\fs22\par 13 | } 14 | -------------------------------------------------------------------------------- /packages/MongoDB.Bson.2.0.0/MongoDB.Bson.2.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/MongoDB.Bson.2.0.0/MongoDB.Bson.2.0.0.nupkg -------------------------------------------------------------------------------- /packages/MongoDB.Bson.2.0.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/MongoDB.Bson.2.0.0/lib/net45/MongoDB.Bson.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/MongoDB.Bson.2.0.0/lib/net45/MongoDB.Bson.dll -------------------------------------------------------------------------------- /packages/MongoDB.Driver.2.0.0/License.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\fswiss\fprq2\fcharset0 Calibri;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 6.2.9200}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 4 | \pard\widctlpar\f0\fs20 Copyright 2010-2014 MongoDB Inc.\par 5 | \par 6 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\par 7 | \par 8 | {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }}{\fldrslt{http://www.apache.org/licenses/LICENSE-2.0\ul0\cf0}}}}\f0\fs20\par 9 | \par 10 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\par 11 | 12 | \pard\widctlpar\sa200\sl276\slmult1\f1\fs22\par 13 | } 14 | -------------------------------------------------------------------------------- /packages/MongoDB.Driver.2.0.0/MongoDB.Driver.2.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/MongoDB.Driver.2.0.0/MongoDB.Driver.2.0.0.nupkg -------------------------------------------------------------------------------- /packages/MongoDB.Driver.2.0.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/MongoDB.Driver.2.0.0/lib/net45/MongoDB.Driver.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/MongoDB.Driver.2.0.0/lib/net45/MongoDB.Driver.dll -------------------------------------------------------------------------------- /packages/MongoDB.Driver.Core.2.0.0/License.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\fswiss\fprq2\fcharset0 Calibri;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 6.2.9200}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 4 | \pard\widctlpar\f0\fs20 Copyright 2010-2014 MongoDB Inc.\par 5 | \par 6 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\par 7 | \par 8 | {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }}{\fldrslt{http://www.apache.org/licenses/LICENSE-2.0\ul0\cf0}}}}\f0\fs20\par 9 | \par 10 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\par 11 | 12 | \pard\widctlpar\sa200\sl276\slmult1\f1\fs22\par 13 | } 14 | -------------------------------------------------------------------------------- /packages/MongoDB.Driver.Core.2.0.0/MongoDB.Driver.Core.2.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/MongoDB.Driver.Core.2.0.0/MongoDB.Driver.Core.2.0.0.nupkg -------------------------------------------------------------------------------- /packages/MongoDB.Driver.Core.2.0.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/MongoDB.Driver.Core.2.0.0/lib/net45/MongoDB.Driver.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/MongoDB.Driver.Core.2.0.0/lib/net45/MongoDB.Driver.Core.dll -------------------------------------------------------------------------------- /packages/Moq.4.2.1502.0911/Moq.4.2.1502.911.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Moq.4.2.1502.0911/Moq.4.2.1502.911.nupkg -------------------------------------------------------------------------------- /packages/Moq.4.2.1502.0911/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/Moq.4.2.1502.0911/lib/net35/Moq.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Moq.4.2.1502.0911/lib/net35/Moq.dll -------------------------------------------------------------------------------- /packages/Moq.4.2.1502.0911/lib/net40/Moq.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Moq.4.2.1502.0911/lib/net40/Moq.dll -------------------------------------------------------------------------------- /packages/Moq.4.2.1502.0911/lib/sl4/Moq.Silverlight.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Moq.4.2.1502.0911/lib/sl4/Moq.Silverlight.dll -------------------------------------------------------------------------------- /packages/Nancy.1.2.0/Nancy.1.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Nancy.1.2.0/Nancy.1.2.0.nupkg -------------------------------------------------------------------------------- /packages/Nancy.1.2.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/Nancy.1.2.0/lib/net40/Nancy.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Nancy.1.2.0/lib/net40/Nancy.dll -------------------------------------------------------------------------------- /packages/Nancy.Hosting.Aspnet.1.2.0/Nancy.Hosting.Aspnet.1.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Nancy.Hosting.Aspnet.1.2.0/Nancy.Hosting.Aspnet.1.2.0.nupkg -------------------------------------------------------------------------------- /packages/Nancy.Hosting.Aspnet.1.2.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/Nancy.Hosting.Aspnet.1.2.0/content/web.config.transform: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/Nancy.Hosting.Aspnet.1.2.0/lib/net40/Nancy.Hosting.Aspnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Nancy.Hosting.Aspnet.1.2.0/lib/net40/Nancy.Hosting.Aspnet.dll -------------------------------------------------------------------------------- /packages/Nancy.Hosting.Aspnet.1.2.0/lib/net40/Nancy.Hosting.Aspnet.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Nancy.Hosting.Aspnet 5 | 6 | 7 | 8 | 9 | TinyIoC ASP.Net Bootstrapper 10 | No child container support because per-request is handled by the AsPerRequestSingleton option 11 | 12 | 13 | 14 | 15 | Gets the diagnostics for initialisation 16 | 17 | IDiagnostics implementation 18 | 19 | 20 | 21 | Gets all registered startup tasks 22 | 23 | An instance containing instances. 24 | 25 | 26 | 27 | Resolves all request startup tasks 28 | 29 | Container to use 30 | Types to register - not used 31 | An instance containing instances. 32 | 33 | 34 | 35 | Gets all registered application registration tasks 36 | 37 | An instance containing instances. 38 | 39 | 40 | 41 | Get all NancyModule implementation instances - should be multi-instance 42 | 43 | Current request context 44 | IEnumerable of INancyModule 45 | 46 | 47 | 48 | Retrieves a specific implementation - should be per-request lifetime 49 | 50 | Module type 51 | The current context 52 | The instance 53 | 54 | 55 | 56 | Creates and initializes the request pipelines. 57 | 58 | The used by the request. 59 | An instance. 60 | 61 | 62 | 63 | Configures the container using AutoRegister followed by registration 64 | of default INancyModuleCatalog and IRouteResolver. 65 | 66 | Container instance 67 | 68 | 69 | 70 | Resolve INancyEngine 71 | 72 | INancyEngine implementation 73 | 74 | 75 | 76 | Create a default, unconfigured, container 77 | 78 | Container instance 79 | 80 | 81 | 82 | Register the bootstrapper's implemented types into the container. 83 | This is necessary so a user can pass in a populated container but not have 84 | to take the responsibility of registering things like INancyModuleCatalog manually. 85 | 86 | Application container to register into 87 | 88 | 89 | 90 | Register the default implementations of internally used types into the container as singletons 91 | 92 | Container to register into 93 | Type registrations to register 94 | 95 | 96 | 97 | Register the various collections into the container as singletons to later be resolved 98 | by IEnumerable{Type} constructor dependencies. 99 | 100 | Container to register into 101 | Collection type registrations to register 102 | 103 | 104 | 105 | Register the given module types into the container 106 | 107 | Container to register into 108 | NancyModule types 109 | 110 | 111 | 112 | Register the given instances into the container 113 | 114 | Container to register into 115 | Instance registration types 116 | 117 | 118 | 119 | Gets all request startup tasks 120 | 121 | 122 | 123 | 124 | Bridges the communication between Nancy and ASP.NET based hosting. 125 | 126 | 127 | 128 | 129 | Initializes a new instance of the type for the specified . 130 | 131 | An instance, that should be used by the handler. 132 | 133 | 134 | 135 | Processes the ASP.NET request with Nancy. 136 | 137 | The of the request. 138 | 139 | 140 | 141 | 142 | 143 | Registers the dependency as per request lifetime 144 | 145 | Register options 146 | Register options 147 | 148 | 149 | 150 | Registers each item in the collection as per request lifetime 151 | 152 | Register options 153 | Register options 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /packages/Nancy.Hosting.Self.1.2.0/Nancy.Hosting.Self.1.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Nancy.Hosting.Self.1.2.0/Nancy.Hosting.Self.1.2.0.nupkg -------------------------------------------------------------------------------- /packages/Nancy.Hosting.Self.1.2.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/Nancy.Hosting.Self.1.2.0/lib/net40/Nancy.Hosting.Self.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Nancy.Hosting.Self.1.2.0/lib/net40/Nancy.Hosting.Self.dll -------------------------------------------------------------------------------- /packages/Nancy.Hosting.Self.1.2.0/lib/net40/Nancy.Hosting.Self.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Nancy.Hosting.Self 5 | 6 | 7 | 8 | 9 | A helper class that checks for a header against a list of headers that should be ignored 10 | when populating the headers of an object. 11 | 12 | 13 | 14 | 15 | Determines if a header is ignored when populating the headers of an 16 | object. 17 | 18 | The name of the header. 19 | true if the header is ignored; otherwise, false. 20 | 21 | 22 | 23 | Configuration for automatic url reservation creation 24 | 25 | 26 | 27 | 28 | Gets or sets a value indicating whether url reservations 29 | are automatically created when necessary. 30 | Defaults to false. 31 | 32 | 33 | 34 | 35 | Gets or sets a value for the user to use to create the url reservations for. 36 | Defaults to the "Everyone" group. 37 | 38 | 39 | 40 | 41 | Helpers for UAC 42 | 43 | 44 | 45 | 46 | Run an executable elevated 47 | 48 | File to execute 49 | Arguments to pass to the executable 50 | True if successful, false otherwise 51 | 52 | 53 | 54 | Host configuration for the self host 55 | 56 | 57 | 58 | 59 | Gets or sets a property that determines if localhost uris are 60 | rewritten to htp://+:port/ style uris to allow for listening on 61 | all ports, but requiring either a url reservation, or admin 62 | access 63 | Defaults to true. 64 | 65 | 66 | 67 | 68 | Configuration around automatically creating url reservations 69 | 70 | 71 | 72 | 73 | Gets or sets a property that determines if Transfer-Encoding: Chunked is allowed 74 | for the response instead of Content-Length (default: true). 75 | 76 | 77 | 78 | 79 | Gets or sets a property that provides a callback to be called 80 | if there's an unhandled exception in the self host. 81 | Note: this will *not* be called for normal nancy Exceptions 82 | that are handled by the Nancy handlers. 83 | Defaults to writing to debug out. 84 | 85 | 86 | 87 | 88 | Gets or sets a property that determines whether client certificates 89 | are enabled or not. 90 | When set to true the self host will request a client certificate if the 91 | request is running over SSL. 92 | Defaults to false. 93 | 94 | 95 | 96 | 97 | Gets or sets a property determining if base uri matching can fall back to just 98 | using Authority (Schema + Host + Port) as base uri if it cannot match anything in 99 | the known list. This should only be set to True if you have issues with port forwarding 100 | (e.g. on Azure). 101 | 102 | 103 | 104 | 105 | Allows to host Nancy server inside any application - console or windows service. 106 | 107 | 108 | NancyHost uses internally. Therefore, it requires full .net 4.0 profile (not client profile) 109 | to run. will launch a thread that will listen for requests and then process them. Each request is processed in 110 | its own execution thread. NancyHost needs in order to be used from another appdomain under 111 | mono. Working with AppDomains is necessary if you want to unload the dependencies that come with NancyHost. 112 | 113 | 114 | 115 | 116 | Initializes a new instance of the class for the specified . 117 | Uses the default configuration 118 | 119 | The s that the host will listen to. 120 | 121 | 122 | 123 | Initializes a new instance of the class for the specified . 124 | Uses the specified configuration. 125 | 126 | The s that the host will listen to. 127 | Configuration to use 128 | 129 | 130 | 131 | Initializes a new instance of the class for the specified , using 132 | the provided . 133 | Uses the default configuration 134 | 135 | The bootstrapper that should be used to handle the request. 136 | The s that the host will listen to. 137 | 138 | 139 | 140 | Initializes a new instance of the class for the specified , using 141 | the provided . 142 | Uses the specified configuration. 143 | 144 | The bootstrapper that should be used to handle the request. 145 | Configuration to use 146 | The s that the host will listen to. 147 | 148 | 149 | 150 | Initializes a new instance of the class for the specified , using 151 | the provided . 152 | Uses the default configuration 153 | 154 | The that the host will listen to. 155 | The bootstrapper that should be used to handle the request. 156 | 157 | 158 | 159 | Initializes a new instance of the class for the specified , using 160 | the provided . 161 | Uses the specified configuration. 162 | 163 | The that the host will listen to. 164 | The bootstrapper that should be used to handle the request. 165 | Configuration to use 166 | 167 | 168 | 169 | Stops the host if it is running. 170 | 171 | 172 | 173 | 174 | Start listening for incoming requests with the given configuration 175 | 176 | 177 | 178 | 179 | Stop listening for incoming requests. 180 | 181 | 182 | 183 | 184 | Executes NetSh commands 185 | 186 | 187 | 188 | 189 | Add a url reservation 190 | 191 | Url to add 192 | User to add the reservation for 193 | True if successful, false otherwise. 194 | 195 | 196 | 197 | Exception for when automatic address reservation creation fails. 198 | Provides the user with manual instructions. 199 | 200 | 201 | 202 | 203 | Gets a message that describes the current exception. 204 | 205 | 206 | The error message that explains the reason for the exception, or an empty string(""). 207 | 208 | 1 209 | 210 | 211 | 212 | Extension methods for working with instances. 213 | 214 | 215 | 216 | 217 | -------------------------------------------------------------------------------- /packages/Nancy.Testing.1.2.0/Nancy.Testing.1.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Nancy.Testing.1.2.0/Nancy.Testing.1.2.0.nupkg -------------------------------------------------------------------------------- /packages/Nancy.Testing.1.2.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/Nancy.Testing.1.2.0/lib/net40/Nancy.Testing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/Nancy.Testing.1.2.0/lib/net40/Nancy.Testing.dll -------------------------------------------------------------------------------- /packages/mongocsharpdriver.2.0.0/License.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\fswiss\fprq2\fcharset0 Calibri;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 6.2.9200}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 4 | \pard\widctlpar\f0\fs20 Copyright 2010-2014 MongoDB Inc.\par 5 | \par 6 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\par 7 | \par 8 | {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }}{\fldrslt{http://www.apache.org/licenses/LICENSE-2.0\ul0\cf0}}}}\f0\fs20\par 9 | \par 10 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\par 11 | 12 | \pard\widctlpar\sa200\sl276\slmult1\f1\fs22\par 13 | } 14 | -------------------------------------------------------------------------------- /packages/mongocsharpdriver.2.0.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/mongocsharpdriver.2.0.0/lib/net45/MongoDB.Driver.Legacy.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/mongocsharpdriver.2.0.0/lib/net45/MongoDB.Driver.Legacy.dll -------------------------------------------------------------------------------- /packages/mongocsharpdriver.2.0.0/mongocsharpdriver.2.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/mongocsharpdriver.2.0.0/mongocsharpdriver.2.0.0.nupkg -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /packages/xunit.2.0.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/xunit.2.0.0/xunit.2.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.2.0.0/xunit.2.0.0.nupkg -------------------------------------------------------------------------------- /packages/xunit.abstractions.2.0.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/xunit.abstractions.2.0.0/lib/net35/xunit.abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.abstractions.2.0.0/lib/net35/xunit.abstractions.dll -------------------------------------------------------------------------------- /packages/xunit.abstractions.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.abstractions.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll -------------------------------------------------------------------------------- /packages/xunit.abstractions.2.0.0/xunit.abstractions.2.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.abstractions.2.0.0/xunit.abstractions.2.0.0.nupkg -------------------------------------------------------------------------------- /packages/xunit.assert.2.0.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/xunit.assert.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.assert.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.assert.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.assert.dll -------------------------------------------------------------------------------- /packages/xunit.assert.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.assert.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.assert.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.assert.pdb -------------------------------------------------------------------------------- /packages/xunit.assert.2.0.0/xunit.assert.2.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.assert.2.0.0/xunit.assert.2.0.0.nupkg -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/Xamarin.iOS/xunit.core.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | %(Filename)%(Extension) 6 | PreserveNewest 7 | False 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/Xamarin.iOS/xunit.execution.iOS-Universal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.core.2.0.0/build/Xamarin.iOS/xunit.execution.iOS-Universal.dll -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/_Desktop/xunit.execution.desktop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.core.2.0.0/build/_Desktop/xunit.execution.desktop.dll -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/monoandroid/xunit.core.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | %(Filename)%(Extension) 6 | PreserveNewest 7 | False 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/monoandroid/xunit.execution.MonoAndroid.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.core.2.0.0/build/monoandroid/xunit.execution.MonoAndroid.dll -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/monotouch/xunit.core.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | %(Filename)%(Extension) 6 | PreserveNewest 7 | False 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/monotouch/xunit.execution.MonoTouch.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.core.2.0.0/build/monotouch/xunit.execution.MonoTouch.dll -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.core.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | %(Filename)%(Extension) 6 | PreserveNewest 7 | False 8 | 9 | 10 | xunit.execution.desktop.dll 11 | PreserveNewest 12 | False 13 | 14 | 15 | -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/portable-win81+wpa81/xunit.core.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | %(Filename)%(Extension) 6 | PreserveNewest 7 | False 8 | 9 | 10 | xunit.execution.desktop.dll 11 | PreserveNewest 12 | False 13 | 14 | 15 | -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/portable-win81+wpa81/xunit.core.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | xunit.execution.universal.dll 7 | 8 | 9 | xunit.execution.universal.pri 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/portable-win81+wpa81/xunit.execution.universal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.core.2.0.0/build/portable-win81+wpa81/xunit.execution.universal.dll -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/portable-win81+wpa81/xunit.execution.universal.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.core.2.0.0/build/portable-win81+wpa81/xunit.execution.universal.pri -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/win8/xunit.core.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | %(Filename)%(Extension) 6 | PreserveNewest 7 | False 8 | 9 | 10 | xunit.execution.desktop.dll 11 | PreserveNewest 12 | False 13 | 14 | 15 | -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/win8/xunit.core.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | xunit.execution.win8.dll 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/win8/xunit.execution.win8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.core.2.0.0/build/win8/xunit.execution.win8.dll -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/wp8/xunit.core.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | %(Filename)%(Extension) 6 | PreserveNewest 7 | False 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/wp8/xunit.core.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | xunit.execution.wp8.dll 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/build/wp8/xunit.execution.wp8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.core.2.0.0/build/wp8/xunit.execution.wp8.dll -------------------------------------------------------------------------------- /packages/xunit.core.2.0.0/xunit.core.2.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.core.2.0.0/xunit.core.2.0.0.nupkg -------------------------------------------------------------------------------- /packages/xunit.extensibility.core.2.0.0/[Content_Types].xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /packages/xunit.extensibility.core.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.extensibility.core.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.core.dll -------------------------------------------------------------------------------- /packages/xunit.extensibility.core.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.core.dll.tdnet: -------------------------------------------------------------------------------- 1 | 2 | xUnit.net {0}.{1}.{2} build {3} 3 | xunit.runner.tdnet.dll 4 | Xunit.Runner.TdNet.TdNetRunner 5 | -------------------------------------------------------------------------------- /packages/xunit.extensibility.core.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.core.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.extensibility.core.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.core.pdb -------------------------------------------------------------------------------- /packages/xunit.extensibility.core.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | xunit.core 5 | 6 | 7 | 8 | 9 | Rethrows an exception object without losing the existing stack trace information 10 | 11 | The exception to re-throw. 12 | 13 | For more information on this technique, see 14 | http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx. 15 | The remote_stack_trace string is here to support Mono. 16 | 17 | 18 | 19 | 20 | Unwraps an exception to remove any wrappers, like . 21 | 22 | The exception to unwrap. 23 | The unwrapped exception. 24 | 25 | 26 | 27 | Guard class, used for guard clauses and argument validation 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | Indicates the default display name format for test methods. 42 | 43 | 44 | 45 | 46 | Use a fully qualified name (namespace + class + method) 47 | 48 | 49 | 50 | 51 | Use just the method name (without class) 52 | 53 | 54 | 55 | 56 | Formats arguments for display in theories. 57 | 58 | 59 | 60 | 61 | Format the value for presentation. 62 | 63 | The value to be formatted. 64 | The formatted value. 65 | 66 | 67 | 68 | Default implementation of used by the xUnit.net equality assertions. 69 | 70 | The type that is being compared. 71 | 72 | 73 | 74 | Initializes a new instance of the class. 75 | 76 | Set to true to skip type equality checks. 77 | The inner comparer to be used when the compared objects are enumerable. 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | A class that wraps to create . 88 | 89 | The type that is being compared. 90 | 91 | 92 | 93 | Initializes a new instance of the class. 94 | 95 | The comparer that is being adapted. 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | Used to declare a specific test collection for a test class. 106 | 107 | 108 | 109 | 110 | Initializes a new instance of the class. 111 | 112 | The test collection name. 113 | 114 | 115 | 116 | Defines the built-in behavior types for collections in xUnit.net. 117 | 118 | 119 | 120 | 121 | By default, generates a collection per assembly, and any test classes that are not 122 | decorated with will be placed into the assembly-level 123 | collection. 124 | 125 | 126 | 127 | 128 | By default, generates a collection per test class for any test classes that are not 129 | decorated with . 130 | 131 | 132 | 133 | 134 | Used to declare a the default test collection behavior for the assembly. 135 | 136 | 137 | 138 | 139 | Initializes a new instance of the class. 140 | 141 | 142 | 143 | 144 | Initializes a new instance of the class. 145 | 146 | The collection behavior for the assembly. 147 | 148 | 149 | 150 | Initializes a new instance of the class. 151 | 152 | The type name of the test collection factory (that implements ). 153 | The assembly that exists in. 154 | 155 | 156 | 157 | Determines whether tests in this assembly are run in parallel. 158 | 159 | 160 | 161 | 162 | Determines how many tests can run in parallel with each other. 163 | 164 | 165 | 166 | 167 | Used to declare a test collection container class. The container class gives 168 | developers a place to attach interfaces like and 169 | that will be applied to all tests classes 170 | that are members of the test collection. 171 | 172 | 173 | 174 | 175 | Initializes a new instance of the class. 176 | 177 | The test collection name. 178 | 179 | 180 | 181 | Attribute that is applied to a method to indicate that it is a fact that should be run 182 | by the test runner. It can also be extended to support a customized definition of a 183 | test method. 184 | 185 | 186 | 187 | 188 | Gets the name of the test to be used when the test is skipped. Defaults to 189 | null, which will cause the fully qualified test name to be used. 190 | 191 | 192 | 193 | 194 | Marks the test so that it will not be run, and gets or sets the skip reason 195 | 196 | 197 | 198 | 199 | Used to decorate xUnit.net test classes and collections to indicate a test which has 200 | per-test-class fixture data. An instance of the fixture data is initialized just before 201 | the first test in the class is run, and if it implements IDisposable, is disposed 202 | after the last test in the class is run. To gain access to the fixture data from 203 | inside the test, a constructor argument should be added to the test class which 204 | exactly matches the . 205 | 206 | The type of the fixture. 207 | 208 | 209 | 210 | Used to decorate xUnit.net test classes and collections to indicate a test which has 211 | per-test-collection fixture data. An instance of the fixture data is initialized just before 212 | the first test in the collection is run, and if it implements IDisposable, is disposed 213 | after the last test in the collection is run. To gain access to the fixture data from 214 | inside the test, a constructor argument should be added to the test class which 215 | exactly matches the . 216 | 217 | The type of the fixture. 218 | 219 | 220 | 221 | Provides a data source for a data theory, with the data coming from inline values. 222 | 223 | 224 | 225 | 226 | Abstract attribute which represents a data source for a data theory. 227 | Data source providers derive from this attribute and implement GetData 228 | to return the data for the theory. 229 | 230 | 231 | 232 | 233 | Returns the data to be used to test the theory. 234 | 235 | The method that is being tested 236 | One or more sets of theory data. Each invocation of the test method 237 | is represented by a single object array. 238 | 239 | 240 | 241 | Initializes a new instance of the class. 242 | 243 | The data values to pass to the theory. 244 | 245 | 246 | 247 | 248 | 249 | 250 | A class implements this interface to participate in ordering tests 251 | for the test runner. Test collection orderers are applied using the 252 | , which can be applied at 253 | the assembly level. 254 | 255 | 256 | 257 | 258 | Orders test collections for execution. 259 | 260 | The test collections to be ordered. 261 | The test collections in the order to be run. 262 | 263 | 264 | 265 | Provides a data source for a data theory, with the data coming from one of the following sources: 266 | 1. A static property 267 | 2. A static field 268 | 3. A static method (with parameters) 269 | The member must return something compatible with IEnumerable<object[]> with the test data. 270 | 271 | 272 | 273 | 274 | Provides a base class for attributes that will provide member data. The member data must return 275 | something compatible with . 276 | 277 | 278 | 279 | 280 | Initializes a new instance of the class. 281 | 282 | The name of the public static member on the test class that will provide the test data 283 | The parameters for the member (only supported for methods; ignored for everything else) 284 | 285 | 286 | 287 | 288 | 289 | 290 | Converts an item yielded by the data member to an object array, for return from . 291 | 292 | The method that is being tested. 293 | An item yielded from the data member. 294 | An suitable for return from . 295 | 296 | 297 | 298 | Returns true if the data attribute wants to skip enumerating data during discovery. 299 | This will cause the theory to yield a single test case for all data, and the data discovery 300 | will be during test execution instead of discovery. 301 | 302 | 303 | 304 | 305 | Gets the member name. 306 | 307 | 308 | 309 | 310 | Gets or sets the type to retrieve the member from. If not set, then the property will be 311 | retrieved from the unit test class. 312 | 313 | 314 | 315 | 316 | Gets or sets the parameters passed to the member. Only supported for static methods. 317 | 318 | 319 | 320 | 321 | Initializes a new instance of the class. 322 | 323 | The name of the public static member on the test class that will provide the test data 324 | The parameters for the member (only supported for methods; ignored for everything else) 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | Allows the user to record actions for a test. 341 | 342 | 343 | 344 | 345 | Records any exception which is thrown by the given code. 346 | 347 | The code which may thrown an exception. 348 | Returns the exception that was thrown by the code; null, otherwise. 349 | 350 | 351 | 352 | Records any exception which is thrown by the given code that has 353 | a return value. Generally used for testing property accessors. 354 | 355 | The code which may thrown an exception. 356 | Returns the exception that was thrown by the code; null, otherwise. 357 | 358 | 359 | 360 | 361 | 362 | 363 | Records any exception which is thrown by the given task. 364 | 365 | The task which may thrown an exception. 366 | Returns the exception that was thrown by the code; null, otherwise. 367 | 368 | 369 | 370 | 371 | 372 | 373 | Base attribute which indicates a test method interception (allows code to be run before and 374 | after the test is run). 375 | 376 | 377 | 378 | 379 | This method is called after the test method is executed. 380 | 381 | The method under test 382 | 383 | 384 | 385 | This method is called before the test method is executed. 386 | 387 | The method under test 388 | 389 | 390 | 391 | Implementation of for discovering . 392 | 393 | 394 | 395 | 396 | Default implementation of . Uses reflection to find the 397 | data associated with ; may return null when called 398 | without reflection-based abstraction implementations. 399 | 400 | 401 | 402 | 403 | This class is responsible for discovering the data available in an implementation 404 | of . The discovery process may not always have access 405 | to reflection (i.e., running in Resharper), so the discoverer must make a best 406 | effort to return data, but may return null when there is not enough information 407 | available (for example, if reflection is required to answer the question). 408 | 409 | 410 | 411 | 412 | Returns the data to be used to test the theory. 413 | 414 | 415 | This will be called during 416 | discovery, at which point the may or may not 417 | be backed by reflection (i.e., implementing ). 418 | If the data is not available because reflection is required, then you may return 419 | null to inform xUnit that the quantity of data is unknown at this point. 420 | When the tests are run, if you returned back null during discovery, then this method 421 | will be called again to retrieve the data, this time guaranteed to provide 422 | an implementation of . At this time, you 423 | must return the actual data, and returning null is not legal. 424 | 425 | The data attribute being discovered 426 | The method that is being tested/discovered 427 | The theory data (or null during discovery, if not enough 428 | information is available to enumerate the data) 429 | 430 | 431 | 432 | Returns true if the data attribute supports enumeration during 433 | discovery; false otherwise. Data attributes with expensive computational 434 | costs should return false. 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | An attribute used to decorate classes which derive from , 449 | to indicate how data elements should be discovered. 450 | 451 | 452 | 453 | 454 | Initializes an instance of . 455 | 456 | The fully qualified type name of the discoverer 457 | (f.e., 'Xunit.Sdk.DataDiscoverer') 458 | The name of the assembly that the discoverer type 459 | is located in, without file extension (f.e., 'xunit.execution') 460 | 461 | 462 | 463 | Aggregates exceptions. Intended to run one or more code blocks, and collect the 464 | exceptions thrown by those code blocks. 465 | 466 | 467 | 468 | 469 | Initializes a new instance of the class. 470 | 471 | 472 | 473 | 474 | Initializes a new instance of the class that 475 | contains the exception list of its parent. 476 | 477 | The parent aggregator to copy exceptions from. 478 | 479 | 480 | 481 | Adds an exception to the aggregator. 482 | 483 | The exception to be added. 484 | 485 | 486 | 487 | Adds exceptions from another aggregator into this aggregator. 488 | 489 | The aggregator whose exceptions should be copied. 490 | 491 | 492 | 493 | Clears the aggregator. 494 | 495 | 496 | 497 | 498 | Runs the code, catching the exception that is thrown and adding it to 499 | the aggregate. 500 | 501 | The code to be run. 502 | 503 | 504 | 505 | Runs the code, catching the exception that is thrown and adding it to 506 | the aggregate. 507 | 508 | The code to be run. 509 | 510 | 511 | 512 | Runs the code, catching the exception that is thrown and adding it to 513 | the aggregate. 514 | 515 | The code to be run. 516 | 517 | 518 | 519 | Returns an exception that represents the exceptions thrown by the code 520 | passed to the or method. 521 | 522 | Returns null if no exceptions were thrown; returns the 523 | exact exception is a single exception was thrown; returns 524 | if more than one exception was thrown. 525 | 526 | 527 | 528 | Returns true if the aggregator has at least one exception inside it. 529 | 530 | 531 | 532 | 533 | Used by discovery, execution, and extensibility code to send messages to the runner. 534 | 535 | 536 | 537 | 538 | Queues a message to be sent to the runner. 539 | 540 | The message to be sent to the runner 541 | 542 | Returns true if discovery/execution should continue; false, otherwise. 543 | The return value may be safely ignored by components which are not directly responsible 544 | for discovery or execution, and this is intended to communicate to those sub-systems that 545 | that they should short circuit and stop their work as quickly as is reasonable. 546 | 547 | 548 | 549 | 550 | Implementation of used to discover the data 551 | provided by . 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | A class implements this interface to participate in ordering tests 563 | for the test runner. Test case orderers are applied using the 564 | , which can be applied at 565 | the assembly, test collection, and test class level. 566 | 567 | 568 | 569 | 570 | Orders test cases for execution. 571 | 572 | The test cases to be ordered. 573 | The test cases in the order to be run. 574 | 575 | 576 | 577 | Marker interface that must be implemented by test framework attributes, so 578 | that the test framework attribute discoverer can find them. 579 | 580 | 581 | 582 | 583 | Interface to be implemented by classes which are used to discover the test framework. 584 | 585 | 586 | 587 | 588 | Gets the type that implements to be used to discover 589 | and run tests. 590 | 591 | The test framework attribute that decorated the assembly 592 | The test framework type 593 | 594 | 595 | 596 | Marker interface used by attributes which provide trait data. 597 | 598 | 599 | 600 | 601 | This interface is implemented by discoverers that provide trait values to 602 | xUnit.net v2 tests. 603 | 604 | 605 | 606 | 607 | Gets the trait values from the trait attribute. 608 | 609 | The trait attribute containing the trait values. 610 | The trait values. 611 | 612 | 613 | 614 | Interface to be implemented by classes which are used to discover tests cases attached 615 | to test methods that are attributed with (or a subclass). 616 | 617 | 618 | 619 | 620 | Discover test cases from a test method. 621 | 622 | The discovery options to be used. 623 | The test method the test cases belong to. 624 | The fact attribute attached to the test method. 625 | Returns zero or more test cases represented by the test method. 626 | 627 | 628 | 629 | Represents a single test case from xUnit.net v2. 630 | 631 | 632 | 633 | 634 | Executes the test case, returning 0 or more result messages through the message sink. 635 | 636 | The message sink used to send diagnostic messages to. 637 | The message bus to report results to. 638 | The arguments to pass to the constructor. 639 | The error aggregator to use for catching exception. 640 | The cancellation token source that indicates whether cancellation has been requested. 641 | Returns the summary of the test case run. 642 | 643 | 644 | 645 | Gets the method to be run. Differs from . in that 646 | any generic argument types will have been closed based on the arguments. 647 | 648 | 649 | 650 | 651 | This interface is intended to be implemented by components which generate test collections. 652 | End users specify the desired test collection factory by applying 653 | at the assembly level. Classes which implement this interface must have a constructor 654 | that takes and . 655 | 656 | 657 | 658 | 659 | Gets the test collection for a given test class. 660 | 661 | The test class. 662 | The test collection. 663 | 664 | 665 | 666 | Gets the display name for the test collection factory. This information is shown to the end 667 | user as part of the description of the test environment. 668 | 669 | 670 | 671 | 672 | Marks an assembly as a platform specific assembly for use with xUnit.net. Type references from 673 | such assemblies are allowed to use a special suffix ("My.Assembly.{Platform}"), which will 674 | automatically be translated into the correct platform-specific name ("My.Assembly.desktop", 675 | "My.Assembly.win8", etc.). This affects both extensibility points which require specifying 676 | a string-based type name and assembly, as well as serialization. The supported platform target 677 | names include: 678 | "desktop" (for desktop and PCL tests), 679 | "iOS-Universal" (for Xamarin test projects targeting iOS), 680 | "MonoAndroid" (for Xamarin MonoAndroid tests), 681 | "MonoTouch" (for Xamarin MonoTouch tests), 682 | "universal" (for Windows Phone 8.1 and Windows 8.1 tests), 683 | "win8" (for Modern Windows 8 tests), and 684 | "wp8" (for Windows Phone 8 Silverlight tests). 685 | Note that file names may be case sensitive (when running on platforms with case sensitive 686 | file systems like Linux), so ensure that your assembly file name casing is consistent, and 687 | that you use the suffixes here with the exact case shown. 688 | 689 | 690 | 691 | 692 | Represents the statistical summary from a run of one or more tests. 693 | 694 | 695 | 696 | 697 | The total number of tests run. 698 | 699 | 700 | 701 | 702 | The number of failed tests. 703 | 704 | 705 | 706 | 707 | The number of skipped tests. 708 | 709 | 710 | 711 | 712 | The total time taken to run the tests, in seconds. 713 | 714 | 715 | 716 | 717 | Adds a run summary's totals into this run summary. 718 | 719 | The run summary to be added. 720 | 721 | 722 | 723 | Decorates an implementation of that is used to 724 | determine which test framework is used to discover and run tests. 725 | 726 | 727 | 728 | 729 | Initializes an instance of . 730 | 731 | The fully qualified type name of the discoverer 732 | (f.e., 'Xunit.Sdk.DataDiscoverer') 733 | The name of the assembly that the discoverer type 734 | is located in, without file extension (f.e., 'xunit.execution') 735 | 736 | 737 | 738 | An attribute used to decorate classes which derive from , 739 | to indicate how test cases should be discovered. 740 | 741 | 742 | 743 | 744 | Initializes an instance of the class. 745 | 746 | The fully qualified type name of the discoverer 747 | (f.e., 'Xunit.Sdk.FactDiscoverer') 748 | The name of the assembly that the discoverer type 749 | is located in, without file extension (f.e., 'xunit.execution') 750 | 751 | 752 | 753 | The implementation of which returns the trait values 754 | for . 755 | 756 | 757 | 758 | 759 | 760 | 761 | 762 | An attribute used to decorate classes which implement , 763 | to indicate how trait values should be discovered. The discoverer type must implement 764 | . 765 | 766 | 767 | 768 | 769 | Initializes an instance of . 770 | 771 | The fully qualified type name of the discoverer 772 | (f.e., 'Xunit.Sdk.TraitDiscoverer') 773 | The name of the assembly that the discoverer type 774 | is located in, without file extension (f.e., 'xunit.execution') 775 | 776 | 777 | 778 | Used to decorate an assembly to allow the use a custom . 779 | 780 | 781 | 782 | 783 | Initializes a new instance of the class. 784 | 785 | The type name of the orderer class (that implements ). 786 | The assembly that exists in. 787 | 788 | 789 | 790 | Used to decorate an assembly, test collection, or test class to allow 791 | the use a custom . 792 | 793 | 794 | 795 | 796 | Initializes a new instance of the class. 797 | 798 | The type name of the orderer class (that implements ). 799 | The assembly that exists in. 800 | 801 | 802 | 803 | Used to decorate an assembly to allow the use a custom . 804 | 805 | 806 | 807 | 808 | Initializes an instance of . 809 | 810 | The fully qualified type name of the test framework 811 | (f.e., 'Xunit.Sdk.XunitTestFramework') 812 | The name of the assembly that the test framework type 813 | is located in, without file extension (f.e., 'xunit.execution') 814 | 815 | 816 | 817 | Marks a test method as being a data theory. Data theories are tests which are fed 818 | various bits of data from a data source, mapping to parameters on the test method. 819 | If the data source contains multiple rows, then the test method is executed 820 | multiple times (once with each data row). Data is provided by attributes which 821 | derive from (notably, and 822 | ). 823 | 824 | 825 | 826 | 827 | Provides data for theories based on collection initialization syntax. 828 | 829 | 830 | 831 | 832 | Adds a row to the theory. 833 | 834 | The values to be added. 835 | 836 | 837 | 838 | 839 | 840 | 841 | 842 | 843 | 844 | Represents a set of data for a theory with a single parameter. Data can 845 | be added to the data set using the collection initializer syntax. 846 | 847 | The parameter type. 848 | 849 | 850 | 851 | Adds data to the theory data set. 852 | 853 | The data value. 854 | 855 | 856 | 857 | Represents a set of data for a theory with 2 parameters. Data can 858 | be added to the data set using the collection initializer syntax. 859 | 860 | The first parameter type. 861 | The second parameter type. 862 | 863 | 864 | 865 | Adds data to the theory data set. 866 | 867 | The first data value. 868 | The second data value. 869 | 870 | 871 | 872 | Represents a set of data for a theory with 3 parameters. Data can 873 | be added to the data set using the collection initializer syntax. 874 | 875 | The first parameter type. 876 | The second parameter type. 877 | The third parameter type. 878 | 879 | 880 | 881 | Adds data to the theory data set. 882 | 883 | The first data value. 884 | The second data value. 885 | The third data value. 886 | 887 | 888 | 889 | Represents a set of data for a theory with 3 parameters. Data can 890 | be added to the data set using the collection initializer syntax. 891 | 892 | The first parameter type. 893 | The second parameter type. 894 | The third parameter type. 895 | The fourth parameter type. 896 | 897 | 898 | 899 | Adds data to the theory data set. 900 | 901 | The first data value. 902 | The second data value. 903 | The third data value. 904 | The fourth data value. 905 | 906 | 907 | 908 | Represents a set of data for a theory with 3 parameters. Data can 909 | be added to the data set using the collection initializer syntax. 910 | 911 | The first parameter type. 912 | The second parameter type. 913 | The third parameter type. 914 | The fourth parameter type. 915 | The fifth parameter type. 916 | 917 | 918 | 919 | Adds data to the theory data set. 920 | 921 | The first data value. 922 | The second data value. 923 | The third data value. 924 | The fourth data value. 925 | The fifth data value. 926 | 927 | 928 | 929 | Attribute used to decorate a test method with arbitrary name/value pairs ("traits"). 930 | 931 | 932 | 933 | 934 | Creates a new instance of the class. 935 | 936 | The trait name 937 | The trait value 938 | 939 | 940 | 941 | -------------------------------------------------------------------------------- /packages/xunit.extensibility.core.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.runner.tdnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.extensibility.core.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.runner.tdnet.dll -------------------------------------------------------------------------------- /packages/xunit.extensibility.core.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.runner.utility.desktop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.extensibility.core.2.0.0/lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.runner.utility.desktop.dll -------------------------------------------------------------------------------- /packages/xunit.extensibility.core.2.0.0/xunit.extensibility.core.2.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horsdal/ShortURL/c6cf54ff691c5664424f47f96ab1c499ef1362a0/packages/xunit.extensibility.core.2.0.0/xunit.extensibility.core.2.0.0.nupkg --------------------------------------------------------------------------------