42    using expt_impl_event_t = std::conditional_t<
 
   43        std::same_as<TypeParam, Event<void>>,
 
   44        std::chrono::steady_clock::time_point,
 
   45#if defined(KOKKOS_ENABLE_CUDA) 
   47#elif defined(KOKKOS_ENABLE_HIP) 
   50    std::chrono::steady_clock::time_point
 
   54    static_assert(std::same_as<typename TypeParam::impl_event_t, expt_impl_event_t>);
 
 
   60    static_assert(std::same_as<typename std::chrono::microseconds::period, std::ratio<1, 1000000>>);
 
   61    static_assert(std::same_as<typename              microseconds::period, std::ratio<1, 1000000>>);
 
   62    static_assert(std::same_as<typename              microseconds::rep,    double>);
 
   64    static_assert(std::same_as<typename std::chrono::milliseconds::period, std::ratio<1, 1000>>);
 
   65    static_assert(std::same_as<typename              milliseconds::period, std::ratio<1, 1000>>);
 
   66    static_assert(std::same_as<typename              milliseconds::rep,    double>);
 
   68    static_assert(std::same_as<typename std::chrono::seconds::period, std::ratio<1, 1>>);
 
   69    static_assert(std::same_as<typename              seconds::period, std::ratio<1, 1>>);
 
   70    static_assert(std::same_as<typename              seconds::rep,    double>);
 
 
  114    static_assert(std::movable<TypeParam>);
 
  116    TypeParam begin, end;
 
  118    if constexpr (std::same_as<TypeParam, void>)
 
  125        begin.record(this->exec);
 
  126        end.record(this->exec);
 
  129    TypeParam moved(std::move(end)); 
 
  131    ASSERT_GE(begin.template duration<milliseconds>(moved).count(), 0.);