コード例 #1
0
            private void sets_intercepted_value_when_IndexerProperty_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance[2, "b", new SimpleStruct(2), new SimpleClass(2), new InheritsFromSimpleClass(2)] = new Tuple <int, string, SimpleStruct, SimpleClass, InheritsFromSimpleClass, object>(1, "a", new SimpleStruct(1), new SimpleClass(1), new InheritsFromSimpleClass(1), null);
                    var result = instance._indexerValue;

                    Assert.NotNull(result);
                    Assert.Equal(3, result.Item1);
                    Assert.Equal("c", result.Item2);
                    Assert.Equal(3, result.Item3.Value);
                    Assert.Equal(3, result.Item4.Value);
                    Assert.Equal(3, result.Item5.Value);
                    Assert.NotNull(result.Item6);

                    var item6 = result.Item6 as Tuple <int, string, SimpleStruct, SimpleClass, InheritsFromSimpleClass, object>;
                    Assert.Equal(4, item6.Item1);
                    Assert.Equal("d", item6.Item2);
                    Assert.Equal(4, item6.Item3.Value);
                    Assert.Equal(4, item6.Item4.Value);
                    Assert.Equal(4, item6.Item5.Value);
                    Assert.Null(item6.Item6);
                });
            }
コード例 #2
0
            private void returns_intercepted_value_when_InterceptedRefType_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();
                    var result   = instance.InterceptedRefType;

                    Assert.Equal("ab", result);
                });
            }
コード例 #3
0
            private void returns_original_value_when_OriginalGenericType_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();
                    var result   = instance.OriginalGenericType;

                    Assert.Equal(1, result.Value);
                });
            }
コード例 #4
0
            private void returns_original_value_when_OriginalExternalRefType_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();
                    var result   = instance.OriginalExternalRefTypeList;

                    Assert.Single(result);
                    Assert.Equal(1, result[0].Value);
                });
            }
コード例 #5
0
            private void sets_intercepted_value_when_InterceptedSetOnlyProperty_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.InterceptedSetOnlyProperty = 3;

                    Assert.Equal(4, instance._setOnlyPropertyValue);
                });
            }
コード例 #6
0
            private void returns_intercepted_value_when_InterceptedGenericTypeList_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();
                    var result   = instance.InterceptedGenericTypeList;

                    Assert.Equal(2, result.Count);
                    Assert.Equal(2, result[0].Value);
                    Assert.Equal(1, result[1].Value);
                });
            }
コード例 #7
0
            private void sets_intercepted_value_when_InterceptedValueType_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.InterceptedValueType = 3;
                    var result = instance.InterceptedValueType;

                    Assert.Equal(4, result);
                });
            }
コード例 #8
0
            private void returns_intercepted_value_when_InterceptedExternalRefTypeArray_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();
                    var result   = instance.InterceptedExternalRefTypeArray;

                    Assert.Equal(2, result.Length);
                    Assert.Equal(2, result[0].Value);
                    Assert.Equal(1, result[1].Value);
                });
            }
コード例 #9
0
            private void sets_original_value_when_OriginalExternalValueType_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.OriginalExternalValueType = new SimpleStruct(3);
                    var result = instance.OriginalExternalValueType;

                    Assert.Equal(3, result.Value);
                });
            }
コード例 #10
0
            private void sets_intercepted_value_when_InterceptedByMultipleAspects_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.InterceptedByMultipleAspects = 2;
                    var result = instance._interceptedByMultipleAspectsValue;

                    Assert.Equal(13, result);
                });
            }
コード例 #11
0
            private void sets_original_value_when_OriginalRefType_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.OriginalRefType = "c";
                    var result = instance.OriginalRefType;

                    Assert.Equal("c", result);
                });
            }
コード例 #12
0
            private void sets_original_value_when_OriginalGenericTypeArray_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.OriginalGenericTypeArray = new[] { new InheritsFromSimpleClass(3) };
                    var result = instance.OriginalGenericTypeArray;

                    Assert.Single(result);
                    Assert.Equal(3, result[0].Value);
                });
            }
