Esempio n. 1
0
        public void Run()
        {
            MyClass c = new MyClass();
            MyInterface[] arr = new MyClass[4];
            arr[0] = c;

            MyBase[] arr2 = new MyClass[1];
            arr[0] = c;

            object[] arr3 = (object[])arr;
            arr3[1] = c;

            MyBaseInterface[] arr4 = new MyDerivedInterface[1];
            arr4[0] = c;

            object[] arr5 = new MyInterface[1];
            arr5[0] = c;

            MyClass[] arr6 = new MyClass[1];
            arr6[0] = c;
            PassClassAsInterface(arr6);

            MyClass[][] arr7 = new MyClass[1][];
            arr7[0] = new MyClass[1];
            arr7[0][0] = c;
            PassArrayOfArray(arr7);
        }
 public void Run()
 {
     MyClass[] array = new MyClass[1];
     array[0] = new MyClass();
     array[0].Value = "OK";
     PrintList(array);
 }
Esempio n. 3
0
        public void Can_use_more_csharpy_looking_syntax(
            MyClass instance)
        {
            int result = Switch.Match<object, int>(instance)
                .Case<MyClass>(c => 1);

            Assert.Equal(1, result);
        }
Esempio n. 4
0
 public void Should_match_the_first_case(
     MyClass instance)
 {
     int result = Switch.Match<object, int>(instance)
         .Case((MyClass c) => 1)
         .Case((MyClass2 c) => 2)
         .Case((MyClass3 c) => 3);
     Assert.Equal(1, result);
 }
Esempio n. 5
0
 public void Prepared_Multi_case(
     MyClass instance)
 {
     var result = Switch.Match<object, int>()
         .Case((MyClass c) => 1)
         .Case((MyClass2 c) => 2)
         .Case((MyClass3 c) => 3);
     Assert.Equal(1, result.ValueOf(instance));
 }
Esempio n. 6
0
 public void Multi_case_with_a_differnt_order(
     MyClass instance)
 {
     var result = Switch.Match<object, int>(instance)
         .Case((MyClass2 c) => 2)
         .Case((MyClass3 c) => 3)
         .Case((MyClass c) => 1);
     Assert.Equal(1, result.Value());
 }
 public void SetAsList1(bool flag, MyClass[] a, IList<object> b, out IList<object> result)
 {
     result = flag ? a : b;
 }
 public void SetAsEnumerable(bool flag, MyClass[] a, IEnumerable b, out IEnumerable result)
 {
     result = flag ? a : b;
 }
Esempio n. 9
0
 public void Should_match_the_first_case_when_void(
     MyClass instance)
 {
     var result = 0;
     Switch.Match<object>(instance)
         .Case((MyClass c) => {result = 1;})
         .Case((MyClass2 c) => {result = 2;})
         .Case((MyClass3 c) => {result = 3;})
         .ElseFail();
     Assert.Equal(1, result);
 }
Esempio n. 10
0
        public void Single_case(
            MyClass instance)
        {
            int result = Switch.Match<object, int>(instance)
                .Case((MyClass c) => 1);

            Assert.Equal(1, result);
        }
Esempio n. 11
0
        static void Main(string[] args)
        {
            var cc = new CompiledExpression() { StringToParse = "Convert.ToBoolean(obj.result)==true" };
            object obj = new objHolder() { result = true };
            cc.RegisterType("obj", obj);
            cc.RegisterDefaultTypes();
            var result = cc.Eval();

            var x = new List<String>() { "Hello", "There", "World" };
            dynamic scope = new ExpandoObject();
            scope.x = x;
            var data = new MyClass { Value = () => false };
            var item = new MyClass { Value = () => true };
            scope.data = data;
            scope.item = item;
            scope.i = 1;
            var a = scope.data.Value() && scope.item.Value();
            //var b = !scope.data.Value() || scope.item.Value();

            System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
            var pi = Convert.ToString(3.141592654);
            var xs = 2d;
            var pipi = 3.141592654.ToString();
            var c0 = new CompiledExpression() { StringToParse = "3.141592654.ToString()" };
            var pi2 = c0.Eval();

            var p = scope.x[0];

            // (data.Value && !item.Value) ? 'yes' : 'no'
            var c = new CompiledExpression() { StringToParse = "data.Foo(30 + data.Bar(10))" };
            c.RegisterType("data", data);
            Console.WriteLine(data.X);
            c.Eval();
            //c.Call();
            Console.WriteLine(data.X);

            var c8= new CompiledExpression() { StringToParse = "data.X  + '%'" };
            c8.RegisterType("data", data);
            Console.WriteLine(data.X);
            var cr = c8.Eval();
            Console.WriteLine(data.X);

            var c1 = new CompiledExpression() { StringToParse = "Foo()" };
            var f1 = c1.ScopeCompileCall<MyClass>();
            Console.WriteLine(data.X);
            f1(data);
            Console.WriteLine(data.X);
            System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
            var fr = new CultureInfo("fr-FR");

            var qq = (25.82).ToString("0.00", fr) + "px";
            var test = "(25.82).ToString('0.00') + 'px'";
            var cx = new CompiledExpression() { StringToParse = "int.Parse('25.82', fr)" };
            cx.RegisterType("fr", fr);

            var c2 = new CompiledExpression() { StringToParse = "data.Foo()" };
            var y = 12 + "px";
            var f2 = c2.ScopeCompileCall();
            Console.WriteLine(scope.data.X);
            f2(scope);
            Console.WriteLine(scope.data.X);

            scope.c = new c();

            var c3 = new CompiledExpression() { StringToParse = "c.sum(1,2,3,4,5,6,7,8)" };
            var f3 = c3.ScopeCompile();
            var x3 = f3(scope);

            var c4 = new CompiledExpression() { StringToParse = "c.sum(1,2)" };
            var f4 = c4.ScopeCompile();
            var x4 = f4(scope);

            var c5 = new CompiledExpression() { StringToParse = "c.sum(1.0d,2.0d)" };
            var f5 = c5.ScopeCompile();
            var x5 = f5(scope);

            var c6 = new CompiledExpression() { StringToParse = "c.sum(1,2.0d)" };
            var f6 = c6.ScopeCompile();
            var x6 = f6(scope);

            Console.ReadLine();
        }
Esempio n. 12
0
 private static void PutObject(ref MyBase obj, MyClass inObj)
 {
     obj = inObj;
 }
Esempio n. 13
0
        public void MyClassTest2()
        {
            var x = new MyClass("Bob");

            Assert.AreEqual("Bob", x.GetName());
        }
Esempio n. 14
0
 public void TestCV2(MyClass[,] arr)
 {
     TestCV(arr);
 }