spec/lib/loan_spec.rb in finance_math-0.2 vs spec/lib/loan_spec.rb in finance_math-1.0.0

- old
+ new

@@ -35,35 +35,75 @@ it "should return correct pmt value" do loan = Loan.new(0, 6, 10000) expect(loan.pmt).to eq(1666.6666666666667) end + + it "should return correct pmt value" do + loan = Loan.new(13, 90, 1000000) + expect(loan.pmt).to eq(17449.90775727763) + end end - context ".apr" do + context ".apr, edge cases" do it "should return correct apr value" do - loan = Loan.new(16, 24, 10000) - expect(loan.apr).to eq(0.24699853524196447) + loan = Loan.new(16, 24, 9200) + expect(loan.apr).to eq(24.699310868498614) end it "should return correct apr value" do loan = Loan.new(13, 24, 10000) - expect(loan.apr).to eq(0.2159014588291408) + expect(loan.apr).to eq(21.589972932434698) end it "should return correct apr value" do loan = Loan.new(13, 18, 10000) - expect(loan.apr).to eq(0.2418055150965281) + expect(loan.apr).to eq(24.1815502466296) end - # it "should return correct apr value" do - # loan = Loan.new(13, 6, 10000) - # expect(loan.apr).to eq(0.2418055150965281) - # end + it "should return correct apr value" do + loan = Loan.new(13, 12, 10000) + expect(loan.apr).to eq(29.179538647635006) + end - # it "should return correct apr value" do - # loan = Loan.new(13, 36, 10000) - # expect(loan.apr).to eq(0.2418055150965281) - # end + it "should return correct apr value" do + loan = Loan.new(13, 6, 10000) + expect(loan.apr).to eq(42.82076503747119) + end + + it "should return correct apr value" do + loan = Loan.new(13, 36, 10000) + expect(loan.apr).to eq(18.93638316167774) + end + + it "should return correct apr value" do + loan = Loan.new(13, 90, 10000000) + expect(loan.apr).to eq(15.690778147507167) + end + + it "should return correct apr value" do + loan = Loan.new(13, 90, 50000000) + expect(loan.apr).to eq(15.690778147507167) + end + + it "should return correct apr value" do + loan = Loan.new(13, 1, 50000000) + expect(loan.apr).to eq(118.47826151517138) + end + + it "should return correct apr value" do + loan = Loan.new(80, 1, 1000) + expect(loan.apr).to eq(191.30434783476406) + end + + it "should return correct apr value" do + loan = Loan.new(36, 200, 500) + expect(loan.apr).to eq(39.173057290003044) + end + + it "should return correct apr value" do + loan = Loan.new(15, 36, 10000, 5, 3, 10) + expect(loan.apr).to eq(23.964418264624054) + end end end \ No newline at end of file