Files
git-tfs/GitTfsTest/Commands/HelpTest.cs
T
Pat Thoyts 003ddb40a1 Updated test for help on a command.
This tests actually works ok but the expected output was out of date.
We could check more of the standard help prefix here.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2013-09-12 14:43:39 +01:00

68 lines
2.2 KiB
C#

using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using Rhino.Mocks;
using Sep.Git.Tfs.Commands;
using Sep.Git.Tfs.Test.TestHelpers;
using StructureMap.AutoMocking;
using NDesk.Options;
using Xunit;
namespace Sep.Git.Tfs.Test.Commands
{
public class HelpTest
{
private StringWriter outputWriter;
private RhinoAutoMocker<Help> mocks;
public HelpTest()
{
outputWriter = new StringWriter();
mocks = new RhinoAutoMocker<Help>(MockMode.AAA);
mocks.Inject<TextWriter>(outputWriter);
}
[Fact]
public void ShouldWriteGeneralHelp()
{
mocks.Container.PluginGraph.CreateFamily(typeof(GitTfsCommand));
mocks.Container.PluginGraph.FindFamily(typeof(GitTfsCommand)).AddType(typeof(TestCommand), "test");
mocks.Container.Inject<GitTfsCommand>("test", new TestCommand());
mocks.ClassUnderTest.Run();
var output = outputWriter.GetStringBuilder().ToString();
output.AssertStartsWith("Usage: git-tfs [command] [options]");
output.TrimEnd().AssertEndsWith(" (use 'git-tfs help [command]' for more information)");
}
[Fact]
public void ShouldWriteCommandHelp()
{
mocks.Container.PluginGraph.CreateFamily(typeof (GitTfsCommand));
mocks.Container.PluginGraph.FindFamily(typeof (GitTfsCommand)).AddType(typeof (TestCommand), "test");
mocks.Container.Inject<GitTfsCommand>("test", new TestCommand());
mocks.ClassUnderTest.Run(new[]{"test"});
var output = outputWriter.GetStringBuilder().ToString();
output.AssertStartsWith("Usage: git-tfs test [options]");
}
public class TestCommand : GitTfsCommand
{
public bool Flag { get; set; }
OptionSet TestOptions = new OptionSet();
public OptionSet OptionSet
{
get { return TestOptions; }
}
public int Run(IList<string> args)
{
throw new System.NotImplementedException();
}
}
}
}