Ejemplo n.º 1
0
        public static void RunSimpleInvertibleDemo()
        {
            Source      source             = new Source();
            Destination dest               = new Destination();
            InvertibleArrow <int, int> arr = Op.Arr((int x) => x + 1, (int x) => x - 1);

            BindingsManager.CreateBinding(source.GetBindPoint("source"), arr, dest.GetBindPoint("result"));

            bool   passed = true;
            Random rand   = new Random();

            for (int i = 0; i < 100; i++)
            {
                int next = rand.Next();
                source.source = next;
                if (dest.result != next + 1)
                {
                    passed = false;
                }
                dest.result -= 1;
                if (source.source != next - 1)
                {
                    passed = false;
                }
            }

            if (passed)
            {
                Console.WriteLine("Invertible works too!");
            }
            else
            {
                Console.WriteLine("Invertible doesn't work tho D:");
            }
        }
Ejemplo n.º 2
0
        public static void RunSimpleDemo()
        {
            Source           source = new Source();
            Destination      dest   = new Destination();
            Arrow <int, int> arr    = new IDArrow <int>();

            BindingsManager.CreateBinding(source.GetBindPoint("source"), arr, dest.GetBindPoint("result"));

            bool   passed = true;
            Random rand   = new Random();

            for (int i = 0; i < 100; i++)
            {
                int next = rand.Next();
                source.source = next;
                if (dest.result != source.source)
                {
                    passed = false;
                }
            }

            if (passed)
            {
                Console.WriteLine("Works!");
            }
            else
            {
                Console.WriteLine("Doesn't work D:");
            }

            //BindingsManager.CreateBinding(source.GetBindPoint("source"), Op.Arr((int x) => x - 1), dest.GetBindPoint("result"));
        }
        public static void RunSimpleInvertibleDemo()
        {
            Source source = new Source();
            Destination dest = new Destination();
            InvertibleArrow<int, int> arr = Op.Arr((int x) => x + 1, (int x) => x - 1);
            BindingsManager.CreateBinding(source.GetBindPoint("source"), arr, dest.GetBindPoint("result"));

            bool passed = true;
            Random rand = new Random();

            for (int i = 0; i < 100; i++)
            {
                int next = rand.Next();
                source.source = next;
                if (dest.result != next + 1) passed = false;
                dest.result -= 1;
                if (source.source != next - 1) passed = false;
            }

            if (passed) Console.WriteLine("Invertible works too!");
            else Console.WriteLine("Invertible doesn't work tho D:");
        }
        public static void RunSimpleDemo()
        {
            Source source = new Source();
            Destination dest = new Destination();
            Arrow<int, int> arr = new IDArrow<int>();
            BindingsManager.CreateBinding(source.GetBindPoint("source"), arr, dest.GetBindPoint("result"));

            bool passed = true;
            Random rand = new Random();

            for (int i = 0; i < 100; i++)
            {
                int next = rand.Next();
                source.source = next;
                if (dest.result != source.source) passed = false;
            }

            if (passed) Console.WriteLine("Works!");
            else Console.WriteLine("Doesn't work D:");

            //BindingsManager.CreateBinding(source.GetBindPoint("source"), Op.Arr((int x) => x - 1), dest.GetBindPoint("result"));
        }
Ejemplo n.º 5
0
        public static void RunInvertibleMultiDemo()
        {
            Source           source = new Source();
            MultiDestination dest   = new MultiDestination();

            var swapper = new SwapArrow <int, int>();

            BindingsManager.CreateBinding(BindingsManager.Sources(source.GetBindPoint("source"), source.GetBindPoint("multiplies")),
                                          swapper,
                                          BindingsManager.Destinations(dest.GetBindPoint("leftResult"), dest.GetBindPoint("rightResult")));

            source.source     = 3;
            source.multiplies = 4;

            if (dest.leftResult == source.multiplies && dest.rightResult == source.source)
            {
                Console.WriteLine("Invertible multibindings work!");
            }
            else
            {
                Console.WriteLine("Invertible multibindings do not work D:");
            }
        }
        public static void RunInvertibleMultiDemo()
        {
            Source source = new Source();
            MultiDestination dest = new MultiDestination();

            var swapper = new SwapArrow<int, int>();

            BindingsManager.CreateBinding(BindingsManager.Sources(source.GetBindPoint("source"), source.GetBindPoint("multiplies")),
                swapper,
                BindingsManager.Destinations(dest.GetBindPoint("leftResult"), dest.GetBindPoint("rightResult")));

            source.source = 3;
            source.multiplies = 4;

            if (dest.leftResult == source.multiplies && dest.rightResult == source.source)
            {
                Console.WriteLine("Invertible multibindings work!");
            }
            else
            {
                Console.WriteLine("Invertible multibindings do not work D:");
            }
        }