8989 Resources : []Resource {},
9090 }
9191
92+ exponentialEstimator = ExponentialEstimator {
93+ Resources : []Resource {
94+ {
95+ Base : resource .MustParse ("0.3" ),
96+ ExtraPerNode : resource .MustParse ("1" ),
97+ Name : "cpu" ,
98+ },
99+ {
100+ Base : resource .MustParse ("30Mi" ),
101+ ExtraPerNode : resource .MustParse ("1Mi" ),
102+ Name : "memory" ,
103+ },
104+ {
105+ Base : resource .MustParse ("30Gi" ),
106+ ExtraPerNode : resource .MustParse ("1Gi" ),
107+ Name : "storage" ,
108+ },
109+ },
110+ ScaleFactor : 1.5 ,
111+ }
112+
92113 baseResources = api.ResourceList {
93114 "cpu" : resource .MustParse ("0.3" ),
94115 "memory" : resource .MustParse ("30Mi" ),
@@ -125,6 +146,17 @@ var (
125146 "memory" : resource .MustParse ("33Mi" ),
126147 }
127148 noResources = api.ResourceList {}
149+
150+ sixteenNodeResources = api.ResourceList {
151+ "cpu" : resource .MustParse ("16.3" ),
152+ "memory" : resource .MustParse ("46Mi" ),
153+ "storage" : resource .MustParse ("46Gi" ),
154+ }
155+ twentyFourNodeResources = api.ResourceList {
156+ "cpu" : resource .MustParse ("24.3" ),
157+ "memory" : resource .MustParse ("54Mi" ),
158+ "storage" : resource .MustParse ("54Gi" ),
159+ }
128160)
129161
130162func verifyResources (t * testing.T , kind string , got , want api.ResourceList ) {
@@ -151,6 +183,8 @@ func TestEstimateResources(t *testing.T) {
151183 }{
152184 {fullEstimator , 0 , baseResources , baseResources },
153185 {fullEstimator , 3 , threeNodeResources , threeNodeResources },
186+ {fullEstimator , 16 , sixteenNodeResources , sixteenNodeResources },
187+ {fullEstimator , 24 , twentyFourNodeResources , twentyFourNodeResources },
154188 {noCPUEstimator , 0 , noCPUBaseResources , noCPUBaseResources },
155189 {noCPUEstimator , 3 , threeNodeNoCPUResources , threeNodeNoCPUResources },
156190 {noMemoryEstimator , 0 , noMemoryBaseResources , noMemoryBaseResources },
@@ -159,6 +193,13 @@ func TestEstimateResources(t *testing.T) {
159193 {noStorageEstimator , 3 , threeNodeNoStorageResources , threeNodeNoStorageResources },
160194 {emptyEstimator , 0 , noResources , noResources },
161195 {emptyEstimator , 3 , noResources , noResources },
196+ {exponentialEstimator , 0 , sixteenNodeResources , sixteenNodeResources },
197+ {exponentialEstimator , 3 , sixteenNodeResources , sixteenNodeResources },
198+ {exponentialEstimator , 10 , sixteenNodeResources , sixteenNodeResources },
199+ {exponentialEstimator , 16 , sixteenNodeResources , sixteenNodeResources },
200+ {exponentialEstimator , 17 , twentyFourNodeResources , twentyFourNodeResources },
201+ {exponentialEstimator , 20 , twentyFourNodeResources , twentyFourNodeResources },
202+ {exponentialEstimator , 24 , twentyFourNodeResources , twentyFourNodeResources },
162203 }
163204
164205 for _ , tc := range testCases {
0 commit comments