예제 #1
0
        public void CanGetField()
        {
            var o = new ClassWithField
            {
                Field = "Mickey Mouse"
            };

            _engine.SetValue("o", o);

            RunTest(@"
                assert(o.Field === 'Mickey Mouse');
            ");
        }
예제 #2
0
        public void CanSetField()
        {
            var o = new ClassWithField();

            _engine.SetValue("o", o);

            RunTest(@"
                o.Field = 'Mickey Mouse';
                assert(o.Field === 'Mickey Mouse');
            ");

            Assert.Equal("Mickey Mouse", o.Field);
        }
예제 #3
0
        public void SourceHasFieldMarkedForCopy_SourceIsReplicated_FieldWasCopied()
        {
            IMetadataProvider metadataProvider = MetadataProviderFor <ClassWithField>(
                member: x => x.field, returnsBehavior: ReplicationBehavior.Copy);
            CommonReplicationStrategy replicator = ReplicatorFor <ClassWithField>(metadataProvider);

            var source = new ClassWithField {
                field = new Class()
            };
            var result = replicator.Replicate(source, dummyContext).As <ClassWithField>();

            Assert.That(result.field, Is.SameAs(source.field));
        }
예제 #4
0
        public void Can_Set_Field_To_Value()
        {
            var containerManager = new ContainerManager();
            var testObject       = new ClassWithField();

            containerManager.AddObjectToContainer("container", testObject, "obj");
            var reference = containerManager.GetInstancesInContainer("container")
                            .Single(x => x.Name == "obj");

            containerManager.SetPropertyValue(reference.InstanceId, nameof(ClassWithField.IntField), "151");

            testObject.IntField.Should().Be(151);
        }
예제 #5
0
        public void SourceHasFieldMarkedForReplication_SourceIsReplicated_FieldWasReplicated()
        {
            var sourceField = new Class();
            var resultField = new Class();

            IMetadataProvider         metadataProvider = MetadataProviderFor <ClassWithField>(x => x.field, ReplicationBehavior.DeepCopy);
            CommonReplicationStrategy replicator       = ReplicatorFor <ClassWithField>(metadataProvider);
            IReplicationContext       context          = ReplicationContextThat(onReceiving: sourceField, returns: resultField);

            var source = new ClassWithField {
                field = sourceField
            };
            var result = replicator.Replicate(source, context).As <ClassWithField>();

            Assert.That(result.field, Is.SameAs(resultField));
        }
        public void Fields_Are_Included_In_Instance_Details()
        {
            var containerManager = new ContainerManager();
            var testObject       = new ClassWithField {
                IntField = 1
            };

            containerManager.AddObjectToContainer("container", testObject, "obj");
            var reference = containerManager.GetInstancesInContainer("container")
                            .Single(x => x.Name == "obj");

            var details = containerManager.GetInstanceDetails(reference.InstanceId);

            details.Should().NotBeNull();
            details.Properties.Length.Should().Be(1);
            details.Properties[0].Name.Should().Be(nameof(ClassWithField.IntField));
            details.Properties[0].ValueAsString.Should().Be("1");
        }
예제 #7
0
    void Method()
    {
        var test = new ClassWithField();

        MethodWithRef(ref test.Member);
    }
예제 #8
0
 void Method()
 {
     var test = new ClassWithField();
     MethodWithRef(ref test.Member);
 }
예제 #9
0
 private static void Problem(ClassWithField a)
 {
     a.Field = a.Call(ref a.Field);
 }