spec/analyzer_spec.rb in fukuzatsu-0.9.8 vs spec/analyzer_spec.rb in fukuzatsu-0.9.10

- old
+ new

@@ -2,11 +2,42 @@ describe Analyzer do let(:content_1) { File.read("spec/fixtures/program_1.rb") } let(:content_2) { File.read("spec/fixtures/program_2.rb") } + let(:content_3) { File.read("spec/fixtures/eg_class.rb") } + let(:content_4) { File.read("spec/fixtures/eg_mod_class.rb") } + let(:content_5) { File.read("spec/fixtures/eg_module.rb") } + let(:content_6) { File.read("spec/fixtures/eg_mod_class_2.rb") } + context "#extract_class_name" do + + context "from Class Foo" do + it "returns Foo" do + expect(Analyzer.new(content_3).extract_class_name).to eq("Foo") + end + end + + context "from Module::Class Foo" do + it "returns Foo::Bar" do + expect(Analyzer.new(content_4).extract_class_name).to eq("Foo::Bar") + end + end + + context "from Module; Class" do + it "returns Extracted::Thing" do + expect(Analyzer.new(content_6).extract_class_name).to eq("Extracted::Thing") + end + end + + context "from Module" do + it "returns Something" do + expect(Analyzer.new(content_5).extract_class_name).to eq("Something") + end + end + end + context "program_1" do let(:analyzer) { Analyzer.new(content_1) } it "matches the manual calculation of complexity of 4" do @@ -23,6 +54,6 @@ expect(analyzer.complexity).to eq(5) end end -end \ No newline at end of file +end