test/test_characterizable.rb in characterizable-0.0.7 vs test/test_characterizable.rb in characterizable-0.0.8
- old
+ new
@@ -103,10 +103,16 @@
a.make = 'Ford'
a.variant = 'Taurus V6 DOHC'
assert_same_contents [], a.characteristics.potential.keys
end
+ should "know what's next" do
+ a = Automobile.new
+ a.make = 'Ford'
+ assert_equal true, a.characteristics.potential.keys.include?(:model_year)
+ end
+
should "know what characteristics are wasted and why" do
a = Automobile.new
a.hybridity = 'Electric'
a.variant = 'Taurus V6 DOHC'
assert_equal 'Electric', a.characteristics[:hybridity]
@@ -295,7 +301,20 @@
assert_same_contents [:make, :model_year, :size_class, :hybridity], a.characteristics.effective.keys
a.model = 'Taurus'
assert_same_contents [:make, :model_year, :model, :variant], a.characteristics.effective.keys
a.make = nil
assert_same_contents [:size_class, :hybridity], a.characteristics.effective.keys
+ end
+
+ should "allow characterizations to be amended" do
+ class Fickle
+ include Characterizable
+ characterize do
+ has :foo
+ end
+ characterize do
+ has :bar
+ end
+ end
+ assert_equal [:bar, :foo], Fickle.characteristics.keys.sort { |a, b| a.to_s <=> b.to_s }
end
end