class FormGenerator
Public Class Methods
new(outputDirectoryOpt, testedFunctionsMap, analyzedClasses, numProjectFiles, numTestFiles)
click to toggle source
# File lib/FormGenerator.rb, line 8 def initialize (outputDirectoryOpt, testedFunctionsMap, analyzedClasses, numProjectFiles, numTestFiles) @analyzedClasses = analyzedClasses @testedFunctionsMap = testedFunctionsMap @totalLines = 0 @numClasses = 0 @numFunc = 0 @numProjectFiles = numProjectFiles @numTestFiles = numTestFiles @analysisDirectory = "SwiftCodeCoverage" if outputDirectoryOpt != nil if outputDirectoryOpt[-1,1] == "/" outputDirectoryOpt = outputDirectoryOpt[0..-2] end puts outputDirectoryOpt @analysisDirectory = "#{outputDirectoryOpt}/#{@analysisDirectory}" end @filesDir = "AnalysisFiles" end
Public Instance Methods
analysisDirectory()
click to toggle source
# File lib/FormGenerator.rb, line 131 def analysisDirectory @analysisDirectory end
analyzedClasses()
click to toggle source
# File lib/FormGenerator.rb, line 111 def analyzedClasses @analyzedClasses end
classesTested()
click to toggle source
# File lib/FormGenerator.rb, line 79 def classesTested numClasses = 0 for analyzedClass in @analyzedClasses if analyzedClass.testedFunctions.count > 0 numClasses += 1 end end return numClasses end
createProjectStats()
click to toggle source
# File lib/FormGenerator.rb, line 59 def createProjectStats for analyzedClass in @analyzedClasses @numClasses += 1 @numFunc += analyzedClass.functions.count @totalLines += analyzedClass.numberOfLines end end
functionsTested()
click to toggle source
# File lib/FormGenerator.rb, line 67 def functionsTested numLines = 0 numFunctions = 0 for analyzedClass in @analyzedClasses for function in analyzedClass.testedFunctions numLines += function.numLines numFunctions += 1 end end return numLines, numFunctions end
generateForm()
click to toggle source
# File lib/FormGenerator.rb, line 28 def generateForm createProjectStats printResultsToCommandLine # Start creating HTML puts puts "Generating form..." puts "#{@analysisDirectory}" if File.directory?(@analysisDirectory) FileUtils.rm_rf(@analysisDirectory) end Dir.mkdir(@analysisDirectory) indexHTML = IndexHTMLFile.new(self) indexHTML.beginWriting for analyzedClass in @analyzedClasses analysisFile = AnalysisHTMLFile.new("#{@analysisDirectory}/#{@filesDir}", analyzedClass) analysisFile.writeFile indexHTML.addAnalysisItem analyzedClass, analysisFile end indexHTML.endWriting puts "Finished generating form at #{@analysisDirectory}" # Finish HTML end
numClasses()
click to toggle source
# File lib/FormGenerator.rb, line 123 def numClasses @numClasses end
numFunc()
click to toggle source
# File lib/FormGenerator.rb, line 127 def numFunc @numFunc end
numProjectFiles()
click to toggle source
# File lib/FormGenerator.rb, line 135 def numProjectFiles @numProjectFiles end
numTestFiles()
click to toggle source
# File lib/FormGenerator.rb, line 139 def numTestFiles @numTestFiles end
printResultsToCommandLine()
click to toggle source
# File lib/FormGenerator.rb, line 89 def printResultsToCommandLine puts puts "Total classes: #{@numClasses}" puts "Total functions: #{@numFunc}" puts "Total lines: #{@totalLines}" puts numLinesTested, numFunctionsTested = functionsTested puts "Total functions Tested: #{numFunctionsTested}" puts "Total lines Tested: #{numLinesTested}" percFunc = (numFunctionsTested / Float(@numFunc) * 100).round percLines = (numLinesTested / Float(@totalLines) * 100).round puts "Function coverage: #{percFunc}%" puts "Line coverage: #{percLines}%" end
testedFunctionsMap()
click to toggle source
# File lib/FormGenerator.rb, line 115 def testedFunctionsMap @testedFunctionsMap end
totalLines()
click to toggle source
# File lib/FormGenerator.rb, line 119 def totalLines @totalLines end