logic 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/logic +2 -2
- data/lib/logic_operations.rb +3 -3
- data/lib/logic_parser.treetop +7 -6
- data/spec/logic_parser_spec.rb +9 -3
- metadata +47 -62
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 397f970e699d515bdde7d8e1de8c721fcd653ae4
|
4
|
+
data.tar.gz: 9b13c676f0606347dea178edee118b0367df33db
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 83fb66a1bcada7c6e4fcc26567ae367c8e429b0d4f39775fd5296ab2736c64c77cca0927fb2140e61f58e2aa5e431e9d63706c06c43e96498be40f10f54d2aae
|
7
|
+
data.tar.gz: 3f1d5980bff682648e9fb2b6dc28fb7e395ef92b31544d57add4c8098de5a477e662d097b2994011b60a03547677cdb9c2a44b7a457d96e0f5e3c504b44a74a5
|
data/bin/logic
CHANGED
data/lib/logic_operations.rb
CHANGED
@@ -23,7 +23,7 @@ end
|
|
23
23
|
|
24
24
|
module Condition
|
25
25
|
include Decision
|
26
|
-
|
26
|
+
|
27
27
|
def condition_identifiers
|
28
28
|
[text_value]
|
29
29
|
end
|
@@ -35,7 +35,7 @@ end
|
|
35
35
|
|
36
36
|
module BinaryDecision
|
37
37
|
include Decision
|
38
|
-
|
38
|
+
|
39
39
|
def condition_identifiers
|
40
40
|
elements.map(&:condition_identifiers).flatten
|
41
41
|
end
|
@@ -49,7 +49,7 @@ end
|
|
49
49
|
|
50
50
|
module Negation
|
51
51
|
include Decision
|
52
|
-
|
52
|
+
|
53
53
|
def condition_identifiers
|
54
54
|
operand.condition_identifiers
|
55
55
|
end
|
data/lib/logic_parser.treetop
CHANGED
@@ -5,8 +5,8 @@ grammar Logic
|
|
5
5
|
end
|
6
6
|
|
7
7
|
rule binary_decision
|
8
|
-
operand_1:unary_decision space
|
9
|
-
operator space
|
8
|
+
operand_1:unary_decision space
|
9
|
+
operator space
|
10
10
|
operand_2:decision <BinaryDecision>
|
11
11
|
end
|
12
12
|
|
@@ -15,6 +15,7 @@ grammar Logic
|
|
15
15
|
end
|
16
16
|
|
17
17
|
rule negation
|
18
|
+
space?
|
18
19
|
'not' space operand:unary_decision <Negation>
|
19
20
|
end
|
20
21
|
|
@@ -23,19 +24,19 @@ grammar Logic
|
|
23
24
|
end
|
24
25
|
|
25
26
|
rule parenthesized
|
26
|
-
'(' contents:decision ')' <Parenthesized>
|
27
|
+
'(' space? contents:decision space? ')' <Parenthesized>
|
27
28
|
end
|
28
29
|
|
29
30
|
rule operator
|
30
31
|
'and' <And>
|
31
|
-
/
|
32
|
+
/
|
32
33
|
'or' <Or>
|
33
|
-
/
|
34
|
+
/
|
34
35
|
'xor' <Xor>
|
35
36
|
end
|
36
37
|
|
37
38
|
rule space
|
38
39
|
[ \t\n\r]+
|
39
40
|
end
|
40
|
-
|
41
|
+
|
41
42
|
end
|
data/spec/logic_parser_spec.rb
CHANGED
@@ -42,15 +42,15 @@ describe LogicParser, :parsing do
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
-
{ '
|
45
|
+
{ 'condition' =>
|
46
46
|
{ [0] => 0,
|
47
47
|
[1] => 1
|
48
48
|
},
|
49
|
-
'(
|
49
|
+
'(condition)' =>
|
50
50
|
{ [0] => 0,
|
51
51
|
[1] => 1
|
52
52
|
},
|
53
|
-
'not
|
53
|
+
' not negated' =>
|
54
54
|
{ [0] => 1,
|
55
55
|
[1] => 0
|
56
56
|
},
|
@@ -89,6 +89,12 @@ describe LogicParser, :parsing do
|
|
89
89
|
[0, 0, 1] => 1
|
90
90
|
},
|
91
91
|
'A and (B or C)' =>
|
92
|
+
{ [1, 0, 0] => 0,
|
93
|
+
[1, 1, 0] => 1,
|
94
|
+
[1, 0, 1] => 1,
|
95
|
+
[0, 1, 1] => 0
|
96
|
+
},
|
97
|
+
'( A and (B or C) )' =>
|
92
98
|
{ [1, 0, 0] => 0,
|
93
99
|
[1, 1, 0] => 1,
|
94
100
|
[1, 0, 1] => 1,
|
metadata
CHANGED
@@ -1,60 +1,55 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: logic
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 0
|
7
|
-
- 1
|
8
|
-
- 2
|
9
|
-
version: 0.1.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.3
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
6
|
+
authors:
|
12
7
|
- Bryan Ash
|
13
8
|
autorequire:
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-10-31 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
21
14
|
name: treetop
|
22
|
-
|
23
|
-
|
24
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
25
17
|
- - ">="
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
segments:
|
28
|
-
- 1
|
29
|
-
- 4
|
30
|
-
- 2
|
18
|
+
- !ruby/object:Gem::Version
|
31
19
|
version: 1.4.2
|
32
20
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: polyglot
|
36
21
|
prerelease: false
|
37
|
-
|
38
|
-
requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.4.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: polyglot
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
39
31
|
- - ">="
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
segments:
|
42
|
-
- 0
|
43
|
-
- 2
|
44
|
-
- 9
|
32
|
+
- !ruby/object:Gem::Version
|
45
33
|
version: 0.2.9
|
46
34
|
type: :runtime
|
47
|
-
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.2.9
|
48
41
|
description: Produces truth table and MC/DC test case pairs from parsed logic statement
|
49
|
-
email:
|
50
|
-
executables:
|
42
|
+
email: ''
|
43
|
+
executables:
|
51
44
|
- logic
|
52
45
|
extensions: []
|
53
|
-
|
54
|
-
|
46
|
+
extra_rdoc_files:
|
47
|
+
- LICENSE
|
48
|
+
- README.rdoc
|
49
|
+
files:
|
55
50
|
- LICENSE
|
56
51
|
- README.rdoc
|
57
|
-
|
52
|
+
- bin/logic
|
58
53
|
- lib/array.rb
|
59
54
|
- lib/integer.rb
|
60
55
|
- lib/logic_operations.rb
|
@@ -64,41 +59,31 @@ files:
|
|
64
59
|
- lib/test_case.rb
|
65
60
|
- lib/test_case_set.rb
|
66
61
|
- lib/truth_table.rb
|
67
|
-
- bin/logic
|
68
62
|
- spec/logic_parser_spec.rb
|
69
63
|
- spec/spec.opts
|
70
64
|
- spec/test_case_set_spec.rb
|
71
|
-
- LICENSE
|
72
|
-
- README.rdoc
|
73
|
-
has_rdoc: true
|
74
65
|
homepage:
|
75
66
|
licenses: []
|
76
|
-
|
67
|
+
metadata: {}
|
77
68
|
post_install_message:
|
78
|
-
rdoc_options:
|
79
|
-
- --charset=UTF-8
|
80
|
-
require_paths:
|
69
|
+
rdoc_options:
|
70
|
+
- "--charset=UTF-8"
|
71
|
+
require_paths:
|
81
72
|
- lib
|
82
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
83
|
-
requirements:
|
73
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
84
75
|
- - ">="
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
|
-
requirements:
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
91
80
|
- - ">="
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
|
94
|
-
- 0
|
95
|
-
version: "0"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
96
83
|
requirements: []
|
97
|
-
|
98
84
|
rubyforge_project:
|
99
|
-
rubygems_version:
|
85
|
+
rubygems_version: 2.2.2
|
100
86
|
signing_key:
|
101
|
-
specification_version:
|
87
|
+
specification_version: 4
|
102
88
|
summary: Taking the pain out of MC/DC testing
|
103
89
|
test_files: []
|
104
|
-
|