@@ -150,3 +150,56 @@ impl JitoStewardEvent {
150150 None
151151 }
152152}
153+
154+ #[ cfg( test) ]
155+ mod tests {
156+ use super :: * ;
157+
158+ #[ test]
159+ fn test_parse_rebalance_event_log ( ) {
160+ let log = "Program data: eBt162gqhEtMsYgkyyouvKpCwIQK+PQ/fXApJFO4g1PcCGJg3zGq0YMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" ;
161+
162+ let event = JitoStewardEvent :: parse_log ( log) ;
163+ assert ! ( event. is_some( ) ) ;
164+
165+ let event = event. unwrap ( ) ;
166+ match event {
167+ JitoStewardEvent :: Rebalance ( _) => {
168+ println ! ( "Successfully parsed RebalanceEvent" ) ;
169+ }
170+ _ => panic ! ( "Expected RebalanceEvent, got {event:?}" ) ,
171+ }
172+ }
173+
174+ #[ test]
175+ fn test_parse_state_transition_log ( ) {
176+ let log = "Program data: agl496lqzumDAwAAAAAAAFUiLBcAAAAACQAAAFJlYmFsYW5jZQQAAABJZGxl" ;
177+
178+ let event = JitoStewardEvent :: parse_log ( log) ;
179+ assert ! ( event. is_some( ) ) ;
180+
181+ let event = event. unwrap ( ) ;
182+ match event {
183+ JitoStewardEvent :: StateTransition ( st) => {
184+ println ! ( "Successfully parsed StateTransition: {st:?}" ) ;
185+ }
186+ _ => panic ! ( "Expected StateTransition, got {event:?}" ) ,
187+ }
188+ }
189+
190+ #[ test]
191+ fn test_parse_directed_rebalance_log ( ) {
192+ let log = "Program data: uz87SL9AcR380T2ote3ZsSVQXwXdXsmLELwWrxqrmm7aHBZ2nE7pQoMDAAAAAAAAAAAAAAAAAAAAAAA=" ;
193+
194+ let event = JitoStewardEvent :: parse_log ( log) ;
195+ assert ! ( event. is_some( ) ) ;
196+
197+ let event = event. unwrap ( ) ;
198+ match event {
199+ JitoStewardEvent :: DirectedRebalance ( st) => {
200+ println ! ( "Successfully parsed DirectedRebalance: {st:?}" ) ;
201+ }
202+ _ => panic ! ( "Expected DirectedRebalance, got {event:?}" ) ,
203+ }
204+ }
205+ }
0 commit comments