class AnalyzedTestClassGenerator
Public Class Methods
new(analyzedClasses, analyzedTestClasses, testCaseDirectory)
click to toggle source
# File lib/AnalyzedClassGenerator.rb, line 123 def initialize (analyzedClasses, analyzedTestClasses, testCaseDirectory) @analyzedClasses = analyzedClasses @analyzedTestClasses = analyzedTestClasses @testCaseDirectory = testCaseDirectory end
Public Instance Methods
analyzedTestClassWithName(name)
click to toggle source
# File lib/AnalyzedClassGenerator.rb, line 208 def analyzedTestClassWithName (name) for testClass in @analyzedTestClasses if testClass.name == name.strip return testClass end end return nil end
generateAnalyzedTestClasses()
click to toggle source
# File lib/AnalyzedClassGenerator.rb, line 129 def generateAnalyzedTestClasses testedFunctionsMap = Hash.new curlyBraces = 0 count = 0 funcCurlyBraces = 0 funcLines = 0 name = nil testClass = nil Dir.glob("#{@testCaseDirectory}/**/*.swift") do |item| next if item == '.' or item == '..' f = File.open(item, "r") f.each_line do |line| tempName = AnalyzedClassGenerator.new.classNameForLine line, name if tempName != nil name = tempName end if name != nil if line.include? "{" curlyBraces = curlyBraces + 1 end if line.include? "}" curlyBraces = curlyBraces - 1 end if testClass == nil testClass = analyzedTestClassWithName name end variable = variableForLine testClass, line if variable for analyzedClass in @analyzedClasses if variable.type == analyzedClass.name for function in analyzedClass.functions if line.include? function.name # instance function analyzedClass.addTestedFunction function end end end end elsif line.strip.length > 9 for analyzedClass in @analyzedClasses if line.include? analyzedClass.name for function in analyzedClass.functions if line.include? function.name # Class function analyzedClass.addTestedFunction function end end end end end if curlyBraces == 0 testClass = nil name = nil curlyBraces = 0 end end end f.close end return testedFunctionsMap end
variableForLine(testClass, line)
click to toggle source
# File lib/AnalyzedClassGenerator.rb, line 217 def variableForLine (testClass, line) for variable in testClass.variablesWithType if line.include? variable.name return variable end end return nil end