示例#1
0
        public async Task SettingUnityRefreshDelayToZeroDoesNotSynchroniseMetadata()
        {
            // Arrange

            var metadataManager = Mock.Of <IDocumentMetadataManager>();

            var service = new SolutionEventsService(
                Mock.Of <DTE2>(),
                metadataManager,
                Mock.Of <IPinnedItemStorageService>(),
                Mock.Of <IProjectBrushService>(),
                Mock.Of <IUserPreferences>(u =>
                                           u.UnityRefreshDelay == 0));

            var fullName = GetTestDataPath("UnityProjectFile");

            var project = Mock.Of <Project>(p =>
                                            p.FullName == fullName &&
                                            p.DTE == Mock.Of <DTE>());

            // Act

            await service.ProjectAdded(project);

            // Assert

            Mock.Get(metadataManager).Verify(m =>
                                             m.Synchronize(
                                                 It.IsAny <Documents>(),
                                                 It.IsAny <bool>()),
                                             Times.Never);
        }
示例#2
0
        public async Task AddingUnityProjectSynchronisesMetadata()
        {
            // Arrange

            var documents       = Mock.Of <Documents>();
            var metadataManager = Mock.Of <IDocumentMetadataManager>();

            var service = new SolutionEventsService(
                Mock.Of <DTE2>(),
                metadataManager,
                Mock.Of <IPinnedItemStorageService>(),
                Mock.Of <IProjectBrushService>(),
                Mock.Of <IUserPreferences>(u =>
                                           u.UnityRefreshDelay == 100));

            var fullName = GetTestDataPath("UnityProjectFile");

            var project = Mock.Of <Project>(p =>
                                            p.FullName == fullName &&
                                            p.DTE == Mock.Of <DTE>(d =>
                                                                   d.Documents == documents));

            // Act

            await service.ProjectAdded(project);

            // Assert

            Mock.Get(metadataManager).Verify(m =>
                                             m.Synchronize(documents, true));
        }
示例#3
0
        public async Task UserPreferencesUnityRefreshDelayIsUsed()
        {
            // Arrange

            var service = new SolutionEventsService(
                Mock.Of <DTE2>(),
                Mock.Of <IDocumentMetadataManager>(),
                Mock.Of <IPinnedItemStorageService>(),
                Mock.Of <IProjectBrushService>(),
                Mock.Of <IUserPreferences>(u =>
                                           u.UnityRefreshDelay == -2));

            var fullName = GetTestDataPath("UnityProjectFile");

            var project = Mock.Of <Project>(p =>
                                            p.FullName == fullName &&
                                            p.DTE == Mock.Of <DTE>());

            ArgumentOutOfRangeException exception = null;

            // Act

            try
            {
                await service.ProjectAdded(project);
            }
            catch (ArgumentOutOfRangeException e)
            {
                exception = e;
            }

            // Assert

            Assert.AreEqual(
                "The value needs to be either -1 (signifying an infinite timeout), 0 or a positive integer.\r\nParameter name: millisecondsDelay",
                exception.Message);
        }