public void UserSettingsAreCombinedWithDefaultSettings() { var inspectionMock = new Mock <IInspection>(); inspectionMock.Setup(inspection => inspection.Name).Returns("Foo"); var inspectionProviderMock = new Mock <IInspectionProvider>(); inspectionProviderMock.Setup(provider => provider.Inspections).Returns(new[] { inspectionMock.Object }); var userSetting = new CodeInspectionSetting("Foo", CodeInspectionType.CodeQualityIssues); var userSettings = new CodeInspectionSettings { CodeInspections = new HashSet <CodeInspectionSetting>(new[] { userSetting }) }; var persisterMock = new Mock <IPersistenceService <CodeInspectionSettings> >(); persisterMock.Setup(persister => persister.Load(null)).Returns(userSettings); var configProvider = new CodeInspectionConfigProvider(persisterMock.Object, inspectionProviderMock.Object); var settings = configProvider.Read().CodeInspections; var defaultSettings = configProvider.ReadDefaults().CodeInspections; Assert.Contains(userSetting, settings.ToArray()); Assert.IsTrue(defaultSettings.All(s => settings.Contains(s))); }
public void SettingsForFoundInspectionsAreAddedToDefaultSettings() { var inspectionMock = new Mock <IInspection>(); inspectionMock.Setup(inspection => inspection.Name).Returns(inspectionMock.Object.GetType().FullName); var inspectionProviderMock = new Mock <IInspectionProvider>(); inspectionProviderMock.Setup(provider => provider.Inspections).Returns(new[] { inspectionMock.Object }); var configProvider = new CodeInspectionConfigProvider(null, inspectionProviderMock.Object); var defaults = configProvider.ReadDefaults(); Assert.NotNull(defaults.GetSetting(inspectionMock.Object.GetType())); }