Add deposit concept

This commit is contained in:
2019-10-12 18:00:53 +03:00
parent 658d3b7288
commit d3fe2ff23b
2 changed files with 78 additions and 0 deletions

38
spec/deposit_spec.cr Normal file
View File

@ -0,0 +1,38 @@
require "./spec_helper"
module Game::Test
describe Deposit do
it "should be created fulfilled" do
dep = Deposit.new(Resources::Type::Crystals, 100)
dep.cap.should eq 100
dep.cur.should eq 100
end
it "can be created partially filled" do
dep = Deposit.new(Resources::Type::Crystals, 100, 20)
dep.cap.should eq 100
dep.cur.should eq 20
end
it "should be decreased with span" do
dep = Deposit.new(Resources::Type::Crystals, 100)
dep.dec Deposit::Span.new(Resources::Type::Crystals, 20)
dep.cap.should eq 100
dep.cur.should eq 80
end
it "should not be increased above capacity" do
dep = Deposit.new(Resources::Type::Crystals, 100, 20)
dep.inc Deposit::Span.new(Resources::Type::Crystals, 100)
dep.cap.should eq 100
dep.cur.should eq 100
end
it "should not be decreased below zero" do
dep = Deposit.new(Resources::Type::Crystals, 100)
dep.dec Deposit::Span.new(Resources::Type::Crystals, 120)
dep.cap.should eq 100
dep.cur.should eq 0
end
end
end