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