pairwise 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.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :patch: 2
2
+ :patch: 3
3
3
  :major: 0
4
4
  :minor: 1
@@ -7,3 +7,19 @@ Scenario: Empty yml
7
7
  """
8
8
  When I run pairwise inputs.yml
9
9
  Then it should not show any errors
10
+ And I should see in the output
11
+ """
12
+ Error: 'inputs.yml' does not contain the right yaml structure for me to generate the pairwise set!
13
+ """
14
+
15
+ Scenario: yml with no lists
16
+ Given I have the yaml file "listey_inputs.yml" containing:
17
+ """
18
+ mookey
19
+ """
20
+ When I run pairwise listey_inputs.yml
21
+ Then it should not show any errors
22
+ And I should see in the output
23
+ """
24
+ Error: 'listey_inputs.yml' does not contain the right yaml structure for me to generate the pairwise set!
25
+ """
@@ -56,6 +56,19 @@ Scenario: Unorderd yaml inputs
56
56
 
57
57
  """
58
58
 
59
+ Scenario: Single value yaml inputs
60
+ Given I have the yaml file "inputs.yml" containing:
61
+ """
62
+ 1: 1
63
+ 2: 2
64
+ """
65
+ When I run pairwise inputs.yml
66
+ Then I should see the output
67
+ """
68
+ | 1 | 2 |
69
+ | 1 | 2 |
70
+
71
+ """
59
72
  Scenario: Not replacing wild cards
60
73
  Given I have the yaml file "inputs.yml" containing:
61
74
  """
data/lib/pairwise/cli.rb CHANGED
@@ -41,12 +41,14 @@ module Pairwise
41
41
  exit_with_help if @input_file.nil? || @input_file.empty?
42
42
 
43
43
  inputs = YAML.load_file(@input_file)
44
- if inputs
44
+ if valid_inputs?(inputs)
45
45
  input_data, input_labels = *parse_input_data!(inputs)
46
46
 
47
47
  builder = Pairwise::Builder.new(input_data, @options)
48
48
 
49
49
  @formatter.display(builder.build, input_labels)
50
+ else
51
+ puts "Error: '#{@input_file}' does not contain the right yaml structure for me to generate the pairwise set!"
50
52
  end
51
53
  end
52
54
 
@@ -55,6 +57,10 @@ module Pairwise
55
57
  {:keep_wild_cards => false}
56
58
  end
57
59
 
60
+ def valid_inputs?(inputs)
61
+ inputs && (inputs.is_a?(Array) || inputs.is_a?(Hash))
62
+ end
63
+
58
64
  def exit_with_help
59
65
  @out.puts @args.options.help
60
66
  Kernel.exit(0)
@@ -70,7 +76,10 @@ module Pairwise
70
76
  end
71
77
 
72
78
  def hash_inputs_to_list(inputs_hash)
73
- inputs_hash.map {|key, value| {key => value}}
79
+ inputs_hash.map do |key, value|
80
+ value = [value] unless value.is_a?(Array)
81
+ {key => value}
82
+ end
74
83
  end
75
84
 
76
85
  def input_names(inputs)
@@ -8,9 +8,9 @@ module Pairwise
8
8
  end
9
9
 
10
10
  def display(test_data, input_labels)
11
- @test_data = label_wild_cards(test_data, input_labels)
11
+ @test_data = label_wild_cards(test_data, input_labels)
12
12
  @input_labels = input_labels
13
-
13
+
14
14
  @out.print "|"
15
15
  @input_labels.each_with_index do |label, column|
16
16
  @out.print padded_string(label, column) + "|"
@@ -34,14 +34,14 @@ module Pairwise
34
34
  end
35
35
  end
36
36
  end
37
-
37
+
38
38
  def padded_string(string, column)
39
- padding_length = max_line_length(column) - string.length
39
+ padding_length = max_line_length(column) - string.to_s.length
40
40
  " #{string} " + (" " * padding_length)
41
41
  end
42
42
 
43
43
  def max_line_length(column)
44
- @max[column] ||= ([@input_labels[column].length] + @test_data.map{|data| data[column].length}).max
44
+ @max[column] ||= ([@input_labels[column].to_s.length] + @test_data.map{|data| data[column].to_s.length}).max
45
45
  end
46
46
 
47
47
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pairwise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Wilk
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-08 00:00:00 +00:00
12
+ date: 2010-01-09 00:00:00 +00:00
13
13
  default_executable: pairwise
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency