Update it all, VisualStudio Changes
This commit is contained in:
parent
2a0c6f9e45
commit
b8814259b5
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -0,0 +1,96 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.30723.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Exercism.csharp", "csharp\Exercism.csharp.csproj", "{FEF69435-D885-45DD-A446-04FD3BD3F593}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{49E23A58-0B98-4EA8-B09F-B0E0046858C6}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.gitattributes = .gitattributes
|
||||
.gitignore = .gitignore
|
||||
LICENSE = LICENSE
|
||||
README.md = README.md
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Exercism.coffeescript", "coffeescript\Exercism.coffeescript.csproj", "{E312906C-B57F-4D93-9A55-540D2D0ABBB1}"
|
||||
EndProject
|
||||
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Exercism.fsharp", "fsharp\Exercism.fsharp.fsproj", "{F7E8E67C-3CFA-4B46-A2B6-956263649501}"
|
||||
EndProject
|
||||
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "Exercism.python", "python\Exercism.python.pyproj", "{1B5FBA75-26DD-4737-9104-5B485DB26457}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Exercism.cpp", "cpp\Exercism.cpp.vcxproj", "{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Exercism.javascript", "javascript\Exercism.javascript.csproj", "{E312906C-B57F-4D93-9A55-540D2D0ABBB2}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|Mixed Platforms = Debug|Mixed Platforms
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|Mixed Platforms = Release|Mixed Platforms
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{FEF69435-D885-45DD-A446-04FD3BD3F593}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FEF69435-D885-45DD-A446-04FD3BD3F593}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FEF69435-D885-45DD-A446-04FD3BD3F593}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{FEF69435-D885-45DD-A446-04FD3BD3F593}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{FEF69435-D885-45DD-A446-04FD3BD3F593}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||
{FEF69435-D885-45DD-A446-04FD3BD3F593}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FEF69435-D885-45DD-A446-04FD3BD3F593}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FEF69435-D885-45DD-A446-04FD3BD3F593}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FEF69435-D885-45DD-A446-04FD3BD3F593}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FEF69435-D885-45DD-A446-04FD3BD3F593}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB1}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB1}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||
{F7E8E67C-3CFA-4B46-A2B6-956263649501}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F7E8E67C-3CFA-4B46-A2B6-956263649501}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F7E8E67C-3CFA-4B46-A2B6-956263649501}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{F7E8E67C-3CFA-4B46-A2B6-956263649501}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{F7E8E67C-3CFA-4B46-A2B6-956263649501}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||
{F7E8E67C-3CFA-4B46-A2B6-956263649501}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F7E8E67C-3CFA-4B46-A2B6-956263649501}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F7E8E67C-3CFA-4B46-A2B6-956263649501}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{F7E8E67C-3CFA-4B46-A2B6-956263649501}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{F7E8E67C-3CFA-4B46-A2B6-956263649501}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||
{1B5FBA75-26DD-4737-9104-5B485DB26457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1B5FBA75-26DD-4737-9104-5B485DB26457}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{1B5FBA75-26DD-4737-9104-5B485DB26457}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||
{1B5FBA75-26DD-4737-9104-5B485DB26457}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1B5FBA75-26DD-4737-9104-5B485DB26457}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{1B5FBA75-26DD-4737-9104-5B485DB26457}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||
{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}.Release|Win32.Build.0 = Release|Win32
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB2}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{E312906C-B57F-4D93-9A55-540D2D0ABBB2}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
Binary file not shown.
|
@ -0,0 +1,138 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>
|
||||
</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{E312906C-B57F-4D93-9A55-540D2D0ABBB1}</ProjectGuid>
|
||||
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Exercism.coffeescript</RootNamespace>
|
||||
<AssemblyName>Exercism.coffeescript</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressAnonymousAuthentication />
|
||||
<IISExpressWindowsAuthentication />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
<UseGlobalApplicationHostFile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="nunit.framework, Version=2.6.3.13283, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NUnit.2.6.3\lib\nunit.framework.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="example\example.coffee" />
|
||||
<Content Include="example\example.js">
|
||||
<DependentUpon>example.coffee</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="example\example.min.js">
|
||||
<DependentUpon>example.js</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="example\example_test.spec.coffee" />
|
||||
<Content Include="example\example_test.spec.js">
|
||||
<DependentUpon>example_test.spec.coffee</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="example\example_test.spec.min.js">
|
||||
<DependentUpon>example_test.spec.js</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="test.bat" />
|
||||
<Content Include="example\example.js.map">
|
||||
<DependentUpon>example.js</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="example\example.min.js.map">
|
||||
<DependentUpon>example.min.js</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="example\example_test.spec.js.map">
|
||||
<DependentUpon>example_test.spec.js</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="example\example_test.spec.min.js.map">
|
||||
<DependentUpon>example_test.spec.min.js</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="packages.config" />
|
||||
<None Include="Web.Debug.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</None>
|
||||
<None Include="Web.Release.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Web.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>True</UseIIS>
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>61433</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>http://localhost:61433/</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>False</UseCustomServer>
|
||||
<CustomServerUrl>
|
||||
</CustomServerUrl>
|
||||
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<StartPageUrl>
|
||||
</StartPageUrl>
|
||||
<StartAction>CurrentPage</StartAction>
|
||||
<AspNetDebugging>True</AspNetDebugging>
|
||||
<SilverlightDebugging>False</SilverlightDebugging>
|
||||
<NativeDebugging>False</NativeDebugging>
|
||||
<SQLDebugging>False</SQLDebugging>
|
||||
<ExternalProgram>
|
||||
</ExternalProgram>
|
||||
<StartExternalURL>
|
||||
</StartExternalURL>
|
||||
<StartCmdLineArguments>
|
||||
</StartCmdLineArguments>
|
||||
<StartWorkingDirectory>
|
||||
</StartWorkingDirectory>
|
||||
<EnableENC>True</EnableENC>
|
||||
<AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
|
@ -0,0 +1,27 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Exercism.coffeescript")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Exercism.coffeescript")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2014")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<!--
|
||||
In the example below, the "SetAttributes" transform will change the value of
|
||||
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
|
||||
finds an attribute "name" that has a value of "MyDB".
|
||||
|
||||
<connectionStrings>
|
||||
<add name="MyDB"
|
||||
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
|
||||
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
|
||||
</connectionStrings>
|
||||
-->
|
||||
<system.web>
|
||||
<!--
|
||||
In the example below, the "Replace" transform will replace the entire
|
||||
<customErrors> section of your web.config file.
|
||||
Note that because there is only one customErrors section under the
|
||||
<system.web> node, there is no need to use the "xdt:Locator" attribute.
|
||||
|
||||
<customErrors defaultRedirect="GenericError.htm"
|
||||
mode="RemoteOnly" xdt:Transform="Replace">
|
||||
<error statusCode="500" redirect="InternalError.htm"/>
|
||||
</customErrors>
|
||||
-->
|
||||
</system.web>
|
||||
</configuration>
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<!--
|
||||
In the example below, the "SetAttributes" transform will change the value of
|
||||
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
|
||||
finds an attribute "name" that has a value of "MyDB".
|
||||
|
||||
<connectionStrings>
|
||||
<add name="MyDB"
|
||||
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
|
||||
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
|
||||
</connectionStrings>
|
||||
-->
|
||||
<system.web>
|
||||
<compilation xdt:Transform="RemoveAttributes(debug)" />
|
||||
<!--
|
||||
In the example below, the "Replace" transform will replace the entire
|
||||
<customErrors> section of your web.config file.
|
||||
Note that because there is only one customErrors section under the
|
||||
<system.web> node, there is no need to use the "xdt:Locator" attribute.
|
||||
|
||||
<customErrors defaultRedirect="GenericError.htm"
|
||||
mode="RemoteOnly" xdt:Transform="Replace">
|
||||
<error statusCode="500" redirect="InternalError.htm"/>
|
||||
</customErrors>
|
||||
-->
|
||||
</system.web>
|
||||
</configuration>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
For more information on how to configure your ASP.NET application, please visit
|
||||
http://go.microsoft.com/fwlink/?LinkId=169433
|
||||
-->
|
||||
<configuration>
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.5" />
|
||||
<httpRuntime targetFramework="4.5" />
|
||||
</system.web>
|
||||
</configuration>
|
Binary file not shown.
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
For more information on how to configure your ASP.NET application, please visit
|
||||
http://go.microsoft.com/fwlink/?LinkId=169433
|
||||
-->
|
||||
<configuration>
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.5" />
|
||||
<httpRuntime targetFramework="4.5" />
|
||||
</system.web>
|
||||
</configuration>
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,5 @@
|
|||
class Example
|
||||
add: (x, y) -> x + y
|
||||
|
||||
module.exports = Example
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
Example = require "./example"
|
||||
describe "Example", ->
|
||||
example = new Example()
|
||||
it "add 2 and 2", ->
|
||||
result = example.add 2, 2
|
||||
expect(result).toEqual 4
|
||||
|
||||
it "add 12 and 24", ->
|
||||
result = example.add 12, 24
|
||||
expect(result).toEqual 36
|
||||
|
||||
it "add 100 and 1", ->
|
||||
result = example.add 100, 1
|
||||
expect(result).toEqual 101
|
||||
|
||||
it "add 2 and -2", ->
|
||||
result = example.add 2, -2
|
||||
expect(result).toEqual 0
|
Binary file not shown.
|
@ -0,0 +1,8 @@
|
|||
C:\Users\brbuller\Development\exercism\coffeescript\bin\Exercism.coffeescript.dll.config
|
||||
C:\Users\brbuller\Development\exercism\coffeescript\bin\Exercism.coffeescript.dll
|
||||
C:\Users\brbuller\Development\exercism\coffeescript\bin\Exercism.coffeescript.pdb
|
||||
C:\Users\brbuller\Development\exercism\coffeescript\obj\Debug\Exercism.coffeescript.csprojResolveAssemblyReference.cache
|
||||
C:\Users\brbuller\Development\exercism\coffeescript\obj\Debug\Exercism.coffeescript.dll
|
||||
C:\Users\brbuller\Development\exercism\coffeescript\obj\Debug\Exercism.coffeescript.pdb
|
||||
C:\Users\brbuller\Development\exercism\coffeescript\bin\nunit.framework.dll
|
||||
C:\Users\brbuller\Development\exercism\coffeescript\bin\nunit.framework.xml
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="NUnit" version="2.6.3" targetFramework="net45" />
|
||||
</packages>
|
|
@ -0,0 +1,3 @@
|
|||
@echo off
|
||||
|
||||
jasmine-node --coffee %1
|
|
@ -0,0 +1 @@
|
|||
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140\Toolset.targets(34,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution".
|
|
@ -0,0 +1,5 @@
|
|||
// Exercism.cpp : Defines the entry point for the console application.
|
||||
|
||||
#include "targetver.h"
|
||||
#define BOOST_TEST_MAIN
|
||||
#include <boost/test/unit_test.hpp>
|
|
@ -0,0 +1,96 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{21FA5FBF-7C7D-4F21-B9CF-4BF918BEBD5B}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>Exercismcpp</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(BOOST_ROOT);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(BOOST_ROOT)\stage\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(BOOST_ROOT);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>$(BOOST_ROOT)\stage\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="example\example.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="example\example_test.cpp" />
|
||||
<ClCompile Include="Exercism.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="targetver.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="example\example.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Exercism.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="example\example_test.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,10 @@
|
|||
#pragma once
|
||||
|
||||
class example
|
||||
{
|
||||
public:
|
||||
static int add( int x, int y )
|
||||
{
|
||||
return x + y;
|
||||
}
|
||||
};
|
|
@ -0,0 +1,22 @@
|
|||
#include "example.h"
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
BOOST_AUTO_TEST_CASE(add_2_and_2)
|
||||
{
|
||||
BOOST_REQUIRE_EQUAL(4, example::add(2, 2));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE( add_12_and_24 )
|
||||
{
|
||||
BOOST_REQUIRE_EQUAL( 36, example::add( 12, 24 ) );
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE( add_100_and_1 )
|
||||
{
|
||||
BOOST_REQUIRE_EQUAL( 101, example::add( 100, 1 ) );
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE( add_2_and_minus_2 )
|
||||
{
|
||||
BOOST_REQUIRE_EQUAL( 0, example::add( 2, -2 ) );
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="NUnit" version="2.6.3" targetFramework="native" />
|
||||
</packages>
|
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
// Including SDKDDKVer.h defines the highest available Windows platform.
|
||||
|
||||
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
|
||||
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
|
||||
|
||||
#include <SDKDDKVer.h>
|
|
@ -0,0 +1,81 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{FEF69435-D885-45DD-A446-04FD3BD3F593}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Exercism</RootNamespace>
|
||||
<AssemblyName>Exercism.csharp</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="nunit.framework, Version=2.6.3.13283, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NUnit.2.6.3\lib\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="anagram\Anagram.cs" />
|
||||
<Compile Include="anagram\AnagramTest.cs" />
|
||||
<Compile Include="bob\Bob.cs" />
|
||||
<Compile Include="bob\BobTest.cs" />
|
||||
<Compile Include="etl\ETL.cs" />
|
||||
<Compile Include="etl\ETLTest.cs" />
|
||||
<Compile Include="grade-school\GradeSchoolTest.cs" />
|
||||
<Compile Include="hamming\Hamming.cs" />
|
||||
<Compile Include="hamming\HammingTest.cs" />
|
||||
<Compile Include="leap\leap.cs" />
|
||||
<Compile Include="leap\LeapTest.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="word-count\Phrase.cs" />
|
||||
<Compile Include="word-count\WordCountTest.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="anagram\README.md" />
|
||||
<None Include="bob\README.md" />
|
||||
<None Include="etl\README.md" />
|
||||
<None Include="grade-school\README.md" />
|
||||
<None Include="hamming\README.md" />
|
||||
<None Include="leap\README.md" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="word-count\README.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Exercism")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Exercism")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2014")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("6ffaaf65-a0b4-4ff5-b2eb-e275df05cc6e")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,40 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
internal class Anagram {
|
||||
private string v;
|
||||
|
||||
// Anagram is initialized with a string to test other strings against
|
||||
public Anagram(string v) {
|
||||
this.v = v.ToLower();
|
||||
}
|
||||
|
||||
// Match takes an array of strings and returns an array that contains
|
||||
// All anagrams of this.v
|
||||
public string[] Match(string[] inp) {
|
||||
List<string> ret = new List<string>();
|
||||
foreach(string val in inp) {
|
||||
if(this.v.Length != val.Length) {
|
||||
continue;
|
||||
}
|
||||
string valTest = val.ToLower();
|
||||
bool isAnagram = true;
|
||||
if(this.v == valTest) {
|
||||
continue;
|
||||
}
|
||||
for(int i = 0; i < this.v.Length; i++) {
|
||||
int idx = valTest.IndexOf(this.v[i]);
|
||||
if(idx == -1) {
|
||||
isAnagram = false;
|
||||
}
|
||||
if(!isAnagram) {
|
||||
break;
|
||||
}
|
||||
valTest = valTest.Substring(0, idx)+valTest.Substring(idx+1);
|
||||
}
|
||||
if(isAnagram) {
|
||||
ret.Add(val);
|
||||
}
|
||||
}
|
||||
return ret.ToArray();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
using NUnit.Framework;
|
||||
|
||||
[TestFixture]
|
||||
public class AnagramTest
|
||||
{
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void No_matches()
|
||||
{
|
||||
var detector = new Anagram("diaper");
|
||||
var words = new[] { "hello", "world", "zombies", "pants" };
|
||||
var results = new string[0];
|
||||
Assert.That(detector.Match(words), Is.EquivalentTo(results));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Detect_simple_anagram()
|
||||
{
|
||||
var detector = new Anagram("ant");
|
||||
var words = new[] { "tan", "stand", "at" };
|
||||
var results = new[] { "tan" };
|
||||
Assert.That(detector.Match(words), Is.EquivalentTo(results));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Detect_multiple_anagrams()
|
||||
{
|
||||
var detector = new Anagram("master");
|
||||
var words = new[] { "stream", "pigeon", "maters" };
|
||||
var results = new[] { "maters", "stream" };
|
||||
Assert.That(detector.Match(words), Is.EquivalentTo(results));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Does_not_confuse_different_duplicates()
|
||||
{
|
||||
var detector = new Anagram("galea");
|
||||
var words = new[] { "eagle" };
|
||||
var results = new string[0];
|
||||
Assert.That(detector.Match(words), Is.EquivalentTo(results));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Identical_word_is_not_anagram()
|
||||
{
|
||||
var detector = new Anagram("corn");
|
||||
var words = new[] { "corn", "dark", "Corn", "rank", "CORN", "cron", "park" };
|
||||
var results = new[] { "cron" };
|
||||
Assert.That(detector.Match(words), Is.EquivalentTo(results));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Eliminate_anagrams_with_same_checksum()
|
||||
{
|
||||
var detector = new Anagram("mass");
|
||||
var words = new[] { "last" };
|
||||
var results = new string[0];
|
||||
Assert.That(detector.Match(words), Is.EquivalentTo(results));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Eliminate_anagram_subsets()
|
||||
{
|
||||
var detector = new Anagram("good");
|
||||
var words = new[] { "dog", "goody" };
|
||||
var results = new string[0];
|
||||
Assert.That(detector.Match(words), Is.EquivalentTo(results));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Detect_anagrams()
|
||||
{
|
||||
var detector = new Anagram("allergy");
|
||||
var words = new[] { "gallery", "ballerina", "regally", "clergy", "largely", "leading" };
|
||||
var results = new[] { "gallery", "largely", "regally" };
|
||||
Assert.That(detector.Match(words), Is.EquivalentTo(results));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Anagrams_are_case_insensitive()
|
||||
{
|
||||
var detector = new Anagram("Orchestra");
|
||||
var words = new[] { "cashregister", "Carthorse", "radishes" };
|
||||
var results = new[] { "Carthorse" };
|
||||
Assert.That(detector.Match(words), Is.EquivalentTo(results));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
# Anagram
|
||||
|
||||
Write a program that, given a word and a list of possible anagrams, selects the correct sublist.
|
||||
|
||||
Given `"listen"` and a list of candidates like `"enlists" "google"
|
||||
"inlets" "banana"` the program should return a list containing
|
||||
`"inlets"`.
|
||||
|
||||
### Submitting Exercises
|
||||
|
||||
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
||||
|
||||
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
||||
|
||||
## Source
|
||||
|
||||
Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
|
||||
|
||||
## Submitting Incomplete Problems
|
||||
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,15 @@
|
|||
internal class Bob {
|
||||
public static string Hey(string inp) {
|
||||
inp = inp.Trim();
|
||||
if(inp == "") {
|
||||
return "Fine. Be that way!";
|
||||
}
|
||||
if(inp == inp.ToUpper() && inp != inp.ToLower()) {
|
||||
return "Whoa, chill out!";
|
||||
}
|
||||
if(inp[inp.Length-1] == '?') {
|
||||
return "Sure.";
|
||||
}
|
||||
return "Whatever.";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,131 @@
|
|||
using NUnit.Framework;
|
||||
|
||||
[TestFixture]
|
||||
public class BobTest
|
||||
{
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Stating_something ()
|
||||
{
|
||||
Assert.That(Bob.Hey("Tom-ay-to, tom-aaaah-to."), Is.EqualTo("Whatever."));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Shouting ()
|
||||
{
|
||||
Assert.That(Bob.Hey("WATCH OUT!"), Is.EqualTo("Whoa, chill out!"));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Asking_a_question ()
|
||||
{
|
||||
Assert.That(Bob.Hey("Does this cryogenic chamber make me look fat?"), Is.EqualTo("Sure."));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Asking_a_question_with_a_trailing_space()
|
||||
{
|
||||
Assert.That(Bob.Hey("Do I like my spacebar too much? "), Is.EqualTo("Sure."));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Asking_a_numeric_question ()
|
||||
{
|
||||
Assert.That(Bob.Hey("You are, what, like 15?"), Is.EqualTo("Sure."));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Talking_forcefully ()
|
||||
{
|
||||
Assert.That(Bob.Hey("Let's go make out behind the gym!"), Is.EqualTo("Whatever."));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Using_acronyms_in_regular_search ()
|
||||
{
|
||||
Assert.That(Bob.Hey("It's OK if you don't want to go to the DMV."), Is.EqualTo("Whatever."));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Forceful_questions ()
|
||||
{
|
||||
Assert.That(Bob.Hey("WHAT THE HELL WERE YOU THINKING?"), Is.EqualTo("Whoa, chill out!"));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Shouting_numbers ()
|
||||
{
|
||||
Assert.That(Bob.Hey("1, 2, 3 GO!"), Is.EqualTo("Whoa, chill out!"));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Only_numbers ()
|
||||
{
|
||||
Assert.That(Bob.Hey("1, 2, 3"), Is.EqualTo("Whatever."));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Question_with_only_numbers ()
|
||||
{
|
||||
Assert.That(Bob.Hey("4?"), Is.EqualTo("Sure."));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Shouting_with_special_characters ()
|
||||
{
|
||||
Assert.That(Bob.Hey("ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!"), Is.EqualTo("Whoa, chill out!"));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Shouting_with_no_exclamation_mark ()
|
||||
{
|
||||
Assert.That(Bob.Hey("I HATE YOU"), Is.EqualTo("Whoa, chill out!"));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Statement_containing_question_mark ()
|
||||
{
|
||||
Assert.That(Bob.Hey("Ending with ? means a question."), Is.EqualTo("Whatever."));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Prattling_on ()
|
||||
{
|
||||
Assert.That(Bob.Hey("Wait! Hang on. Are you going to be OK?"), Is.EqualTo("Sure."));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Silence ()
|
||||
{
|
||||
Assert.That(Bob.Hey(""), Is.EqualTo("Fine. Be that way!"));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Prolonged_silence ()
|
||||
{
|
||||
Assert.That(Bob.Hey(" "), Is.EqualTo("Fine. Be that way!"));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Multiple_line_question ()
|
||||
{
|
||||
Assert.That(Bob.Hey("Does this cryogenic chamber make me look fat?\nno"), Is.EqualTo("Whatever."));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
# Bob
|
||||
|
||||
Bob is a lackadaisical teenager. In conversation, his responses are very limited.
|
||||
|
||||
Bob answers 'Sure.' if you ask him a question.
|
||||
|
||||
He answers 'Whoa, chill out!' if you yell at him.
|
||||
|
||||
He says 'Fine. Be that way!' if you address him without actually saying
|
||||
anything.
|
||||
|
||||
He answers 'Whatever.' to anything else.
|
||||
|
||||
## Instructions
|
||||
|
||||
Run the test file, and fix each of the errors in turn. When you get the
|
||||
first test to pass, go to the first pending or skipped test, and make
|
||||
that pass as well. When all of the tests are passing, feel free to
|
||||
submit.
|
||||
|
||||
Remember that passing code is just the first step. The goal is to work
|
||||
towards a solution that is as readable and expressive as you can make
|
||||
it.
|
||||
|
||||
Please make your solution as general as possible. Good code doesn't just
|
||||
pass the test suite, it works with any input that fits the
|
||||
specification.
|
||||
|
||||
Have fun!
|
||||
|
||||
|
||||
### Submitting Exercises
|
||||
|
||||
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
||||
|
||||
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
||||
|
||||
## Source
|
||||
|
||||
Inspired by the 'Deaf Grandma' exercise in Chris Pine's Learn to Program tutorial. [http://pine.fm/LearnToProgram/?Chapter=06](http://pine.fm/LearnToProgram/?Chapter=06)
|
||||
|
||||
## Submitting Incomplete Problems
|
||||
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
||||
|
|
@ -1 +0,0 @@
|
|||
leap
|
|
@ -0,0 +1,18 @@
|
|||
using System.IO;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
class ETL {
|
||||
public static Dictionary<string, int> Transform(Dictionary<int, IList<string>> inp) {
|
||||
Dictionary<string, int> ret = new Dictionary<string, int>();
|
||||
foreach(KeyValuePair<int, IList<string>> entry in inp) {
|
||||
foreach(string val in entry.Value) {
|
||||
string v = val.ToLower();
|
||||
if(!ret.ContainsKey(v)) {
|
||||
ret.Add(v, entry.Key);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
|
||||
[TestFixture]
|
||||
public class ETLTest
|
||||
{
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Transforms_one_value()
|
||||
{
|
||||
var old = new Dictionary<int, IList<string>> { { 1, new List<string> { "A" } } };
|
||||
var expected = new Dictionary<string, int> { { "a", 1 } };
|
||||
Assert.That(ETL.Transform(old), Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Transforms_multiple_values()
|
||||
{
|
||||
var old = new Dictionary<int, IList<string>> { { 1, new List<string> { "A", "E", "I", "O", "U" } } };
|
||||
var expected = new Dictionary<string, int> { { "a", 1 }, { "e", 1 }, { "i", 1 }, { "o", 1 }, { "u", 1 } };
|
||||
Assert.That(ETL.Transform(old), Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Transforms_multiple_keys()
|
||||
{
|
||||
var old = new Dictionary<int, IList<string>> { { 1, new List<string> { "A", "E" } }, { 2, new List<string> { "D", "G" } } };
|
||||
var expected = new Dictionary<string, int> { { "a", 1 }, { "e", 1 }, { "d", 2 }, { "g", 2 } };
|
||||
Assert.That(ETL.Transform(old), Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Transforms_a_full_dataset()
|
||||
{
|
||||
var old = new Dictionary<int, IList<string>>
|
||||
{
|
||||
{ 1, new List<string> { "A", "E", "I", "O", "U", "L", "N", "R", "S", "T" } },
|
||||
{ 2, new List<string> { "D", "G" } },
|
||||
{ 3, new List<string> { "B", "C", "M", "P" } },
|
||||
{ 4, new List<string> { "F", "H", "V", "W", "Y" } },
|
||||
{ 5, new List<string> { "K" } },
|
||||
{ 8, new List<string> { "J", "X" } },
|
||||
{ 10, new List<string> { "Q", "Z" } },
|
||||
};
|
||||
var expected = new Dictionary<string, int>
|
||||
{
|
||||
{ "a", 1 }, { "b", 3 }, { "c", 3 }, { "d", 2 }, { "e", 1 }, { "f", 4 }, { "g", 2 }, { "h", 4 }, { "i", 1 },
|
||||
{ "j", 8 }, { "k", 5 }, { "l", 1 }, { "m", 3 }, { "n", 1 }, { "o", 1 }, { "p", 3 }, { "q", 10 }, { "r", 1 },
|
||||
{ "s", 1 }, { "t", 1 }, { "u", 1 }, { "v", 4 }, { "w", 4 }, { "x", 8 }, { "y", 4 }, { "z", 10 }
|
||||
};
|
||||
Assert.That(ETL.Transform(old), Is.EqualTo(expected));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
# Etl
|
||||
|
||||
We are going to do the `Transform` step of an Extract-Transform-Load.
|
||||
|
||||
### ETL
|
||||
Extract-Transform-Load (ETL) is a fancy way of saying, "We have some crufty, legacy data over in this system, and now we need it in this shiny new system over here, so
|
||||
we're going to migrate this."
|
||||
|
||||
(Typically, this is followed by, "We're only going to need to run this
|
||||
once." That's then typically followed by much forehead slapping and
|
||||
moaning about how stupid we could possibly be.)
|
||||
|
||||
### The goal
|
||||
We're going to extract some scrabble scores from a legacy system.
|
||||
|
||||
The old system stored a list of letters per score:
|
||||
|
||||
- 1 point: "A", "E", "I", "O", "U", "L", "N", "R", "S", "T",
|
||||
- 2 points: "D", "G",
|
||||
- 3 points: "B", "C", "M", "P",
|
||||
- 4 points: "F", "H", "V", "W", "Y",
|
||||
- 5 points: "K",
|
||||
- 8 points: "J", "X",
|
||||
- 10 points: "Q", "Z",
|
||||
|
||||
The shiny new scrabble system instead stores the score per letter, which
|
||||
makes it much faster and easier to calculate the score for a word. It
|
||||
also stores the letters in lower-case regardless of the case of the
|
||||
input letters:
|
||||
|
||||
- "a" is worth 1 point.
|
||||
- "b" is worth 3 points.
|
||||
- "c" is worth 3 points.
|
||||
- "d" is worth 2 points.
|
||||
- Etc.
|
||||
|
||||
Your mission, should you choose to accept it, is to write a program that
|
||||
transforms the legacy data format to the shiny new format.
|
||||
|
||||
### Notes
|
||||
|
||||
A final note about scoring, Scrabble is played around the world in a
|
||||
variety of languages, each with its own unique scoring table. For
|
||||
example, an "E" is scored at 2 in the Māori-language version of the
|
||||
game while being scored at 4 in the Hawaiian-language version.
|
||||
|
||||
### Submitting Exercises
|
||||
|
||||
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
||||
|
||||
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
||||
|
||||
## Source
|
||||
|
||||
The Jumpstart Lab team [http://jumpstartlab.com](http://jumpstartlab.com)
|
||||
|
||||
## Submitting Incomplete Problems
|
||||
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
|
||||
[TestFixture]
|
||||
public class GradeSchoolTest
|
||||
{
|
||||
private School school;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
school = new School();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void New_school_has_an_empty_roster()
|
||||
{
|
||||
Assert.That(school.Roster, Has.Count.EqualTo(0));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Adding_a_student_adds_them_to_the_roster_for_the_given_grade()
|
||||
{
|
||||
school.Add("Aimee", 2);
|
||||
var expected = new List<string> { "Aimee" };
|
||||
Assert.That(school.Roster[2], Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Adding_more_students_to_the_same_grade_adds_them_to_the_roster()
|
||||
{
|
||||
school.Add("Blair", 2);
|
||||
school.Add("James", 2);
|
||||
school.Add("Paul", 2);
|
||||
var expected = new List<string> { "Blair", "James", "Paul" };
|
||||
Assert.That(school.Roster[2], Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Adding_students_to_different_grades_adds_them_to_the_roster()
|
||||
{
|
||||
school.Add("Chelsea", 3);
|
||||
school.Add("Logan", 7);
|
||||
Assert.That(school.Roster[3], Is.EqualTo(new List<string> { "Chelsea" }));
|
||||
Assert.That(school.Roster[7], Is.EqualTo(new List<string> { "Logan" }));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Grade_returns_the_students_in_that_grade_in_alphabetical_order()
|
||||
{
|
||||
school.Add("Franklin", 5);
|
||||
school.Add("Bradley", 5);
|
||||
school.Add("Jeff", 1);
|
||||
var expected = new List<string> { "Bradley", "Franklin" };
|
||||
Assert.That(school.Grade(5), Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Grade_returns_an_empty_list_if_there_are_no_students_in_that_grade()
|
||||
{
|
||||
Assert.That(school.Grade(1), Is.EqualTo(new List<string>()));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Student_names_in_each_grade_in_roster_are_sorted()
|
||||
{
|
||||
school.Add("Jennifer", 4);
|
||||
school.Add("Kareem", 6);
|
||||
school.Add("Christopher", 4);
|
||||
school.Add("Kyle", 3);
|
||||
Assert.That(school.Roster[3], Is.EqualTo(new List<string> { "Kyle" }));
|
||||
Assert.That(school.Roster[4], Is.EqualTo(new List<string> { "Christopher", "Jennifer" }));
|
||||
Assert.That(school.Roster[6], Is.EqualTo(new List<string> { "Kareem" }));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
# Grade School
|
||||
|
||||
Write a small archiving program that stores students' names along with the grade that they are in.
|
||||
|
||||
In the end, you should be able to:
|
||||
|
||||
- Add a student's name to the roster for a grade
|
||||
- "Add Jim to grade 2."
|
||||
- "OK."
|
||||
- Get a list of all students enrolled in a grade
|
||||
- "Which students are in grade 2?"
|
||||
- "We've only got Jim just now."
|
||||
- Get a sorted list of all students in all grades. Grades should sort
|
||||
as 1, 2, 3, etc., and students within a grade should be sorted
|
||||
alphabetically by name.
|
||||
- "Who all is enrolled in school right now?"
|
||||
- "Grade 1: Anna, Barb, and Charlie. Grade 2: Alex, Peter, and Zoe.
|
||||
Grade 3…"
|
||||
|
||||
Note that all our students only have one name. (It's a small town, what
|
||||
do you want?)
|
||||
|
||||
|
||||
## For bonus points
|
||||
|
||||
Did you get the tests passing and the code clean? If you want to, these
|
||||
are some additional things you could try:
|
||||
|
||||
- If you're working in a language with mutable data structures and your
|
||||
implementation allows outside code to mutate the school's internal DB
|
||||
directly, see if you can prevent this. Feel free to introduce additional
|
||||
tests.
|
||||
|
||||
Then please share your thoughts in a comment on the submission. Did this
|
||||
experiment make the code better? Worse? Did you learn anything from it?
|
||||
|
||||
### Submitting Exercises
|
||||
|
||||
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
||||
|
||||
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
||||
|
||||
## Source
|
||||
|
||||
A pairing session with Phil Battos at gSchool [http://gschool.it](http://gschool.it)
|
||||
|
||||
## Submitting Incomplete Problems
|
||||
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
internal class Hamming {
|
||||
public static int Compute(string strand1, string strand2) {
|
||||
int ret = 0;
|
||||
if(strand1.Length != strand2.Length) {
|
||||
throw new System.ArgumentException("Strands must be same length");
|
||||
}
|
||||
for(int i = 0; i < strand1.Length; i++) {
|
||||
if(strand1[i] != strand2[i]) {
|
||||
ret++;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
using NUnit.Framework;
|
||||
|
||||
[TestFixture]
|
||||
public class HammingTest
|
||||
{
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void No_difference_between_empty_strands()
|
||||
{
|
||||
Assert.That(Hamming.Compute("",""), Is.EqualTo(0));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void No_difference_between_identical_strands()
|
||||
{
|
||||
Assert.That(Hamming.Compute("GGACTGA","GGACTGA"), Is.EqualTo(0));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Complete_hamming_distance_in_small_strand()
|
||||
{
|
||||
Assert.That(Hamming.Compute("ACT","GGA"), Is.EqualTo(3));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Hamming_distance_is_off_by_one_strand()
|
||||
{
|
||||
Assert.That(Hamming.Compute("GGACGGATTCTG","AGGACGGATTCT"), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Smalling_hamming_distance_in_middle_somewhere()
|
||||
{
|
||||
Assert.That(Hamming.Compute("GGACG","GGTCG"), Is.EqualTo(1));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Larger_distance()
|
||||
{
|
||||
Assert.That(Hamming.Compute("ACCAGGG","ACTATGG"), Is.EqualTo(2));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
# Hamming
|
||||
|
||||
Write a program that can calculate the Hamming difference between two DNA strands.
|
||||
|
||||
A mutation is simply a mistake that occurs during the creation or
|
||||
copying of a nucleic acid, in particular DNA. Because nucleic acids are
|
||||
vital to cellular functions, mutations tend to cause a ripple effect
|
||||
throughout the cell. Although mutations are technically mistakes, a very
|
||||
rare mutation may equip the cell with a beneficial attribute. In fact,
|
||||
the macro effects of evolution are attributable by the accumulated
|
||||
result of beneficial microscopic mutations over many generations.
|
||||
|
||||
The simplest and most common type of nucleic acid mutation is a point
|
||||
mutation, which replaces one base with another at a single nucleotide.
|
||||
|
||||
By counting the number of differences between two homologous DNA strands
|
||||
taken from different genomes with a common ancestor, we get a measure of
|
||||
the minimum number of point mutations that could have occurred on the
|
||||
evolutionary path between the two strands.
|
||||
|
||||
This is called the 'Hamming distance'.
|
||||
|
||||
It is found by comparing two DNA strands and counting how many of the
|
||||
nucleotides are different from their equivalent in the other string.
|
||||
|
||||
GAGCCTACTAACGGGAT
|
||||
CATCGTAATGACGGCCT
|
||||
^ ^ ^ ^ ^ ^^
|
||||
|
||||
The Hamming distance between these two DNA strands is 7.
|
||||
|
||||
# Implementation notes
|
||||
|
||||
The Hamming distance is only defined for sequences of equal length. This means
|
||||
that based on the definition, each language could deal with getting sequences
|
||||
of equal length differently.
|
||||
|
||||
### Submitting Exercises
|
||||
|
||||
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
||||
|
||||
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
||||
|
||||
## Source
|
||||
|
||||
The Calculating Point Mutations problem at Rosalind [http://rosalind.info/problems/hamm/](http://rosalind.info/problems/hamm/)
|
||||
|
||||
## Submitting Incomplete Problems
|
||||
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
||||
|
|
@ -1,32 +1,31 @@
|
|||
using NUnit.Framework;
|
||||
|
||||
[TestFixture]
|
||||
public class LeapTest
|
||||
{
|
||||
[Test]
|
||||
public void Valid_leap_year()
|
||||
{
|
||||
Assert.That(Year.IsLeap(1996), Is.True);
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Invalid_leap_year()
|
||||
{
|
||||
Assert.That(Year.IsLeap(1997), Is.False);
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Turn_of_the_20th_century_is_not_a_leap_year()
|
||||
{
|
||||
Assert.That(Year.IsLeap(1900), Is.False);
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Turn_of_the_25th_century_is_a_leap_year()
|
||||
{
|
||||
Assert.That(Year.IsLeap(2400), Is.True);
|
||||
}
|
||||
}
|
||||
using NUnit.Framework;
|
||||
|
||||
[TestFixture]
|
||||
public class LeapTest
|
||||
{
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Valid_leap_year()
|
||||
{
|
||||
Assert.That(Year.IsLeap(1996), Is.True);
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Invalid_leap_year()
|
||||
{
|
||||
Assert.That(Year.IsLeap(1997), Is.False);
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
public void Turn_of_the_20th_century_is_not_a_leap_year()
|
||||
{
|
||||
Assert.That(Year.IsLeap(1900), Is.False);
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
public void Turn_of_the_25th_century_is_a_leap_year()
|
||||
{
|
||||
Assert.That(Year.IsLeap(2400), Is.True);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,37 @@
|
|||
# Leap
|
||||
|
||||
Write a program that will take a year and report if it is a leap year.
|
||||
|
||||
The tricky thing here is that a leap year occurs:
|
||||
|
||||
```plain
|
||||
on every year that is evenly divisible by 4
|
||||
except every year that is evenly divisible by 100
|
||||
unless the year is also evenly divisible by 400
|
||||
```
|
||||
|
||||
For example, 1997 is not a leap year, but 1996 is. 1900 is not a leap
|
||||
year, but 2000 is.
|
||||
|
||||
If your language provides a method in the standard library that does
|
||||
this look-up, pretend it doesn't exist and implement it yourself.
|
||||
|
||||
## Notes
|
||||
|
||||
For a delightful, four minute explanation of the whole leap year
|
||||
phenomenon, go watch [this youtube video][video].
|
||||
|
||||
[video]: http://www.youtube.com/watch?v=xX96xng7sAE
|
||||
|
||||
### Submitting Exercises
|
||||
|
||||
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
||||
|
||||
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
||||
## Source
|
||||
|
||||
JavaRanch Cattle Drive, exercise 3 [view source](http://www.javaranch.com/leap.jsp)
|
||||
# Leap
|
||||
|
||||
Write a program that will take a year and report if it is a leap year.
|
||||
|
||||
The tricky thing here is that a leap year in the Gregorian calendar occurs:
|
||||
|
||||
```plain
|
||||
on every year that is evenly divisible by 4
|
||||
except every year that is evenly divisible by 100
|
||||
unless the year is also evenly divisible by 400
|
||||
```
|
||||
|
||||
For example, 1997 is not a leap year, but 1996 is. 1900 is not a leap
|
||||
year, but 2000 is.
|
||||
|
||||
If your language provides a method in the standard library that does
|
||||
this look-up, pretend it doesn't exist and implement it yourself.
|
||||
|
||||
## Notes
|
||||
|
||||
Though our exercise adopts some very simple rules, there is more to
|
||||
learn!
|
||||
|
||||
For a delightful, four minute explanation of the whole leap year
|
||||
phenomenon, go watch [this youtube video][video].
|
||||
|
||||
[video]: http://www.youtube.com/watch?v=xX96xng7sAE
|
||||
|
||||
### Submitting Exercises
|
||||
|
||||
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
||||
|
||||
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
||||
|
||||
## Source
|
||||
|
||||
JavaRanch Cattle Drive, exercise 3 [http://www.javaranch.com/leap.jsp](http://www.javaranch.com/leap.jsp)
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
class Year {
|
||||
public static bool IsLeap(int i) {
|
||||
if(i % 4 == 0) {
|
||||
if(i % 100 == 0) {
|
||||
if (i % 400 != 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,7 @@
|
|||
C:\Users\brbuller\Development\exercism\csharp\obj\Debug\Exercism.csharp.csprojResolveAssemblyReference.cache
|
||||
C:\Users\brbuller\Development\exercism\csharp\bin\Debug\Exercism.csharp.dll
|
||||
C:\Users\brbuller\Development\exercism\csharp\bin\Debug\Exercism.csharp.pdb
|
||||
C:\Users\brbuller\Development\exercism\csharp\bin\Debug\nunit.framework.dll
|
||||
C:\Users\brbuller\Development\exercism\csharp\bin\Debug\nunit.framework.xml
|
||||
C:\Users\brbuller\Development\exercism\csharp\obj\Debug\Exercism.csharp.dll
|
||||
C:\Users\brbuller\Development\exercism\csharp\obj\Debug\Exercism.csharp.pdb
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="NUnit" version="2.6.3" targetFramework="net45" />
|
||||
</packages>
|
|
@ -0,0 +1,27 @@
|
|||
using System.Text.RegularExpressions;
|
||||
using System.Collections.Generic;
|
||||
|
||||
class Phrase {
|
||||
public static Dictionary<string,int> WordCount(string phrase) {
|
||||
Dictionary<string,int> ret = new Dictionary<string,int>();
|
||||
Regex rgx = new Regex("[^a-zA-Z0-9 ,']");
|
||||
phrase = rgx.Replace(phrase, "");
|
||||
string[] words = Regex.Split(phrase, @"[\s,]");
|
||||
char[] trimChars = new char[2];
|
||||
trimChars[0] = ' ';
|
||||
trimChars[1] = '\'';
|
||||
foreach(string wrd in words) {
|
||||
string normWrd = wrd.ToLower().Trim(trimChars);
|
||||
if(normWrd != "") {
|
||||
int num = 0;
|
||||
if(ret.ContainsKey(normWrd)) {
|
||||
ret.TryGetValue(normWrd, out num);
|
||||
ret.Remove(normWrd);
|
||||
}
|
||||
num++;
|
||||
ret.Add(normWrd, num);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
# Word Count
|
||||
|
||||
Write a program that given a phrase can count the occurrences of each word in that phrase.
|
||||
|
||||
For example for the input `"olly olly in come free"`
|
||||
|
||||
```plain
|
||||
olly: 2
|
||||
in: 1
|
||||
come: 1
|
||||
free: 1
|
||||
```
|
||||
|
||||
|
||||
### Submitting Exercises
|
||||
|
||||
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
||||
|
||||
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
||||
|
||||
## Source
|
||||
|
||||
This is a classic toy problem, but we were reminded of it by seeing it in the Go Tour.
|
||||
|
||||
## Submitting Incomplete Problems
|
||||
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
||||
|
|
@ -0,0 +1,157 @@
|
|||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
|
||||
[TestFixture]
|
||||
public class WordCountTest
|
||||
{
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Count_one_word()
|
||||
{
|
||||
var counts = new Dictionary<string,int> {
|
||||
{ "word", 1 }
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("word"), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Count_one_of_each()
|
||||
{
|
||||
var counts = new Dictionary<string,int> {
|
||||
{ "one", 1 },
|
||||
{ "of", 1 },
|
||||
{ "each", 1 }
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("one of each"), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Count_multiple_occurrences()
|
||||
{
|
||||
var counts = new Dictionary<string,int> {
|
||||
{ "one", 1 },
|
||||
{ "fish", 4 },
|
||||
{ "two", 1 },
|
||||
{ "red", 1 },
|
||||
{ "blue", 1 },
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("one fish two fish red fish blue fish"), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Count_everything_just_once()
|
||||
{
|
||||
var counts = new Dictionary<string,int> {
|
||||
{ "all", 2 },
|
||||
{ "the", 2 },
|
||||
{ "kings", 2 },
|
||||
{ "horses", 1 },
|
||||
{ "and", 1 },
|
||||
{ "men", 1 },
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("all the kings horses and all the kings men"), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Ignore_punctuation()
|
||||
{
|
||||
var counts = new Dictionary<string,int> {
|
||||
{ "car", 1 },
|
||||
{ "carpet", 1 },
|
||||
{ "as", 1 },
|
||||
{ "java", 1 },
|
||||
{ "javascript", 1 },
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("car : carpet as java : javascript!!&@$%^&"), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Handles_cramped_list()
|
||||
{
|
||||
var counts = new Dictionary<string,int> {
|
||||
{ "one", 1 },
|
||||
{ "two", 1 },
|
||||
{ "three", 1 },
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("one,two,three"), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Include_numbers()
|
||||
{
|
||||
var counts = new Dictionary<string,int> {
|
||||
{ "testing", 2 },
|
||||
{ "1", 1 },
|
||||
{ "2", 1 },
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("testing, 1, 2 testing"), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void Normalize_case()
|
||||
{
|
||||
var counts = new Dictionary<string,int> {
|
||||
{ "go", 3 },
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("go Go GO"), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void With_apostrophes()
|
||||
{
|
||||
var counts = new Dictionary<string,int> {
|
||||
{ "first", 1 },
|
||||
{ "don't", 2 },
|
||||
{ "laugh", 1 },
|
||||
{ "then", 1 },
|
||||
{ "cry", 1 },
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("First: don't laugh. Then: don't cry."), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void With_free_standing_apostrophes()
|
||||
{
|
||||
var counts = new Dictionary<string, int> {
|
||||
{ "go", 3 },
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("go ' Go '' GO"), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[Test]
|
||||
public void With_apostrophes_as_quotes()
|
||||
{
|
||||
var counts = new Dictionary<string, int> {
|
||||
{ "she", 1 },
|
||||
{ "said", 1 },
|
||||
{ "let's", 1 },
|
||||
{ "meet", 1 },
|
||||
{ "at", 1 },
|
||||
{ "twelve", 1 },
|
||||
{ "o'clock", 1 },
|
||||
};
|
||||
|
||||
Assert.That(Phrase.WordCount("She said, 'let's meet at twelve o'clock'"), Is.EqualTo(counts));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>f7e8e67c-3cfa-4b46-a2b6-956263649501</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>fsharp</RootNamespace>
|
||||
<AssemblyName>Exercism.fsharp</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetFSharpCoreVersion>4.3.1.0</TargetFSharpCoreVersion>
|
||||
<Name>Exercism.fsharp</Name>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<Tailcalls>false</Tailcalls>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\fsharp.XML</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<Tailcalls>true</Tailcalls>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<DocumentationFile>bin\Release\fsharp.XML</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Choose>
|
||||
<When Condition="'$(VisualStudioVersion)' == '11.0'">
|
||||
<PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets')">
|
||||
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<Otherwise>
|
||||
<PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')">
|
||||
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
|
||||
</PropertyGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
<Import Project="$(FSharpTargetsPath)" />
|
||||
<ItemGroup>
|
||||
<Content Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework">
|
||||
<HintPath>..\packages\NUnit.2.6.3\lib\nunit.framework.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Numerics" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="example\Example.fs" />
|
||||
<Compile Include="example\ExampleTest.fs" />
|
||||
</ItemGroup>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<doc>
|
||||
<assembly><name>Exercism.fsharp</name></assembly>
|
||||
<members>
|
||||
</members>
|
||||
</doc>
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,4 @@
|
|||
module Example
|
||||
|
||||
type Example() =
|
||||
member this.Add(x, y) = x + y
|
|
@ -0,0 +1,16 @@
|
|||
module SumOfMultiplesTest
|
||||
|
||||
open NUnit.Framework
|
||||
open Example
|
||||
|
||||
[<TestFixture>]
|
||||
type ExampleTest() =
|
||||
let mutable example = Example()
|
||||
|
||||
[<Test>]
|
||||
[<TestCase(2, 2, 4)>]
|
||||
[<TestCase(12, 24, 36)>]
|
||||
[<TestCase(100, 1, 101)>]
|
||||
[<TestCase(2, -2, 0)>]
|
||||
member tc.Can_add(x, y, expected) =
|
||||
Assert.That(example.Add(x, y), Is.EqualTo(expected))
|
Binary file not shown.
|
@ -0,0 +1,10 @@
|
|||
C:\Users\brbuller\Development\exercism\fsharp\bin\Debug\fsharp.XML
|
||||
C:\Users\brbuller\Development\exercism\fsharp\bin\Debug\Exercism.fsharp.dll
|
||||
C:\Users\brbuller\Development\exercism\fsharp\bin\Debug\Exercism.fsharp.pdb
|
||||
C:\Users\brbuller\Development\exercism\fsharp\bin\Debug\FSharp.Core.dll
|
||||
C:\Users\brbuller\Development\exercism\fsharp\bin\Debug\nunit.framework.dll
|
||||
C:\Users\brbuller\Development\exercism\fsharp\bin\Debug\FSharp.Core.xml
|
||||
C:\Users\brbuller\Development\exercism\fsharp\bin\Debug\nunit.framework.xml
|
||||
C:\Users\brbuller\Development\exercism\fsharp\obj\Debug\Exercism.fsharp.fsprojResolveAssemblyReference.cache
|
||||
C:\Users\brbuller\Development\exercism\fsharp\obj\Debug\Exercism.fsharp.dll
|
||||
C:\Users\brbuller\Development\exercism\fsharp\obj\Debug\Exercism.fsharp.pdb
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="NUnit" version="2.6.3" targetFramework="net45" />
|
||||
</packages>
|
|
@ -0,0 +1,117 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>
|
||||
</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{E312906C-B57F-4D93-9A55-540D2D0ABBB2}</ProjectGuid>
|
||||
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Exercism.javascript</RootNamespace>
|
||||
<AssemblyName>Exercism.javascript</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressAnonymousAuthentication />
|
||||
<IISExpressWindowsAuthentication />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
<UseGlobalApplicationHostFile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="nunit.framework, Version=3.4.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NUnit.3.4.1\lib\net45\nunit.framework.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="example\example.js" />
|
||||
<Content Include="example\example_test.spec.js" />
|
||||
<Content Include="test.bat" />
|
||||
<Content Include="packages.config" />
|
||||
<None Include="Web.Debug.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</None>
|
||||
<None Include="Web.Release.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Web.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>True</UseIIS>
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>61434</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>http://localhost:61434/</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>False</UseCustomServer>
|
||||
<CustomServerUrl>
|
||||
</CustomServerUrl>
|
||||
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<StartPageUrl>
|
||||
</StartPageUrl>
|
||||
<StartAction>CurrentPage</StartAction>
|
||||
<AspNetDebugging>True</AspNetDebugging>
|
||||
<SilverlightDebugging>False</SilverlightDebugging>
|
||||
<NativeDebugging>False</NativeDebugging>
|
||||
<SQLDebugging>False</SQLDebugging>
|
||||
<ExternalProgram>
|
||||
</ExternalProgram>
|
||||
<StartExternalURL>
|
||||
</StartExternalURL>
|
||||
<StartCmdLineArguments>
|
||||
</StartCmdLineArguments>
|
||||
<StartWorkingDirectory>
|
||||
</StartWorkingDirectory>
|
||||
<EnableENC>True</EnableENC>
|
||||
<AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
|
@ -0,0 +1,27 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Exercism.javascript")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Exercism.javascript")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2014")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<!--
|
||||
In the example below, the "SetAttributes" transform will change the value of
|
||||
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
|
||||
finds an attribute "name" that has a value of "MyDB".
|
||||
|
||||
<connectionStrings>
|
||||
<add name="MyDB"
|
||||
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
|
||||
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
|
||||
</connectionStrings>
|
||||
-->
|
||||
<system.web>
|
||||
<!--
|
||||
In the example below, the "Replace" transform will replace the entire
|
||||
<customErrors> section of your web.config file.
|
||||
Note that because there is only one customErrors section under the
|
||||
<system.web> node, there is no need to use the "xdt:Locator" attribute.
|
||||
|
||||
<customErrors defaultRedirect="GenericError.htm"
|
||||
mode="RemoteOnly" xdt:Transform="Replace">
|
||||
<error statusCode="500" redirect="InternalError.htm"/>
|
||||
</customErrors>
|
||||
-->
|
||||
</system.web>
|
||||
</configuration>
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<!--
|
||||
In the example below, the "SetAttributes" transform will change the value of
|
||||
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
|
||||
finds an attribute "name" that has a value of "MyDB".
|
||||
|
||||
<connectionStrings>
|
||||
<add name="MyDB"
|
||||
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
|
||||
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
|
||||
</connectionStrings>
|
||||
-->
|
||||
<system.web>
|
||||
<compilation xdt:Transform="RemoveAttributes(debug)" />
|
||||
<!--
|
||||
In the example below, the "Replace" transform will replace the entire
|
||||
<customErrors> section of your web.config file.
|
||||
Note that because there is only one customErrors section under the
|
||||
<system.web> node, there is no need to use the "xdt:Locator" attribute.
|
||||
|
||||
<customErrors defaultRedirect="GenericError.htm"
|
||||
mode="RemoteOnly" xdt:Transform="Replace">
|
||||
<error statusCode="500" redirect="InternalError.htm"/>
|
||||
</customErrors>
|
||||
-->
|
||||
</system.web>
|
||||
</configuration>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
For more information on how to configure your ASP.NET application, please visit
|
||||
http://go.microsoft.com/fwlink/?LinkId=169433
|
||||
-->
|
||||
<configuration>
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.5" />
|
||||
<httpRuntime targetFramework="4.5" />
|
||||
</system.web>
|
||||
</configuration>
|
Binary file not shown.
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
For more information on how to configure your ASP.NET application, please visit
|
||||
http://go.microsoft.com/fwlink/?LinkId=169433
|
||||
-->
|
||||
<configuration>
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.5" />
|
||||
<httpRuntime targetFramework="4.5" />
|
||||
</system.web>
|
||||
</configuration>
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,9 @@
|
|||
var Example = function () {
|
||||
'use strict';
|
||||
|
||||
this.add = function (x, y) {
|
||||
return x + y;
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = Example;
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue