From a637af7f78b0f1dd4e8f801a20c6083f3375779a Mon Sep 17 00:00:00 2001 From: hatsu38 Date: Wed, 28 Aug 2024 10:19:44 +0900 Subject: [PATCH] test: Add already defined method spec --- spec/enum/enum_spec.rb | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/spec/enum/enum_spec.rb b/spec/enum/enum_spec.rb index 64eaf32..52a10b8 100644 --- a/spec/enum/enum_spec.rb +++ b/spec/enum/enum_spec.rb @@ -83,7 +83,6 @@ class Neighborhood < ActiveHash::Base describe "define_enum_methods" do class Movie < ActiveHash::Base include ActiveHash::Enum - include ActiveHash::Associations self.data = [ {:name => 'Die Hard 2', :rating => '4.3'}, @@ -107,6 +106,28 @@ class Movie < ActiveHash::Base expect(Movie::IN_OUT.die_hard_2?).to be_falsey expect(Movie::IN_OUT.the_informant?).to be_falsey end + + context "already defined method" do + it "overrides the method" do + class Movie + def die_hard_2? + true + end + end + + expect(Movie::DIE_HARD_2.die_hard_2?).to be_truthy + expect(Movie::DIE_HARD_2.the_informant?).to be_falsey + expect(Movie::DIE_HARD_2.in_out?).to be_falsey + + expect(Movie::THE_INFORMANT.the_informant?).to be_truthy + expect(Movie::THE_INFORMANT.die_hard_2?).to be_truthy + expect(Movie::THE_INFORMANT.in_out?).to be_falsey + + expect(Movie::IN_OUT.in_out?).to be_truthy + expect(Movie::IN_OUT.die_hard_2?).to be_truthy + expect(Movie::IN_OUT.the_informant?).to be_falsey + end + end end end