public void UserSettingForUnknownInspectionIsIgnored() { 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("Bar", 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; Assert.IsNull(settings.FirstOrDefault(setting => setting.Name == "Bar")); }
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 UserSettingsAreNotDuplicatedWithDefaultSettings() { 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(inspectionMock.Object.Name, inspectionMock.Object.InspectionType); 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; Assert.AreEqual(configProvider.ReadDefaults().CodeInspections.Count, settings.Count); }