Ejemplo n.º 1
0
        public void CanHandle_Always(string str)
        {
            var reader      = new StringReader(str);
            var charHandler = new CharHandler();

            charHandler.CanHandle(reader).Should().BeTrue();
        }
Ejemplo n.º 2
0
        public void ReadAllCharByChar(string str)
        {
            var reader      = new StringReader(str);
            var charHandler = new CharHandler();
            var symbols     = Enumerable.Range(0, str.Length).Select(i => charHandler.HandleSubstring(reader));

            string.Join("", symbols).Should().Be(str);
        }
Ejemplo n.º 3
0
        private void RegisterBuiltinHandlers()
        {
            IntHandler intHandler = new IntHandler();

            RegisterBuiltinHandler(Handlers4.IntId, intHandler);
            RegisterHandlerVersion(intHandler, 0, new IntHandler0());
            LongHandler longHandler = new LongHandler();

            RegisterBuiltinHandler(Handlers4.LongId, longHandler);
            RegisterHandlerVersion(longHandler, 0, new LongHandler0());
            FloatHandler floatHandler = new FloatHandler();

            RegisterBuiltinHandler(Handlers4.FloatId, floatHandler);
            RegisterHandlerVersion(floatHandler, 0, new FloatHandler0());
            BooleanHandler booleanHandler = new BooleanHandler();

            RegisterBuiltinHandler(Handlers4.BooleanId, booleanHandler);
            // TODO: Are we missing a boolean handler version?
            DoubleHandler doubleHandler = new DoubleHandler();

            RegisterBuiltinHandler(Handlers4.DoubleId, doubleHandler);
            RegisterHandlerVersion(doubleHandler, 0, new DoubleHandler0());
            ByteHandler byteHandler = new ByteHandler();

            RegisterBuiltinHandler(Handlers4.ByteId, byteHandler);
            // TODO: Are we missing a byte handler version?
            CharHandler charHandler = new CharHandler();

            RegisterBuiltinHandler(Handlers4.CharId, charHandler);
            // TODO: Are we missing a char handler version?
            ShortHandler shortHandler = new ShortHandler();

            RegisterBuiltinHandler(Handlers4.ShortId, shortHandler);
            RegisterHandlerVersion(shortHandler, 0, new ShortHandler0());
            _stringHandler = new StringHandler();
            RegisterBuiltinHandler(Handlers4.StringId, _stringHandler);
            RegisterHandlerVersion(_stringHandler, 0, new StringHandler0());
            DateHandler dateHandler = new DateHandler();

            RegisterBuiltinHandler(Handlers4.DateId, dateHandler);
            RegisterHandlerVersion(dateHandler, 0, new DateHandler0());
            RegisterUntypedHandlers();
            RegisterCompositeHandlerVersions();
        }
Ejemplo n.º 4
0
        public static INumberHandler Get(Type type)
        {
            INumberHandler result;

            if (!handlers.TryGetValue(type, out result))
            {
                if (type == typeof(int))
                {
                    result = new IntHandler();
                }
                else if (type == typeof(float))
                {
                    result = new FloatHandler();
                }
                else if (type == typeof(long))
                {
                    result = new LongHandler();
                }
                else if (type == typeof(double))
                {
                    result = new DoubleHandler();
                }
                else if (type == typeof(byte))
                {
                    result = new ByteHandler();
                }
                else if (type == typeof(char))
                {
                    result = new CharHandler();
                }
                else if (type == typeof(short))
                {
                    result = new ShortHandler();
                }
                else if (type == typeof(uint))
                {
                    result = new UIntHandler();
                }
                else if (type == typeof(ulong))
                {
                    result = new ULongHandler();
                }
                else if (type == typeof(sbyte))
                {
                    result = new SByteHandler();
                }
                else if (type == typeof(ushort))
                {
                    result = new UShortHandler();
                }
                else if (type == typeof(decimal))
                {
                    result = new DecimalHandler();
                }
                else
                {
                    result = null;
                }

                handlers[type] = result;
            }

            return(result);
        }