@@ -8,8 +8,11 @@ mod tests {
88
99 const PERCENTAGE_PRECISION_U64 : u64 = 1_000_000 ;
1010
11- fn weight_datum ( data : u64 , last_slot : u64 ) -> WeightDatum {
12- WeightDatum { data, last_slot }
11+ fn weight_datum ( constituent_index : u16 , data : u64 , last_slot : u64 ) -> WeightDatum {
12+ WeightDatum { constituent_index, data, last_slot }
13+ }
14+ fn amm_const_datum ( perp_market_index : u16 , constituent_index : u16 , data : u64 , last_slot : u64 ) -> AmmConstituentDatum {
15+ AmmConstituentDatum { perp_market_index, constituent_index, data, last_slot }
1316 }
1417
1518 fn dummy_constituent ( index : u16 ) -> Constituent {
@@ -37,12 +40,10 @@ mod tests {
3740 #[ test]
3841 fn test_single_zero_weight ( ) {
3942 let mapping = AmmConstituentMapping {
40- num_rows : 1 ,
41- num_cols : 1 ,
42- data : vec ! [ weight_datum( 0 , 0 ) ] ,
43+ data : vec ! [ amm_const_datum( 0 , 1 , 0 , 0 ) ] ,
4344 } ;
4445
45- let amm_inventory = vec ! [ 1_000_000 ] ;
46+ let amm_inventory: Vec < ( u16 , u64 ) > = vec ! [ ( 0 , 1_000_000 ) ] ;
4647 let prices = vec ! [ 1_000_000 ] ;
4748 let constituents = vec ! [ dummy_constituent( 0 ) ] ;
4849 let aum = 1_000_000 ;
@@ -68,12 +69,10 @@ mod tests {
6869 #[ test]
6970 fn test_single_full_weight ( ) {
7071 let mapping = AmmConstituentMapping {
71- num_rows : 1 ,
72- num_cols : 1 ,
73- data : vec ! [ weight_datum( PERCENTAGE_PRECISION_U64 , 0 ) ] ,
72+ data : vec ! [ amm_const_datum( 0 , 1 , PERCENTAGE_PRECISION_U64 , 0 ) ] ,
7473 } ;
7574
76- let amm_inventory = vec ! [ 1_000_000 ] ;
75+ let amm_inventory = vec ! [ ( 0 , 1_000_000 ) ] ;
7776 let prices = vec ! [ 1_000_000 ] ;
7877 let constituents = vec ! [ dummy_constituent( 0 ) ] ;
7978 let aum = 1_000_000 ;
@@ -99,15 +98,13 @@ mod tests {
9998 #[ test]
10099 fn test_multiple_constituents_partial_weights ( ) {
101100 let mapping = AmmConstituentMapping {
102- num_rows : 1 ,
103- num_cols : 2 ,
104101 data : vec ! [
105- weight_datum ( PERCENTAGE_PRECISION_U64 / 2 , 0 ) ,
106- weight_datum ( PERCENTAGE_PRECISION_U64 / 2 , 0 ) ,
102+ amm_const_datum ( 0 , 1 , PERCENTAGE_PRECISION_U64 / 2 , 0 ) ,
103+ amm_const_datum ( 0 , 2 , PERCENTAGE_PRECISION_U64 / 2 , 0 ) ,
107104 ] ,
108105 } ;
109106
110- let amm_inventory = vec ! [ 1_000_000 ] ;
107+ let amm_inventory = vec ! [ ( 0 , 1_000_000 ) ] ;
111108 let prices = vec ! [ 1_000_000 , 1_000_000 ] ;
112109 let constituents = vec ! [ dummy_constituent( 0 ) , dummy_constituent( 1 ) ] ;
113110 let aum = 1_000_000 ;
@@ -136,12 +133,10 @@ mod tests {
136133 #[ test]
137134 fn test_zero_aum_safe ( ) {
138135 let mapping = AmmConstituentMapping {
139- num_rows : 1 ,
140- num_cols : 1 ,
141- data : vec ! [ weight_datum( PERCENTAGE_PRECISION_U64 , 0 ) ] ,
136+ data : vec ! [ amm_const_datum( 0 , 1 , PERCENTAGE_PRECISION_U64 , 0 ) ] ,
142137 } ;
143138
144- let amm_inventory = vec ! [ 1_000_000 ] ;
139+ let amm_inventory = vec ! [ ( 0 , 1_000_000 ) ] ;
145140 let prices = vec ! [ 1_000_000 ] ;
146141 let constituents = vec ! [ dummy_constituent( 0 ) ] ;
147142 let aum = 0 ;
@@ -167,12 +162,10 @@ mod tests {
167162 #[ test]
168163 fn test_overflow_protection ( ) {
169164 let mapping = AmmConstituentMapping {
170- num_rows : 1 ,
171- num_cols : 1 ,
172- data : vec ! [ weight_datum( u64 :: MAX , 0 ) ] ,
165+ data : vec ! [ amm_const_datum( 0 , 1 , u64 :: MAX , 0 ) ] ,
173166 } ;
174167
175- let amm_inventory = vec ! [ u64 :: MAX ] ;
168+ let amm_inventory = vec ! [ ( 0 , u64 :: MAX ) ] ;
176169 let prices = vec ! [ u64 :: MAX ] ;
177170 let constituents = vec ! [ dummy_constituent( 0 ) ] ;
178171 let aum = 1 ;
0 commit comments