Class: TestBench::Session::Status

Inherits:
Struct
  • Object
show all
Defined in:
lib/test_bench/session/status.rb,
lib/test_bench/session/status.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#error_sequenceObject

Returns the value of attribute error_sequence

Returns:

  • (Object)

    the current value of error_sequence



3
4
5
# File 'lib/test_bench/session/status.rb', line 3

def error_sequence
  @error_sequence
end

#failure_sequenceObject

Returns the value of attribute failure_sequence

Returns:

  • (Object)

    the current value of failure_sequence



3
4
5
# File 'lib/test_bench/session/status.rb', line 3

def failure_sequence
  @failure_sequence
end

#skip_sequenceObject

Returns the value of attribute skip_sequence

Returns:

  • (Object)

    the current value of skip_sequence



3
4
5
# File 'lib/test_bench/session/status.rb', line 3

def skip_sequence
  @skip_sequence
end

#test_sequenceObject

Returns the value of attribute test_sequence

Returns:

  • (Object)

    the current value of test_sequence



3
4
5
# File 'lib/test_bench/session/status.rb', line 3

def test_sequence
  @test_sequence
end

Class Method Details

.initialObject



6
7
8
# File 'lib/test_bench/session/status.rb', line 6

def self.initial
  new(0, 0, 0, 0)
end

Instance Method Details

#compare(previous_status) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/test_bench/session/status.rb', line 45

def compare(previous_status)
  test_sequence_difference = test_sequence - previous_status.test_sequence

  failure_sequence_difference = failure_sequence - previous_status.failure_sequence

  error_sequence_difference = error_sequence - previous_status.error_sequence

  skip_sequence_difference = skip_sequence - previous_status.skip_sequence

  Status.new(test_sequence_difference, failure_sequence_difference, error_sequence_difference, skip_sequence_difference)
end

#result(previous_status = nil, pending_event = nil) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/test_bench/session/status.rb', line 10

def result(previous_status=nil, pending_event=nil)
  previous_status ||= Status.initial

  compare_status = compare(previous_status)

  if not pending_event.nil?
    compare_status.update(pending_event)
  end

  if compare_status.error_sequence > 0
    Result.aborted
  elsif compare_status.failure_sequence > 0
    Result.failed
  elsif compare_status.skip_sequence > 0
    Result.incomplete
  elsif not compare_status.test_sequence > 0
    Result.none
  else
    Result.passed
  end
end

#update(event) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/test_bench/session/status.rb', line 32

def update(event)
  case event
  when Events::TestFinished
    self.test_sequence += 1
  when Events::Failed
    self.failure_sequence += 1
  when Events::Aborted, Events::FileNotFound
    self.error_sequence += 1
  when Events::Skipped
    self.skip_sequence += 1
  end
end