Ejemplo n.º 1
0
        public void Transformations_AbstractTrace_Trace()
        {
            trace.Trace("a").AssertContainsOnly(c_a);
            trace.Trace("b").AssertContainsOnly(c_b);
            trace.Trace("a", "b").AssertContainsOnly(c_ab);
            trace.Trace("b", "c").AssertContainsOnly(c_bc);
            trace.Trace("a", "b", "c").AssertContainsOnly(c_abc);
            trace.Trace("b", "c", "d").AssertContainsOnly(c_bcd);

            trace.Trace("c").AssertEmpty();
            trace.Trace("a", "a").AssertEmpty();
        }
Ejemplo n.º 2
0
        public static IEnumerable <TOut> ResolveMany <TIn, TOut>(this ITransformationTrace trace, TIn input)
            where TIn : class
            where TOut : class
        {
            if (trace == null)
            {
                throw new ArgumentNullException("trace");
            }

            return(from ITraceEntry c in trace.Trace(input)
                   select c.Output as TOut);
        }
Ejemplo n.º 3
0
        public static TOut Resolve <TIn, TOut>(this ITransformationTrace trace, TIn input)
            where TIn : class
            where TOut : class
        {
            if (trace == null)
            {
                throw new ArgumentNullException("trace");
            }

            var comp = trace.Trace(input).FirstOrDefault();

            return(comp != null ? comp.Output as TOut : null);
        }
Ejemplo n.º 4
0
        public static TOut Resolve <TIn1, TIn2, TOut>(this ITransformationTrace trace, TIn1 input1, TIn2 input2)
            where TIn1 : class
            where TIn2 : class
            where TOut : class
        {
            if (trace == null)
            {
                throw new ArgumentNullException("trace");
            }

            var outputType = typeof(TOut);
            var comp       = trace.Trace(input1, input2).FirstOrDefault(c => c.TransformationRule.OutputType == outputType);

            return(comp != null ? comp.Output as TOut : null);
        }