Module: Julewire::Core::Testing::Contracts::DeadlineScheduler

Included in:
Julewire::Core::Testing::Contracts
Defined in:
lib/julewire/core/testing/contracts/deadline_scheduler.rb

Instance Method Summary collapse

Instance Method Details

#assert_julewire_deadline_scheduler_spi_contractObject



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/julewire/core/testing/contracts/deadline_scheduler.rb', line 10

def assert_julewire_deadline_scheduler_spi_contract
  scheduler = Julewire::Core::Scheduling::DeadlineScheduler.new(thread_name: "julewire-contract-deadline")
  called = false

  result = scheduler.schedule(0) { called = true }

  assert called
  assert_nil result
  assert_nil scheduler.cancel(nil)
  assert_scheduler_runs_callbacks(scheduler)
  assert_scheduler_cancel_suppresses_callback(scheduler)
  assert_scheduler_after_fork_resets_pending_callbacks(scheduler)
end