Bike.Test.LanguageTest.DeepAssign C# (CSharp) Метод

DeepAssign() приватный Метод

private DeepAssign ( ) : void
Результат void
        public void DeepAssign()
        {
            Interpret(
                @"var obj = {o1: [{o2: [ {o3: [100]} ] }]};
                  obj.o1[0] = 10;
                  var a = obj.o1[0];")
            .Equal("a", 10);

            Interpret(
                @"obj = {o1: [{o2: [ {o3: [100]} ] }]};
                  obj.o1[0].o2 = 100;
                  a = obj.o1[0].o2;")
            .Equal("a", 100);

            Interpret(
                @"obj = {o1: [{o2: [ {o3: [100]} ] }]};
                  obj.o1[0].o2[0] = 1000;
                  a = obj.o1[0].o2[0];")
            .Equal("a", 1000);

            Interpret(
                @"obj = {o1: [{o2: [ {o3: [100]} ] }]};
                  obj.o1[0].o2[0].o3[0] = 10000;
                  a = obj.o1[0].o2[0].o3[0];")
            .Equal("a", 10000);

            Interpret(
                @"var ctx = {value: 1};
                  obj = {o1: [{o2: func() {
                                            ctx;
                                       }
                                  }
                                 ]
                            };
                  obj.o1[0].o2().value = 100;
                  a = ctx.value;")
            .Equal("a", 100);
        }