Example #1
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value == null)
            {
                return(null);
            }
            State    state = ((Light)value).State;
            RGBColor color = StateExtensions.ToRgb(state);

            return(new SolidColorBrush(RGBExtensions.ToColor(color)));
        }
        static void Main(string[] args)
        {
            RangeClient.Test();
            StackTest();
            FunctionalExtensions1.Test.TestExtension();
            FunctionalExtensions2.Test.TestExtension();
            //requires user input
            //LazyExtensions.Test();
            //FuncExtensions.Test();
            //IOExtensions.Test();

            StateExtensions.Test();
        }
        protected virtual TState InvokeAssociatedApply(object eventOrMessage)
        {
            var state = this as TState;

            if (eventOrMessage is IMessage message)
            {
                if (methodForMessageType.TryGetValue(message.Body.GetType(), out var mi))
                {
                    if (mi.ReturnType != typeof(void))
                    {
                        state = (TState)StateExtensions.ExtractState <TState>(((dynamic)state).Apply((dynamic)message)) ?? state;
                    }
                    else
                    {
                        ((dynamic)state).Apply((dynamic)message);
                    }
                }

                if (methodForEventType.TryGetValue(message.Body.GetType(), out mi))
                {
                    if (mi.ReturnType != typeof(void))
                    {
                        state = (TState)StateExtensions.ExtractState <TState>(((dynamic)state).Apply((dynamic)message.Body)) ?? state;
                    }
                    else
                    {
                        ((dynamic)state).Apply((dynamic)message.Body);
                    }
                }
            }
            else
            {
                var @event = eventOrMessage;

                if (methodForEventType.TryGetValue(@event.GetType(), out var mi))
                {
                    if (mi.ReturnType != typeof(void))
                    {
                        state = (TState)StateExtensions.ExtractState <TState>(((dynamic)state).Apply((dynamic)@event)) ?? state;
                    }
                    else
                    {
                        ((dynamic)state).Apply((dynamic)@event);
                    }
                }
            }

            return(state);
        }
Example #4
0
 public void SerializeBigInteger()
 {
     Assert.Equal(
         (Bencodex.Types.Integer) 123,
         StateExtensions.Serialize((BigInteger)123)
         );
     Assert.Equal(
         (Bencodex.Types.Integer) 456,
         StateExtensions.Serialize((BigInteger?)456)
         );
     Assert.Equal(
         default(Bencodex.Types.Null),
         StateExtensions.Serialize((BigInteger?)null)
         );
 }
 public State <TState, Unit> SetS(TValue value) => StateExtensions.Mod <TState>(s => Setter(s, value));