static void Main() { var commandArgumentsParser = new CommandArgumentsParser(); var fileHashCalculator = new FileHashCalculator(); var gitHubHttpClient = new HttpClient(); gitHubHttpClient.BaseAddress = new Uri(GitHubRepositoriesApiConstants.BaseUri); gitHubHttpClient.DefaultRequestHeaders.UserAgent.ParseAdd($"{Application.ProductName} {Application.ProductVersion}"); var releaseProvider = new GitHubRepositoryReleaseProvider( gitHubHttpClient, new GitHubRepositoryReleaseProviderSetting { OwnerName = "yossiejs", RepositoryName = "AppSight.FileHashChecker", }); var updateManager = new UpdateManager( releaseProvider, Application.ProductVersion); Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1( commandArgumentsParser, fileHashCalculator, updateManager)); }
public void TestParse() { var parser = new CommandArgumentsParser(); var args = new[] { "C:\\path\\to\\AppSight.FileHashChecker.exe", "-h", "-f", "C:\\path\\to\\note.txt", "-t", "sha512" }; var commandArguments = parser.Parse(args); Assert.Equal("C:\\path\\to\\AppSight.FileHashChecker.exe", commandArguments.ExePath); Assert.Equal("C:\\path\\to\\note.txt", commandArguments.Options.FilePath); Assert.Equal(HashType.SHA512, commandArguments.Options.HashType); Assert.True(commandArguments.Options.Help); }
private void TestPath(string args, string expected, bool validArg, bool?readToEnd = null) { int i = 0; string actual; Assert.Equal(validArg, CommandArgumentsParser.ParsePath(args, ref i, out actual)); Assert.Equal(expected, actual); if (readToEnd != null) { Assert.Equal(readToEnd, CommandArgumentsParser.ParseTrailingTrivia(args, ref i)); } }
public Form1( CommandArgumentsParser commandArgumentsParser, FileHashCalculator fileHashCaluculator, IUpdateManager updateManager) { _commandArgumentsParser = commandArgumentsParser ?? throw new ArgumentNullException(nameof(commandArgumentsParser)); _fileHashCalculator = fileHashCaluculator ?? throw new ArgumentNullException(nameof(fileHashCaluculator)); _updateManager = updateManager ?? throw new ArgumentNullException(nameof(updateManager)); // for debugging localization // Thread.CurrentThread.CurrentUICulture = new CultureInfo("ja-JP"); InitializeComponent(); _updateManager.UpdateFound += new EventHandler <UpdateFoundEventArgs>(HandleUpdateFound); _resourceManager = new ResourceManager(typeof(Form1)); }