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); }
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)); }
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); }