コード例 #13
0
            private void returns_original_value_when_OriginalGetOnlyYieldProperty_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();
                    var result   = instance.OriginalGetOnlyYieldProperty.ToArray();

                    Assert.Equal(3, result.Length);
                    Assert.Equal(0, result[0]);
                    Assert.Equal(1, result[1]);
                    Assert.Equal(2, result[2]);
                });
            }
コード例 #14
0
            private void sets_intercepted_value_when_InterceptedGenericTypeArray_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.InterceptedGenericTypeArray = new[] { new InheritsFromSimpleClass(3) };
                    var result = instance.InterceptedGenericTypeArray;

                    Assert.Equal(2, result.Length);
                    Assert.Equal(4, result[0].Value);
                    Assert.Equal(3, result[1].Value);
                });
            }
コード例 #15
0
            private void sets_intercepted_value_when_InterceptedRefTypeArray_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.InterceptedRefTypeArray = new[] { "c" };
                    var result = instance.InterceptedRefTypeArray;

                    Assert.Equal(2, result.Length);
                    Assert.Equal("ca", result[0]);
                    Assert.Equal("cb", result[1]);
                });
            }
コード例 #16
0
            private void returns_intercepted_value_when_InterceptedGetOnlyYieldProperty_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();
                    var result   = instance.InterceptedGetOnlyYieldProperty.ToArray();

                    Assert.Equal(4, result.Length);
                    Assert.Equal(5, result[0]);
                    Assert.Equal(6, result[1]);
                    Assert.Equal(7, result[2]);
                    Assert.Equal(8, result[3]);
                });
            }
コード例 #17
0
            private void sets_original_value_when_OriginalRefTypeList_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.OriginalRefTypeList = new List <string> {
                        "c"
                    };
                    var result = instance.OriginalRefTypeList;

                    Assert.Single(result);
                    Assert.Equal("c", result[0]);
                });
            }
コード例 #18
0
            private void sets_original_value_when_OriginalExternalValueTypeList_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.OriginalExternalValueTypeList = new List <SimpleStruct> {
                        new SimpleStruct(3)
                    };
                    var result = instance.OriginalExternalValueTypeList;

                    Assert.Single(result);
                    Assert.Equal(3, result[0].Value);
                });
            }
コード例 #19
0
            private void sets_intercepted_value_when_InterceptedRefTypeList_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.InterceptedRefTypeList = new List <string> {
                        "c"
                    };
                    var result = instance.InterceptedRefTypeList;

                    Assert.Equal(2, result.Count);
                    Assert.Equal("ca", result[0]);
                    Assert.Equal("cb", result[1]);
                });
            }
コード例 #20
0
            private void sets_intercepted_value_when_InterceptedExternalRefTypeList_is_called()
            {
                Execute(() =>
                {
                    var instance = new InterceptPropertiesClass <InheritsFromSimpleClass>();

                    instance.InterceptedExternalRefTypeList = new List <SimpleClass> {
                        new SimpleClass(3)
                    };
                    var result = instance.InterceptedExternalRefTypeList;

                    Assert.Equal(2, result.Count);
                    Assert.Equal(4, result[0].Value);
                    Assert.Equal(3, result[1].Value);
                });
            }
コード例 #21
0
            private void returns_original_value_when_IndexerProperty_is_called()
            {
                Execute(() =>
                {
                    var instance           = new InterceptPropertiesClass <InheritsFromSimpleClass>();
                    instance._indexerValue = new Tuple <int, string, SimpleStruct, SimpleClass, InheritsFromSimpleClass, object>(2, "b", new SimpleStruct(2), new SimpleClass(2), new InheritsFromSimpleClass(2), null);

                    var result = instance[1, "a", new SimpleStruct(1), new SimpleClass(1), new InheritsFromSimpleClass(1)];

                    Assert.NotNull(result);
                    Assert.Equal(2, result.Item1);
                    Assert.Equal("b", result.Item2);
                    Assert.Equal(2, result.Item3.Value);
                    Assert.Equal(2, result.Item4.Value);
                    Assert.Equal(2, result.Item5.Value);
                    Assert.Null(result.Item6);
                });
            }