Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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;
            }
        }