protected override void Load(ContainerBuilder builder)
        {
            var signatures = new RazorTransform().GetSignatures().ToArray();

            // get methods and shorthand from builder
            _methods   = builder.Properties.ContainsKey("Methods") ? (HashSet <string>)builder.Properties["Methods"] : new HashSet <string>();
            _shortHand = builder.Properties.ContainsKey("ShortHand") ? (ShorthandRoot)builder.Properties["ShortHand"] : new ShorthandRoot();

            RegisterShortHand(signatures);
            RegisterTransform(builder, c => new RazorTransform(c), signatures);
        }
        public void TestMethod1()
        {
            var cfg     = @"<cfg name='process' read-only='true'>
   <entities>
      <add name='entity'>
         <rows>
            <add FirstName='Dale' LastName='Newman' />
         </rows>
         <fields>
            <add name='FirstName' />
            <add name='LastName' />
         </fields>
         <calculated-fields>
            <add name='FullName'>
               <transforms>
                  <add method='razor' template='@{var fullName = Model.FirstName + "" "" + Model.LastName;}@fullName' >
                     <parameters>
                        <add field='FirstName' />
                        <add field='LastName' />
                     </parameters>
                  </add>
               </transforms>
            </add>
         </calculated-fields>
      </add>
   </entities>
</cfg>";
            var process = new Process(cfg);

            Assert.AreEqual(0, process.Errors().Length);

            // manually build out test without autofac to make it more of a unit test
            var logger    = new ConsoleLogger();
            var entity    = process.Entities.First();
            var field     = entity.CalculatedFields.First();
            var operation = field.Transforms.First();
            var context   = new PipelineContext(logger, process, entity, field, operation);
            var transform = new RazorTransform(context);
            var input     = new InputContext(context);
            var reader    = new InternalReader(input, new RowFactory(input.RowCapacity, entity.IsMaster, false));

            var rows = transform.Operate(reader.Read()).ToArray();

            Assert.AreEqual("Dale Newman", rows[0][field]);
        }