1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
namespace CmdLine.Tests
{
extern alias migrate;
using System;
using System.Collections.Generic;
public class TestCommandEnvironment : migrate::CmdLine.ICommandEnvironment
{
private string[] args;
public TestCommandEnvironment()
{
}
public TestCommandEnvironment(string cmdLine)
{
CommandLine = cmdLine;
Args = cmdLine.Split(' ');
}
public TestCommandEnvironment(string[] args)
{
Args = args;
CommandLine = string.Join(" ", args);
}
public string[] Args
{
get
{
if (args == null)
{
SetArgs(null);
}
return args;
}
private set { SetArgs(value); }
}
#region ICommandEnvironment Members
public string CommandLine { get; private set; }
public string[] GetCommandLineArgs()
{
return Args;
}
public string Program
{
get { return Environment.GetCommandLineArgs()[0]; }
}
#endregion
private void SetArgs(IEnumerable<string> values)
{
var argList = new List<string>
{
Program
};
if (values != null)
{
argList.AddRange(values);
}
args = argList.ToArray();
}
}
}
|