package team import ( "testing" ) func TestCalculateTeamCosts(t *testing.T) { salaries := DefaultSalaries() composition := TeamComposition{ BackendEngineers: 4, FrontendEngineers: 2, DevOpsEngineers: 1, DataEngineers: 1, CTO: 1, BDSales: 1, DomainExperts: 2, CustomerSuccess: 0, Operations: 0, Total: 12, } cost := CalculateTeamCosts(composition, salaries) expected := float64(4)*salaries.BackendEngineer + float64(2)*salaries.FrontendEngineer + float64(1)*salaries.DevOpsEngineer + float64(1)*salaries.DataEngineer + float64(1)*salaries.CTO + float64(1)*salaries.BDSales + float64(2)*salaries.DomainExpert if cost != expected { t.Errorf("Expected %f, got %f", expected, cost) } } func TestDefaultSalaries(t *testing.T) { salaries := DefaultSalaries() if salaries.BackendEngineer != 100000 { t.Errorf("Expected BackendEngineer salary 100000, got %f", salaries.BackendEngineer) } if salaries.CTO != 120000 { t.Errorf("Expected CTO salary 120000, got %f", salaries.CTO) } if salaries.DomainExpert != 90000 { t.Errorf("Expected DomainExpert salary 90000, got %f", salaries.DomainExpert) } }