public void TestSetup()
        {
            this.revisionDao      = new Mock <IRevisionDao>();
            this.revisionResolver = new RevisionResolver {
                RevisionDao = this.revisionDao.Object
            };

            this.revision1 = new RevisionRegistryInfo
            {
                Actor    = Guid.NewGuid(),
                Instant  = timestamp1,
                Revision = 1
            };

            this.revision2 = new RevisionRegistryInfo
            {
                Actor    = Guid.NewGuid(),
                Instant  = timestamp2,
                Revision = 2
            };

            this.revision3 = new RevisionRegistryInfo
            {
                Actor    = Guid.NewGuid(),
                Instant  = timestamp3,
                Revision = 3
            };

            this.revision4 = new RevisionRegistryInfo
            {
                Actor    = Guid.NewGuid(),
                Instant  = timestamp4,
                Revision = 4
            };

            this.revision5 = new RevisionRegistryInfo
            {
                Actor    = Guid.NewGuid(),
                Instant  = timestamp5,
                Revision = 5
            };

            var revisionRegistryInfoList = new List <RevisionRegistryInfo>
            {
                this.revision1,
                this.revision2,
                this.revision3,
                this.revision4,
                this.revision5
            };

            this.revisionDao.Setup(x => x.ReadRevisionRegistry(It.IsAny <NpgsqlTransaction>(), It.IsAny <string>())).Returns(revisionRegistryInfoList);
        }
Пример #2
0
        private void EnsureList()
        {
            if (RevisionResolver == null || SvnOrigin == null)
            {
                return;
            }

            foreach (AnkhRevisionType ri in new ArrayList(typeCombo.Items))
            {
                if (!ri.IsValidOn(SvnOrigin))
                {
                    if (ri == _currentRevType)
                    {
                        _newValue       = ri.CurrentValue;
                        _currentRevType = null;
                    }
                    typeCombo.Items.Remove(ri);
                }
            }

            if (_revTypes != null)
            {
                foreach (AnkhRevisionType rt in _revTypes)
                {
                    if (rt.IsValidOn(SvnOrigin) && !typeCombo.Items.Contains(rt))
                    {
                        typeCombo.Items.Add(rt);
                    }
                }
            }
            else
            {
                _revTypes = new List <AnkhRevisionType>();
            }

            foreach (AnkhRevisionType rt in RevisionResolver.GetRevisionTypes(SvnOrigin))
            {
                if (_revTypes.Contains(rt))
                {
                    continue;
                }

                _revTypes.Add(rt);
                typeCombo.Items.Add(rt);
            }

            if (_currentRevType == null && _newValue != null && _newValue != SvnRevision.None)
            {
                AnkhRevisionType rt = RevisionResolver.Resolve(SvnOrigin, _newValue);

                if (rt != null && !rt.IsValidOn(SvnOrigin))
                {
                    _newValue = SvnOrigin.Target.Revision;
                    if (_newValue == null || _newValue == SvnRevision.None)
                    {
                        _newValue = (SvnOrigin.Target is SvnUriTarget) ? SvnRevision.Head : SvnRevision.Base;
                    }

                    rt = RevisionResolver.Resolve(SvnOrigin, _newValue);
                }

                SetRevision(rt);
            }

            if (_currentRevType != typeCombo.SelectedItem)
            {
                typeCombo.SelectedItem = _currentRevType;
            }
        }