Skip to content

Commit

Permalink
Fill out conversions
Browse files Browse the repository at this point in the history
  • Loading branch information
jferris committed Dec 15, 2011
1 parent a16ae47 commit 7cf2d95
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 3 deletions.
4 changes: 4 additions & 0 deletions lib/semiformal/array_value.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ def to_a
@array_value
end

def to_i
0
end

def set(new_value)
self.class.new(new_value)
end
Expand Down
4 changes: 4 additions & 0 deletions lib/semiformal/integer_value.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ def to_i
@integer_value
end

def to_a
[@integer_value.to_s]
end

def convert
@integer_value
end
Expand Down
10 changes: 9 additions & 1 deletion lib/semiformal/text_value.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,15 @@ def initialize(raw_value)
end

def to_s
convert
@string_value
end

def to_i
@string_value.to_i
end

def to_a
@string_value.split(",").map(&:strip)
end

def convert
Expand Down
4 changes: 4 additions & 0 deletions spec/semiformal/array_value_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
Semiformal::ArrayValue.new(1..2).to_a.should == [1, 2]
end

it "converts #to_i" do
Semiformal::ArrayValue.new(1..2).to_i.should == 0
end

it "can #set a value" do
Semiformal::ArrayValue.new([1]).set([2]).to_s.should == "2"
end
Expand Down
4 changes: 4 additions & 0 deletions spec/semiformal/integer_value_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
Semiformal::IntegerValue.new("52").to_i.should == 52
end

it "converts #to_a" do
Semiformal::IntegerValue.new(52).to_a.should == %w(52)
end

it "can #set a value" do
Semiformal::IntegerValue.new("52").set("38").to_s.should == "38"
end
Expand Down
11 changes: 9 additions & 2 deletions spec/semiformal/text_value_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,15 @@

describe Semiformal::TextValue do
it "converts #to_s" do
value = Semiformal::TextValue.new(:value)
value.to_s.should == "value"
Semiformal::TextValue.new(:value).to_s.should == "value"
end

it "converts #to_i" do
Semiformal::TextValue.new("15").to_i.should == 15
end

it "converts #to_a" do
Semiformal::TextValue.new("One, two,three").to_a.should == %w(One two three)
end

it "can #set a value" do
Expand Down

0 comments on commit 7cf2d95

Please sign in to comment.