Coverage Summary for Class: ExtensionsKt (vit.khudenko.android.sessiontracker)

Class Method, % Line, %
ExtensionsKt 100% (1/1) 100% (5/5)
ExtensionsKt$sessionStateTransitionsSupplier$2$1 100% (1/1) 100% (1/1)
Total 100% (2/2) 100% (6/6)


1 package vit.khudenko.android.sessiontracker 2  3 /** 4  * A helper function to reduce code footprint when specifying [`ISessionStateTransitionsSupplier`][ISessionStateTransitionsSupplier] 5  * for [`SessionTracker`][SessionTracker]. 6  * 7  * @param transitions one or more instances of [`Pair`][Pair]<[`Event`][Event], [`List`][List]<[`State`][State]>> each corresponding 8  * to a [`Transition`][Transition]. 9  * @return [`ISessionStateTransitionsSupplier`][ISessionStateTransitionsSupplier] instance 10  * 11  * @see [Transition] 12  * 13  * @param [Event] event parameter of enum type. 14  * @param [State] state parameter of enum type. 15  */ 16 fun <Event : Enum<Event>, State : Enum<State>> sessionStateTransitionsSupplier( 17  vararg transitions: Pair<Event, List<State>> 18 ): ISessionStateTransitionsSupplier<Event, State> { 19  return transitions 20  .map { (event, statePath) -> 21  Transition(event, statePath.toList()) 22  } 23  .let { transitionList -> 24  ISessionStateTransitionsSupplier { transitionList } 25  } 26 } 27