Class: BDDSM::Suite

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/bddsm/suite.rb

Instance Method Summary collapse

Constructor Details

#initializeSuite

Returns a new instance of Suite.



5
6
7
8
9
10
# File 'lib/bddsm/suite.rb', line 5

def initialize
  @files = []
  @describes = []

  result.subscribe report
end

Instance Method Details

#add_describe(describe) ⇒ Object



18
19
20
# File 'lib/bddsm/suite.rb', line 18

def add_describe(describe)
  @describes << describe
end

#add_path(path) ⇒ Object



14
15
16
# File 'lib/bddsm/suite.rb', line 14

def add_path(path)
  @files << BDDSM::File.new(path)
end

#finalize_reportObject



32
# File 'lib/bddsm/suite.rb', line 32

def finalize_report = report.finalize

#load_filesObject



22
# File 'lib/bddsm/suite.rb', line 22

def load_files = @files.each(&:run)

#register_failure(error, location:) ⇒ Object



36
37
38
# File 'lib/bddsm/suite.rb', line 36

def register_failure(error, location:)
  result.register_failure(error, location:)
end

#register_successObject



34
# File 'lib/bddsm/suite.rb', line 34

def register_success = result.register_success

#reportObject



12
# File 'lib/bddsm/suite.rb', line 12

def report = @report ||= BDDSM::ProgressReport.new(result:, io: $stdout)

#resultObject



40
# File 'lib/bddsm/suite.rb', line 40

def result = @result ||= BDDSM::Result.new

#runObject



26
27
28
29
30
# File 'lib/bddsm/suite.rb', line 26

def run
  load_files
  run_examples
  finalize_report
end

#run_examplesObject



24
# File 'lib/bddsm/suite.rb', line 24

def run_examples = @describes.each(&:run)