Class: TestBench::Output::Timer::Substitute::Timer

Inherits:
TestBench::Output::Timer show all
Defined in:
lib/test_bench/output/timer/substitute.rb

Constant Summary

Constants inherited from TestBench::Output::Timer

Error

Instance Attribute Summary collapse

Attributes inherited from TestBench::Output::Timer

#start_time

Instance Method Summary collapse

Methods inherited from TestBench::Output::Timer

configure, #reset, #running?, #stopped?

Instance Attribute Details

#elapsed_timeObject



10
11
12
# File 'lib/test_bench/output/timer/substitute.rb', line 10

def elapsed_time
  @elapsed_time ||= 0.0
end

#modeObject



15
16
17
# File 'lib/test_bench/output/timer/substitute.rb', line 15

def mode
  @mode ||= Mode.stopped
end

Instance Method Details

#set(elapsed_time) ⇒ Object



38
39
40
# File 'lib/test_bench/output/timer/substitute.rb', line 38

def set(elapsed_time)
  self.elapsed_time = elapsed_time
end

#start(_ = nil) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/test_bench/output/timer/substitute.rb', line 20

def start(_=nil)
  if mode == Mode.running
    raise Error, "Timer has already started"
  end

  self.mode = Mode.running
end

#stop(_ = nil) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/test_bench/output/timer/substitute.rb', line 28

def stop(_=nil)
  if mode == Mode.stopped
    raise Error, "Timer has not started"
  end

  self.mode = Mode.stopped

  elapsed_time.round(3)
end