logic 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/array.rb +7 -0
- data/lib/range.rb +7 -0
- data/lib/symbol.rb +7 -0
- data/lib/truth_table.rb +1 -1
- metadata +9 -10
- data/features/mcdc_pairs.feature +0 -37
- data/features/step_definitions/logic_testing_steps.rb +0 -3
- data/features/support/env.rb +0 -5
- data/features/truth_table.feature +0 -70
data/lib/array.rb
ADDED
data/lib/range.rb
ADDED
data/lib/symbol.rb
ADDED
data/lib/truth_table.rb
CHANGED
@@ -23,7 +23,7 @@ class TruthTable
|
|
23
23
|
|
24
24
|
def mcdc_pairs
|
25
25
|
condition_identifiers.map do |condition_identifier|
|
26
|
-
"#{condition_identifier} => #{mcdc_pairs_for(condition_identifier)}"
|
26
|
+
"#{condition_identifier} => #{mcdc_pairs_for(condition_identifier).inspect}"
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 4
|
9
|
+
version: 0.0.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Bryan Ash
|
@@ -55,21 +55,20 @@ extra_rdoc_files:
|
|
55
55
|
- LICENSE
|
56
56
|
- README.rdoc
|
57
57
|
files:
|
58
|
-
-
|
59
|
-
- features/mcdc_pairs.feature
|
60
|
-
- features/step_definitions/logic_testing_steps.rb
|
61
|
-
- features/support/env.rb
|
62
|
-
- features/truth_table.feature
|
58
|
+
- lib/array.rb
|
63
59
|
- lib/integer.rb
|
64
60
|
- lib/logic_operations.rb
|
65
|
-
- lib/
|
61
|
+
- lib/range.rb
|
62
|
+
- lib/symbol.rb
|
66
63
|
- lib/test_case.rb
|
67
64
|
- lib/truth_table.rb
|
68
|
-
-
|
69
|
-
-
|
65
|
+
- lib/logic_parser.treetop
|
66
|
+
- bin/logic
|
70
67
|
- spec/logic_parser_spec.rb
|
71
68
|
- spec/spec.opts
|
72
69
|
- spec/truth_table_spec.rb
|
70
|
+
- LICENSE
|
71
|
+
- README.rdoc
|
73
72
|
has_rdoc: true
|
74
73
|
homepage: http://github.com/bryan-ash/logic
|
75
74
|
licenses: []
|
data/features/mcdc_pairs.feature
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
Feature: MC/DC Pairs
|
2
|
-
|
3
|
-
In order to reduce the number of tests required for a logic statment
|
4
|
-
as an engineer
|
5
|
-
I want to see the MC/DC test pairs
|
6
|
-
|
7
|
-
Scenario: a single condition
|
8
|
-
When I run logic mcdc_pairs 'a'
|
9
|
-
Then I should see:
|
10
|
-
"""
|
11
|
-
a => [[1, 2]]
|
12
|
-
"""
|
13
|
-
|
14
|
-
Scenario: 'a and b' decision
|
15
|
-
When I run logic mcdc_pairs 'a and b'
|
16
|
-
Then I should see:
|
17
|
-
"""
|
18
|
-
a => [[2, 4]]
|
19
|
-
b => [[3, 4]]
|
20
|
-
"""
|
21
|
-
|
22
|
-
Scenario: 'a or b' decision
|
23
|
-
When I run logic mcdc_pairs 'a or b'
|
24
|
-
Then I should see:
|
25
|
-
"""
|
26
|
-
a => [[1, 3]]
|
27
|
-
b => [[1, 2]]
|
28
|
-
"""
|
29
|
-
|
30
|
-
Scenario: 'a and (b or c)' decision
|
31
|
-
When I run logic mcdc_pairs 'a and (b or c)'
|
32
|
-
Then I should see:
|
33
|
-
"""
|
34
|
-
a => [[2, 6], [3, 7], [4, 8]]
|
35
|
-
b => [[5, 7]]
|
36
|
-
c => [[5, 6]]
|
37
|
-
"""
|
data/features/support/env.rb
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
Feature: Truth Table
|
2
|
-
|
3
|
-
In order to appreciate the complexity of a logic statement
|
4
|
-
as an engineer
|
5
|
-
I want to see the truth table
|
6
|
-
|
7
|
-
Scenario: a single condition
|
8
|
-
When I run logic truth_table 'a'
|
9
|
-
Then I should see:
|
10
|
-
"""
|
11
|
-
a | output
|
12
|
-
1) 0 | 0
|
13
|
-
2) 1 | 1
|
14
|
-
"""
|
15
|
-
|
16
|
-
Scenario: 'a or b' decision
|
17
|
-
When I run logic truth_table 'a or b'
|
18
|
-
Then I should see:
|
19
|
-
"""
|
20
|
-
a b | output
|
21
|
-
1) 0 0 | 0
|
22
|
-
2) 0 1 | 1
|
23
|
-
3) 1 0 | 1
|
24
|
-
4) 1 1 | 1
|
25
|
-
"""
|
26
|
-
|
27
|
-
Scenario: 'a or b or c' decision
|
28
|
-
When I run logic truth_table 'a or b or c'
|
29
|
-
Then I should see:
|
30
|
-
"""
|
31
|
-
a b c | output
|
32
|
-
1) 0 0 0 | 0
|
33
|
-
2) 0 0 1 | 1
|
34
|
-
3) 0 1 0 | 1
|
35
|
-
4) 0 1 1 | 1
|
36
|
-
5) 1 0 0 | 1
|
37
|
-
6) 1 0 1 | 1
|
38
|
-
7) 1 1 0 | 1
|
39
|
-
8) 1 1 1 | 1
|
40
|
-
"""
|
41
|
-
|
42
|
-
Scenario: 'a and b and c' decision
|
43
|
-
When I run logic truth_table 'a and b and c'
|
44
|
-
Then I should see:
|
45
|
-
"""
|
46
|
-
a b c | output
|
47
|
-
1) 0 0 0 | 0
|
48
|
-
2) 0 0 1 | 0
|
49
|
-
3) 0 1 0 | 0
|
50
|
-
4) 0 1 1 | 0
|
51
|
-
5) 1 0 0 | 0
|
52
|
-
6) 1 0 1 | 0
|
53
|
-
7) 1 1 0 | 0
|
54
|
-
8) 1 1 1 | 1
|
55
|
-
"""
|
56
|
-
|
57
|
-
Scenario: '(a and b) or c' decision
|
58
|
-
When I run logic truth_table '(a and b) or c'
|
59
|
-
Then I should see:
|
60
|
-
"""
|
61
|
-
a b c | output
|
62
|
-
1) 0 0 0 | 0
|
63
|
-
2) 0 0 1 | 1
|
64
|
-
3) 0 1 0 | 0
|
65
|
-
4) 0 1 1 | 1
|
66
|
-
5) 1 0 0 | 0
|
67
|
-
6) 1 0 1 | 1
|
68
|
-
7) 1 1 0 | 1
|
69
|
-
8) 1 1 1 | 1
|
70
|
-
"""
|