public void GetSolutionLevelFilePaths_ReturnPathToSettingsFile() { var settings = new RulesSettings(); var testSubject = new CFamilyBindingConfig(settings, "c:\\test"); testSubject.SolutionLevelFilePaths.Count().Should().Be(1); testSubject.SolutionLevelFilePaths.First().Should().Be(testSubject.FilePath); }
public void Ctor_ValidArgs() { var settings = new RulesSettings(); var testSubject = new CFamilyBindingConfig(settings, "c:\\test"); testSubject.RuleSettings.Equals(settings); testSubject.FilePath.Equals("c:\\test"); }
public void Save_SettingsAreSerializedAndSaved() { // Arrange var settings = new RulesSettings { Rules = new Dictionary <string, RuleConfig> { { "key", new RuleConfig { Level = RuleLevel.On, Severity = IssueSeverity.Minor, Parameters = new Dictionary <string, string> { { "p1", "p2" } } } } } }; string actualPath = null; string actualText = null; var fileSystemMock = new Mock <IFileSystem>(); fileSystemMock.Setup(x => x.File.WriteAllText(It.IsAny <string>(), It.IsAny <string>())) .Callback <string, string>((p, t) => { actualPath = p; actualText = t; }); var testSubject = new CFamilyBindingConfig(settings, "c:\\full\\path\\file.txt", fileSystemMock.Object); // Act testSubject.Save(); // Assert actualPath.Should().Be("c:\\full\\path\\file.txt"); actualText.Should().Be(@"{ ""sonarlint.rules"": { ""key"": { ""level"": ""On"", ""parameters"": { ""p1"": ""p2"" }, ""severity"": ""Minor"" } } }"); }