public async Task OnRestoreInfoChangedAsync_UnchangedValueAsValue_DoesNotPushToRestoreService() { int callCount = 0; var solutionRestoreService = IVsSolutionRestoreServiceFactory.ImplementNominateProjectAsync((projectFile, info, cancellationToken) => { callCount++; }); var instance = await CreateInitializedInstance(solutionRestoreService : solutionRestoreService); var restoreInfo = IVsProjectRestoreInfo2Factory.Create(); var value = IProjectVersionedValueFactory.Create <IVsProjectRestoreInfo2>(restoreInfo); await instance.OnRestoreInfoChangedAsync(value); Assert.Equal(1, callCount); // Should have only been called once }
public async Task OnRestoreInfoChangedAsync_PushesRestoreInfoToRestoreService() { IVsProjectRestoreInfo2 result = null; var solutionRestoreService = IVsSolutionRestoreServiceFactory.ImplementNominateProjectAsync((projectFile, info, cancellationToken) => { result = info; }); var instance = await CreateInitializedInstance(solutionRestoreService : solutionRestoreService); var restoreInfo = IVsProjectRestoreInfo2Factory.Create(); var value = IProjectVersionedValueFactory.Create(restoreInfo); await instance.OnRestoreInfoChangedAsync(value); Assert.Same(restoreInfo, result); }