Exemplo n.º 1
0
        public void Execute_SetsCorrectRef_WhenReferenceTypeIsUnitTestsSources()
        {
            ICreatioPkgProjectCreator creator = Substitute.For <ICreatioPkgProjectCreator>();
            ICreatioPkgProject        project = Substitute.For <ICreatioPkgProject>();

            creator.CreateFromFile(Arg.Any <string>()).Returns(project);
            ReferenceOptions options = new ReferenceOptions {
                Path          = "Testpath",
                ReferenceType = "unit-src"
            };
            ReferenceCommand command = new ReferenceCommand(creator);

            command.Execute(options);
            project.Received(1).RefToUnitCoreSrc();
        }
Exemplo n.º 2
0
        public void Execute_SetsCustomRef_WhenReferenceTypeIsEmpty()
        {
            ICreatioPkgProjectCreator creator = Substitute.For <ICreatioPkgProjectCreator>();
            ICreatioPkgProject        project = Substitute.For <ICreatioPkgProject>();

            creator.CreateFromFile(Arg.Any <string>()).Returns(project);
            ReferenceOptions options = new ReferenceOptions {
                Path       = "Testpath",
                RefPattern = "TestPattern"
            };
            ReferenceCommand command = new ReferenceCommand(creator);

            command.Execute(options);
            project.Received(1).RefToCustomPath(options.RefPattern);
        }
Exemplo n.º 3
0
        public override int Execute(ReferenceOptions options)
        {
            options.Path = options.Path ?? CurrentProj;
            if (string.IsNullOrEmpty(options.Path))
            {
                throw new ArgumentNullException(nameof(options.Path));
            }
            if (!string.IsNullOrEmpty(options.RefPattern))
            {
                options.ReferenceType = "custom";
            }
            ICreatioPkgProject project = _projectCreator.CreateFromFile(options.Path);

            try {
                switch (options.ReferenceType)
                {
                case "bin":
                    project = project.RefToBin();
                    break;

                case "src":
                    project = project.RefToCoreSrc();
                    break;

                case "custom":
                    project = project.RefToCustomPath(options.RefPattern);
                    break;

                case "unit-bin":
                    project = project.RefToUnitBin();
                    break;

                case "unit-src":
                    project = project.RefToUnitCoreSrc();
                    break;

                default:
                    throw new NotSupportedException($"You use not supported option type {options.ReferenceType}");
                }
                project.SaveChanges();
                Console.WriteLine("Done");
                return(0);
            } catch (Exception e) {
                Console.WriteLine(e);
                return(1);
            }
        }