Beispiel #1
0
        public void SourceHasCtor_SourceIsReplicated_CtorWasNotCalledDuringReplication()
        {
            CommonReplicationStrategy replicator = ReplicatorFor <ClassWithCtor>();

            var result = replicator.Replicate(new ClassWithCtor(), dummyContext).As <ClassWithCtor>();

            Assert.That(result.CtorWasCalled, Is.False);
        }
Beispiel #2
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));
        }
Beispiel #3
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));
        }
Beispiel #4
0
        public void SourceIsValueType_SourceIsReplicated_FieldWasReplicated()
        {
            DateTime sourceField = DateTime.Today;
            DateTime resultField = DateTime.Today.AddDays(1);

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

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

            Assert.That(result.field, Is.EqualTo(resultField));
        }
Beispiel #5
0
        public void ReplicatorForBaseType_ReceivesInheritedType_Exception()
        {
            CommonReplicationStrategy replicator = ReplicatorFor <Class>();

            Assert.Throws <ArgumentException>(() => replicator.Replicate(new InheritedClass(), dummyContext));
        }