Skip to content

Commit

Permalink
Added multiple ApprovalName ability w/mark skiba
Browse files Browse the repository at this point in the history
  • Loading branch information
isidore authored and jamesrcounts committed Nov 26, 2014
1 parent ee2c013 commit 47f0e40
Show file tree
Hide file tree
Showing 5 changed files with 101 additions and 66 deletions.
136 changes: 73 additions & 63 deletions ApprovalTests.Tests/Namer/ApprovalResultsTest.cs
Expand Up @@ -3,69 +3,79 @@

namespace ApprovalTests.Tests.Namer
{
[TestFixture]
public class ApprovalResultsTest
{
[Test]
public void TestEasyNames()
{
Assert.AreEqual("Windows 7", ApprovalResults.TransformEasyOsName("Microsoft Windows 7 Professional N"));
}
}
[TestFixture]
public class ApprovalResultsTest
{
[Test]
public void TestEasyNames()
{
Assert.AreEqual("Windows 7", ApprovalResults.TransformEasyOsName("Microsoft Windows 7 Professional N"));
}
}

[TestFixture]
public class AdditionalInformationTests
{
[Test]
public void ExitsBeforeNamerIsCalled()
{
using (ApprovalResults.UniqueForMachineName())
{

}

}
[TestFixture]
public class AdditionalInformationTests
{
[Test]
public void ExitsBeforeNamerIsCalled()
{
using (ApprovalResults.UniqueForMachineName())
{
}
}

[Test]
public void WithoutExtraInfo()
{
var name = Approvals.GetDefaultNamer().Name;
Assert.AreEqual("AdditionalInformationTests.WithoutExtraInfo", name);
}
[Test]
public void WithScenarioData()
{
using (ApprovalResults.ForScenario("scenarioname"))
{

var name = Approvals.GetDefaultNamer().Name;
Assert.AreEqual("AdditionalInformationTests.WithScenarioData.ForScenario.scenarioname", name);
}
}



[Test]
public void WithScenarioDataScrubsInvalidChars()
{
using (ApprovalResults.ForScenario("invalid/chars"))
{

var name = Approvals.GetDefaultNamer().Name;
Assert.AreEqual(
"AdditionalInformationTests.WithScenarioDataScrubsInvalidChars.ForScenario.invalid_chars", name);
}
}

[Test]
[TestCase("foo", "bar")]
public void WithMultiplePartScenarioData(string a, string b)
{
using (ApprovalResults.ForScenario(a,b))
{
var name = Approvals.GetDefaultNamer().Name;
Assert.AreEqual("AdditionalInformationTests.WithMultiplePartScenarioData.ForScenario.foo.bar", name);
}
}
}
[Test]
public void WithoutExtraInfo()
{
var name = Approvals.GetDefaultNamer().Name;
Assert.AreEqual("AdditionalInformationTests.WithoutExtraInfo", name);
}

[Test]
public void WithScenarioData()
{
using (ApprovalResults.ForScenario("scenarioname"))
{
var name = Approvals.GetDefaultNamer().Name;
Assert.AreEqual("AdditionalInformationTests.WithScenarioData.ForScenario.scenarioname", name);
}
}


[Test]
public void WithScenarioDataScrubsInvalidChars()
{
using (ApprovalResults.ForScenario("invalid/chars"))
{
var name = Approvals.GetDefaultNamer().Name;
Assert.AreEqual(
"AdditionalInformationTests.WithScenarioDataScrubsInvalidChars.ForScenario.invalid_chars", name);
}
}

[Test]
[TestCase("foo", "bar")]
public void WithMultiplePartScenarioData(string a, string b)
{
using (ApprovalResults.ForScenario(a, b))
{
var name = Approvals.GetDefaultNamer().Name;
Assert.AreEqual("AdditionalInformationTests.WithMultiplePartScenarioData.ForScenario.foo.bar", name);
}
}

[Test]
public void TestMultipleNames()
{
using (ApprovalResults.ForScenario("scenario"))
{
using (ApprovalResults.ForScenario("machineName"))
{
string name = Approvals.GetDefaultNamer().Name;
Assert.AreEqual(name,
"AdditionalInformationTests.TestMultipleNames.ForScenario.scenario.ForScenario.machineName");
}
}
}
}
}
10 changes: 9 additions & 1 deletion ApprovalTests/Namers/NamerFactory.cs
Expand Up @@ -24,7 +24,15 @@ public static void AsMachineSpecificTest(Func<string> environmentLabeler)

public static IDisposable AsEnvironmentSpecificTest(Func<string> environmentLabeler)
{
AdditionalInformation = environmentLabeler();
if (AdditionalInformation == null)
{
AdditionalInformation = environmentLabeler();
}
else
{
AdditionalInformation += "." + environmentLabeler();
}

return new EnviromentSpecificCleanUp();
}

Expand Down
16 changes: 14 additions & 2 deletions ReportingDemo/ReportingDemo.csproj
Expand Up @@ -12,6 +12,8 @@
<AssemblyName>ReportingDemo</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
Expand All @@ -31,8 +33,10 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="Microsoft.ReportViewer.WinForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="Microsoft.ReportViewer.WinForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.ReportViewer.WinForms.10.0.40219.1\lib\Microsoft.ReportViewer.WinForms.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Windows.Forms" />
Expand Down Expand Up @@ -77,12 +81,20 @@
<None Include="InsultsDataSet.xss">
<DependentUpon>InsultsDataSet.xsd</DependentUpon>
</None>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
<!-- 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">
Expand Down
4 changes: 4 additions & 0 deletions ReportingDemo/packages.config
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.ReportViewer.WinForms" version="10.0.40219.1" targetFramework="net40" />
</packages>
1 change: 1 addition & 0 deletions packages/repositories.config
Expand Up @@ -8,4 +8,5 @@
<repository path="..\ApprovalTests.Xunit\packages.config" />
<repository path="..\ApprovalTests\packages.config" />
<repository path="..\ApprovalUtilities\packages.config" />
<repository path="..\ReportingDemo\packages.config" />
</repositories>

0 comments on commit 47f0e40

Please sign in to comment.