mirror of
https://github.com/SamyRai/turash.git
synced 2025-12-26 23:01:33 +00:00
- 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
53 lines
1.2 KiB
Go
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)
|
|
}
|
|
}
|
|
|