public void ProcessFile_Processes_Rules_For_Content_And_Increments_FileCount() { var ruleVisitor = Substitute.For <IRuleVisitor>(); var reporter = Substitute.For <IBaseReporter>(); var fileSystem = Substitute.For <IFileSystem>(); var processor = new SqlFileProcessor(ruleVisitor, reporter, fileSystem); const string fileContents = "MyFileContents"; const string filePath = "PathToFile.sql"; processor.ProcessFile(fileContents, filePath); ruleVisitor.Received().VisitRules(filePath, Arg.Any <TextReader>()); reporter.DidNotReceive().Report(Arg.Any <string>()); Assert.AreEqual(1, processor.GetFileCount()); }