turash/models/team/team_test.go
Damir Mukimov cdca1ea1a7
Reorganize funding programs and create application documents
- Reorganized funding program structure: moved standalone .md files into organized directories with PROGRAM_INFO.md and APPLICATION_SCOPE.md
- Created budget files for selected priority programs:
  * EIC Accelerator: budget_breakdown.csv and budget_justification.md (€1.815M)
  * ZIM: budget_breakdown.csv and budget_justification.md (€465k)
  * DBU: budget_breakdown.csv and budget_justification.md (€152.5k)
  * LIFE Programme: budget_breakdown.csv and budget_justification.md (€1.815M)
- Created team CV files for all selected programs (CV_Damir_Mukimov.md)
- Added application documents structure:
  * funding/applications/budget/ - Master budget files and templates
  * funding/applications/team_cvs/ - Master CV and team expertise summary
- Updated FUNDING_GAP_ANALYSIS.md to reflect completed documents
- Added APPLICATION_REQUIREMENTS_REPORT.md with detailed requirements
- Added PREPARATION_PRIORITY.md for application preparation workflow
2025-11-01 09:59:48 +01:00

53 lines
1.2 KiB
Go

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)
}
}