コード例 #1
0
        public void Commit_RevertsOriginalObjects_ToCurrentObjects()
        {
            var wrappedData = new DomainObjectCollectionData();
            var decorator   = new ChangeCachingCollectionDataDecorator(wrappedData);

            decorator.Add(_domainObject);
            Assert.That(decorator.OriginalData.ToArray(), Is.Empty);

            decorator.Commit();

            Assert.That(decorator.OriginalData.ToArray(), Is.EqualTo(new[] { _domainObject }));
            CheckOriginalDataNotCopied(decorator);
        }
コード例 #2
0
        public void Rollback_SetsFlagUnchanged()
        {
            var wrappedData = new DomainObjectCollectionData();
            var decorator   = new ChangeCachingCollectionDataDecorator(wrappedData);

            decorator.Add(_domainObject);
            _strategyStrictMock.Replay();

            decorator.Rollback();

            Assert.That(decorator.HasChanged(_strategyStrictMock), Is.False);
            _strategyStrictMock.AssertWasNotCalled(
                mock => mock.HasDataChanged(Arg <IDomainObjectCollectionData> .Is.Anything, Arg <IDomainObjectCollectionData> .Is.Anything));
        }
コード例 #3
0
        public void Rollback_RevertsCurrentObjects_ToOriginalObjects()
        {
            var wrappedData = new DomainObjectCollectionData();
            var decorator   = new ChangeCachingCollectionDataDecorator(wrappedData);

            decorator.Add(_domainObject);

            Assert.That(decorator.ToArray(), Is.Not.Empty);
            Assert.That(decorator.OriginalData.ToArray(), Is.Empty);

            decorator.Rollback();

            Assert.That(decorator.ToArray(), Is.Empty);
            Assert.That(decorator.OriginalData.ToArray(), Is.Empty);
            CheckOriginalDataNotCopied(decorator);
        }
コード例 #4
0
        public void HasChanged_FastAnswer_WhenCountsDiffer()
        {
            _strategyStrictMock.Replay();

            _decoratorWithRealData.Add(DomainObjectMother.CreateFakeObject <Order> ()); // make counts differ
            Assert.That(_decoratorWithRealData.Count, Is.Not.EqualTo(_decoratorWithRealData.OriginalData.Count));

            var result = _decoratorWithRealData.HasChanged(_strategyStrictMock);

            _strategyStrictMock.AssertWasNotCalled(
                mock => mock.HasDataChanged(Arg.Is(_decoratorWithRealData), Arg <IDomainObjectCollectionData> .Is.Anything));
            Assert.That(result, Is.True);
        }