Increase penalty for tables under minimum capacity #113

Merged
bustikiller merged 1 commits from increase-penalty-undercapacity-tables into main 2024-11-10 18:01:16 +00:00
2 changed files with 3 additions and 3 deletions

View File

@ -22,7 +22,7 @@ module Tables
# #
def table_size_penalty def table_size_penalty
case table.size case table.size
when 0...table.min_per_table then 2 * (table.min_per_table - table.size) when 0...table.min_per_table then 5 * (table.min_per_table - table.size)
when table.min_per_table..table.max_per_table then 0 when table.min_per_table..table.max_per_table then 0
else 5 * (table.size - table.max_per_table) else 5 * (table.size - table.max_per_table)
end end

View File

@ -49,13 +49,13 @@ module Tables
context 'when the number of guests is one unit below the lower bound' do context 'when the number of guests is one unit below the lower bound' do
let(:table) { Table.new(create_list(:guest, 4)) } let(:table) { Table.new(create_list(:guest, 4)) }
it { expect(calculator.send(:table_size_penalty)).to eq(2) } it { expect(calculator.send(:table_size_penalty)).to eq(5) }
end end
context 'when the number of guests is two units below the lower bound' do context 'when the number of guests is two units below the lower bound' do
let(:table) { Table.new(create_list(:guest, 3)) } let(:table) { Table.new(create_list(:guest, 3)) }
it { expect(calculator.send(:table_size_penalty)).to eq(4) } it { expect(calculator.send(:table_size_penalty)).to eq(10) }
end end
context 'when the number of guests is one unit above the upper bound' do context 'when the number of guests is one unit above the upper bound' do