public void ExecuteCommand(SocketMessage msg, IList <string> args) { var buildGenerator = new BuildGenerator(); var excludeInline = false; var excludeInlineParam = args.FirstOrDefault(x => x.ToLower() == "[ni]"); if (excludeInlineParam != null) { excludeInline = true; args.Remove(excludeInlineParam); } var amount = args.Count; if (amount > 1) { if (amount > 12) { msg.Channel.SendMessageAsync("Can't generate more than 12 builds at the same time!"); return; } using (var stream = buildGenerator.GenerateWithNames(args, true, excludeInline).Result){ msg.Channel.SendFileAsync(new MemoryStream(stream.ToArray()), $"{amount}build.png", embed: Program.GetBuildEmbed(amount, true, excludeInline)); return; } } msg.Channel.SendMessageAsync("Please enter at least 2 names"); }
public void TestEmptyReferenceDir() { StringBuilder sb = new StringBuilder(); var parser = CreateTestParser(sb); var generator = BuildGenerator.Create(parser, new string[] { "-s", "Valid" }); Assert.IsNull(generator); string output = sb.ToString().Trim('\r', '\n'); Assert.IsTrue(output.Contains(Resources.NoPathSpecifiedMessage)); }
public void TestValidRootPath() { StringBuilder sb = new StringBuilder(); var parser = CreateTestParser(sb); var generator = BuildGenerator.Create(parser, new string[] { "-x", "Valid" }); string output = sb.ToString().Trim('\r', '\n'); Assert.AreEqual("Valid\\Bin\\Framework", generator.ReferencesPath); Assert.AreEqual("Valid\\Bin\\Framework", generator.OutputPath); Assert.AreEqual("Valid\\Sources", generator.SourceCodeDir); Assert.IsNotNull(generator); }
public void TestEmptyParameters() { StringBuilder sb = new StringBuilder(); var parser = CreateTestParser(sb); var generator = BuildGenerator.Create(parser, new string[0]); Assert.IsNull(generator); string output = sb.ToString().Trim('\r', '\n'); Assert.IsTrue(output.EndsWith(Resources.UseHelpOptionForUsage)); Assert.IsTrue(output.Contains(Resources.NoPathSpecifiedMessage)); }
public void ExecuteCommand(SocketMessage msg, IList <string> args) { var buildGenerator = new BuildGenerator(); switch (args.Count) { case 0: using (var stream = buildGenerator.Generate(true)){ msg.Channel.SendFileAsync(new MemoryStream(stream.ToArray()), "build.png", embed: Program.GetBuildEmbed(1, true)); } return; case 1: if (int.TryParse(args[0], out var x)) { if (x > 12) { msg.Channel.SendMessageAsync("Can't generate more than 12 builds at the same time!"); return; } using (var stream = buildGenerator.Generate(x, true).Result){ msg.Channel.SendFileAsync(new MemoryStream(stream.ToArray()), $"{x}build.png", embed: Program.GetBuildEmbed(x, true)); return; } } if (args[0].ToLower() != "[ni]") { msg.Channel.SendMessageAsync("Invalid parameters!"); return; } using (var stream = buildGenerator.Generate(true, true)){ msg.Channel.SendFileAsync(new MemoryStream(stream.ToArray()), "build.png", embed: Program.GetBuildEmbed(1, true, true)); } return; case 2: var excludeInlineParam = args.FirstOrDefault(x => x.ToLower() == "[ni]"); var excludeInline = false; if (excludeInlineParam != null) { excludeInline = true; args.Remove(excludeInlineParam); } if (int.TryParse(args[0], out var y)) { using (var stream = buildGenerator.Generate(y, excludeInline: excludeInline).Result){ msg.Channel.SendFileAsync(new MemoryStream(stream.ToArray()), "build.png", embed: Program.GetBuildEmbed(1, true, excludeInline)); } return; } break; default: msg.Channel.SendMessageAsync("Invalid parameters!"); return; } }