Пример #1
0
        /// <summary>
        /// Turns a merge consignment and options into code
        /// </summary>
        /// <param name="mergeConsignment">The merger details</param>
        /// <param name="mergeOptions">Options for the code merger</param>
        /// <returns>Merged code</returns>
        public static string Merge(MergeConsignment mergeConsignment, MergeOptions mergeOptions)
        {
            var stringBuilder = new StringBuilder();

            foreach (var mergeItems in mergeConsignment.MergeItems)
                stringBuilder.Append(MergeItem(mergeConsignment.CodeInput, mergeItems, mergeOptions));

            return stringBuilder.ToString();
        }
Пример #2
0
        public void CodeMergeConsignmentWithSimpleConsignmentAndDefaultOptionsShallSucceed()
        {
            //Setup
            var inputCode = @"public TYPE PROP;
            ";
            var expectedOutputCode = @"public string Name;
            public int Id;
            ";

            var mergeConsignment = new MergeConsignment
                {
                    CodeInput = inputCode,
                    MergeItems = new List<MergeItem>
                        {
                            new MergeItem
                                {
                                    MergeParings = new List<MergePairing>
                                    {
                                        new MergePairing { SwapValue = "PROP", InputValue = "Name" } ,
                                        new MergePairing { SwapValue = "TYPE", InputValue = "string" }
                                    }
                                },
                            new MergeItem
                                {
                                    MergeParings = new List<MergePairing>
                                    {
                                        new MergePairing { SwapValue = "PROP", InputValue = "Id" } ,
                                        new MergePairing { SwapValue = "TYPE", InputValue = "int" }
                                    }
                                }
                        }
                };

            var mergeOptions = new MergeOptions();//Default

            //Exercise
            var actualCodeOutput = MergeHelper.Merge(mergeConsignment, mergeOptions);

            //Verify
            Assert.AreEqual(expectedOutputCode, actualCodeOutput, "The actual code output is not what was expected: " + actualCodeOutput);
        }