Merge pull request 'Use average discomfort instead of sum' (#109) from fix/discomfort-average into main
Some checks failed
Build Nginx-based docker image / build-static-assets (push) Failing after 1m19s
Check usage of free licenses / build-static-assets (push) Successful in 1m29s
Run unit tests / unit_tests (push) Successful in 1m52s

Reviewed-on: #109
This commit is contained in:
bustikiller 2024-11-10 10:38:35 +00:00
commit 172193b0dc
2 changed files with 14 additions and 1 deletions

View File

@ -8,7 +8,7 @@ module Tables
end
def calculate
table_size_penalty + cohesion_penalty
table_size_penalty + 10 * (cohesion_penalty * 1.0 / table.size)
end
private

View File

@ -10,6 +10,19 @@ module Tables
let(:work) { create(:group, name: 'work') }
let(:school) { create(:group, name: 'school') }
describe '#calculate' do
before do
allow(calculator).to receive(:table_size_penalty).and_return(2)
allow(calculator).to receive(:cohesion_penalty).and_return(3)
end
let(:table) { Table.new(create_list(:guest, 6)) }
it 'returns the sum of the table size penalty and the average cohesion penalty' do
expect(calculator.calculate).to eq(2 + 10 * 3 / 6.0)
end
end
describe '#table_size_penalty' do
before do
table.min_per_table = 5