public void TestFixtureSetUp()
        {
            datumConverterFactory = Substitute.For <IDatumConverterFactory>();

            var intDatumConverter = Substitute.For <IDatumConverter>();

            intDatumConverter.ConvertDatum(Arg.Any <Datum>()).Returns(args => (int)((Datum)args[0]).r_num);
            intDatumConverter.ConvertObject(Arg.Any <object>()).Returns(args => new Datum()
            {
                type  = Datum.DatumType.R_NUM,
                r_num = (int)args [0]
            });

            IDatumConverter value;

            datumConverterFactory
            .TryGet(typeof(int), datumConverterFactory, out value)
            .Returns(args =>
            {
                args[2] = intDatumConverter;
                return(true);
            });

            datumConverterFactory.GetBestNativeTypeForDatum(Arg.Any <Datum>()).Returns(typeof(int));
        }
        public override Object ConvertDatum(Spec.Datum datum)
        {
            if (datum.type == Datum.DatumType.R_NULL)
            {
                return(null);
            }

            Type valueType      = rootDatumConverterFactory.GetBestNativeTypeForDatum(datum);
            var  valueConverter = rootDatumConverterFactory.Get(valueType);

            return(valueConverter.ConvertDatum(datum));
        }
        public void TestFixtureSetUp()
        {
            datumConverterFactory = Substitute.For<IDatumConverterFactory>();

            var intDatumConverter = Substitute.For<IDatumConverter>();
            intDatumConverter.ConvertDatum(Arg.Any<Datum>()).Returns(args => (int)((Datum)args[0]).r_num);
            intDatumConverter.ConvertObject(Arg.Any<object>()).Returns(args => new Datum()
            {
                type = Datum.DatumType.R_NUM,
                r_num = (int)args [0]
            });

            IDatumConverter value;
            datumConverterFactory
                .TryGet(typeof(int), datumConverterFactory, out value)
                .Returns(args =>
                {
                    args[2] = intDatumConverter;
                    return true;
                });

            datumConverterFactory.GetBestNativeTypeForDatum(Arg.Any<Datum>()).Returns(typeof(int));
        }
예제 #4
0
 public Type GetBestNativeTypeForDatum(Spec.Datum datum)
 {
     return(delegatedDatumConverterFactory.GetBestNativeTypeForDatum(datum));
 }