public override void SetUp()
 {
     base.SetUp();
     _mockRepository    = new MockRepository();
     _cloner            = new DomainObjectCloner();
     _contextMock       = MockRepository.StrictMock <CloneContext>(Cloner);
     _sourceTransaction = ClientTransaction.CreateRootTransaction();
     _cloneTransaction  = ClientTransaction.CreateRootTransaction();
 }
예제 #2
0
        public void CreateClone_WithInvalidContext()
        {
            Assert.That(() => _cloner.CreateClone(_classWithAllDataTypes, new CompleteCloneStrategy(), new CloneContext(_cloner)), Throws.Nothing);
            var otherCloner = new DomainObjectCloner();

            Assert.That(
                () => _cloner.CreateClone(_classWithAllDataTypes, new CompleteCloneStrategy(), new CloneContext(otherCloner)),
                Throws.ArgumentException.With.Message.EqualTo(
                    "The given CloneContext must have been created for this DomainObjectCloner.\r\nParameter name: context"));
        }
예제 #3
0
        public void TwoClonesWithSameContext()
        {
            DomainObjectCloner cloner  = new DomainObjectCloner();
            CloneContext       context = new CloneContext(cloner);

            Order source = DomainObjectIDs.Order1.GetObject <Order> ();
            Order clone1 = cloner.CreateClone(source, new CompleteCloneStrategy(), context);
            Order clone2 = cloner.CreateClone(source, new CompleteCloneStrategy(), context);

            Assert.That(clone1, Is.SameAs(clone2));
        }
예제 #4
0
        public override void SetUp()
        {
            base.SetUp();
            _mockRepository        = new MockRepository();
            _cloner                = new DomainObjectCloner();
            _classWithAllDataTypes = DomainObjectIDs.ClassWithAllDataTypes1.GetObject <ClassWithAllDataTypes> ();
            _order1                = DomainObjectIDs.Order1.GetObject <Order> ();
            _computer1             = DomainObjectIDs.Computer1.GetObject <Computer> ();

            _boundSource = ClientTransaction.CreateRootTransaction().ExecuteInScope(() => ClassWithAllDataTypes.NewObject());
            _boundSource.Int32Property = 123;

            _classWithClonerCallback =
                (ClassWithClonerCallback)LifetimeService.NewObject(TestableClientTransaction, typeof(ClassWithClonerCallback), ParamList.Empty);
        }
예제 #5
0
        public void CompleteCloneStrategy()
        {
            DomainObjectCloner cloner = new DomainObjectCloner();

            cloner.CloneTransaction = ClientTransaction.CreateRootTransaction();

            Order source = DomainObjectIDs.Order1.GetObject <Order> ();
            Order clone  = cloner.CreateClone(source, new CompleteCloneStrategy());

            Assert.That(clone, Is.Not.SameAs(source));
            Assert.That(clone.OrderNumber, Is.EqualTo(source.OrderNumber));

            Assert.That(clone.OrderItems[0], Is.Not.SameAs(source.OrderItems[0]));
            Assert.That(clone.OrderItems[0].Product, Is.EqualTo(source.OrderItems[0].Product));
            Assert.That(clone.OrderTicket, Is.Not.SameAs(source.OrderTicket));
            Assert.That(clone.OrderTicket.FileName, Is.EqualTo(source.OrderTicket.FileName));
            Assert.That(clone.Customer, Is.Not.SameAs(source.Customer));
            Assert.That(clone.Customer.Name, Is.EqualTo(source.Customer.Name));
            Assert.That(clone.Customer.Orders.ContainsObject(clone));
        }
 public override void SetUp()
 {
     base.SetUp();
     _mockRepository = new MockRepository();
     _clonerMock     = _mockRepository.StrictMock <DomainObjectCloner> ();
 }