Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//-----------------------------------------------------------------------
// <copyright file="TaskBasedScheduler_ActionScheduler_Cancellation_Tests.cs" company="Akka.NET Project">
// <copyright file="DedicatedThreadScheduler_ActionScheduler_Cancellation_Tests.cs" company="Akka.NET Project">
// Copyright (C) 2009-2015 Typesafe Inc. <http://www.typesafe.com>
// Copyright (C) 2013-2015 Akka.NET project <https://github.com/akkadotnet/akka.net>
// </copyright>
Expand All @@ -12,13 +12,13 @@
namespace Akka.Tests.Actor.Scheduler
{
// ReSharper disable once InconsistentNaming
public class TaskBasedScheduler_ActionScheduler_Cancellation_Tests : AkkaSpec
public class DedicatedThreadScheduler_ActionScheduler_Cancellation_Tests : AkkaSpec
{
[Fact]
public void When_ScheduleOnce_using_canceled_Cancelable_Then_their_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
IActionScheduler scheduler = new TaskBasedScheduler();
IActionScheduler scheduler = new DedicatedThreadScheduler(Sys);

var canceled = Cancelable.CreateCanceled();
scheduler.ScheduleOnce(0, () => TestActor.Tell("Test"), canceled);
Expand All @@ -31,7 +31,7 @@ public void When_ScheduleOnce_using_canceled_Cancelable_Then_their_actions_shoul
public void When_ScheduleRepeatedly_using_canceled_Cancelable_Then_their_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
IActionScheduler scheduler = new TaskBasedScheduler();
IActionScheduler scheduler = new DedicatedThreadScheduler(Sys);

var canceled = Cancelable.CreateCanceled();
scheduler.ScheduleRepeatedly(0, 100, () => TestActor.Tell("Test1"), canceled);
Expand All @@ -45,7 +45,7 @@ public void When_ScheduleRepeatedly_using_canceled_Cancelable_Then_their_actions
public void When_ScheduleOnce_and_then_canceling_before_they_occur_Then_their_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
IActionScheduler scheduler = new TaskBasedScheduler();
IActionScheduler scheduler = new DedicatedThreadScheduler(Sys);

var cancelable = new Cancelable(scheduler);
scheduler.ScheduleOnce(100, () => TestActor.Tell("Test"), cancelable);
Expand All @@ -59,7 +59,7 @@ public void When_ScheduleOnce_and_then_canceling_before_they_occur_Then_their_ac
public void When_ScheduleRepeatedly_and_then_canceling_before_they_occur_Then_their_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
IActionScheduler scheduler = new TaskBasedScheduler();
IActionScheduler scheduler = new DedicatedThreadScheduler(Sys);

var cancelable = new Cancelable(scheduler);
scheduler.ScheduleRepeatedly(100, 2, () => TestActor.Tell("Test"), cancelable);
Expand All @@ -73,7 +73,7 @@ public void When_ScheduleRepeatedly_and_then_canceling_before_they_occur_Then_th
public void When_canceling_existing_running_repeaters_Then_their_future_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
IActionScheduler scheduler = new TaskBasedScheduler();
IActionScheduler scheduler = new DedicatedThreadScheduler(Sys);

var cancelable = new Cancelable(scheduler);
scheduler.ScheduleRepeatedly(0, 150, () => TestActor.Tell("Test"), cancelable);
Expand All @@ -88,7 +88,7 @@ public void When_canceling_existing_running_repeaters_Then_their_future_actions_
public void When_canceling_existing_running_repeaters_by_scheduling_the_cancellation_ahead_of_time_Then_their_future_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
IActionScheduler scheduler = new TaskBasedScheduler();
IActionScheduler scheduler = new DedicatedThreadScheduler(Sys);

var cancelableOdd = new Cancelable(scheduler);
scheduler.ScheduleRepeatedly(1, 150, () => TestActor.Tell("Test"), cancelableOdd);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//-----------------------------------------------------------------------
// <copyright file="TaskBasedScheduler_ActionScheduler_Schedule_Tests.cs" company="Akka.NET Project">
// <copyright file="DedicatedThreadScheduler_ActionScheduler_Schedule_Tests.cs" company="Akka.NET Project">
// Copyright (C) 2009-2015 Typesafe Inc. <http://www.typesafe.com>
// Copyright (C) 2013-2015 Akka.NET project <https://github.com/akkadotnet/akka.net>
// </copyright>
Expand All @@ -16,14 +16,14 @@
namespace Akka.Tests.Actor.Scheduler
{
// ReSharper disable once InconsistentNaming
public class TaskBasedScheduler_ActionScheduler_Schedule_Tests : AkkaSpec
public class DedicatedThreadScheduler_ActionScheduler_Schedule_Tests : AkkaSpec
{
[Theory(Skip = "Tests that messages are sent with the specified interval, however due to inaccuracy of Task.Dely this often fails. Run this manually if you've made changes to TaskBasedScheduler")]
[Theory]
[InlineData(10, 1000)]
public void ScheduleRepeatedly_in_milliseconds_Tests_and_verify_the_interval(int initialDelay, int interval)
{
// Prepare, set up actions to be fired
IActionScheduler scheduler = new TaskBasedScheduler();
IActionScheduler scheduler = new DedicatedThreadScheduler(Sys);

var cancelable = new Cancelable(Sys.Scheduler);
var receiver = ActorOf(dsl =>
Expand Down Expand Up @@ -67,7 +67,7 @@ public void ScheduleRepeatedly_in_milliseconds_Tests_and_verify_the_interval(int
public void ScheduleRepeatedly_in_milliseconds_Tests(int initialDelay, int interval)
{
// Prepare, set up actions to be fired
IActionScheduler testScheduler = new TaskBasedScheduler();
IActionScheduler testScheduler = new DedicatedThreadScheduler(Sys);

testScheduler.ScheduleRepeatedly(initialDelay, interval, () => TestActor.Tell("Test"));

Expand All @@ -83,7 +83,7 @@ public void ScheduleRepeatedly_in_milliseconds_Tests(int initialDelay, int inter
public void ScheduleRepeatedly_in_TimeSpan_Tests(int initialDelay, int interval)
{
// Prepare, set up actions to be fired
IActionScheduler testScheduler = new TaskBasedScheduler();
IActionScheduler testScheduler = new DedicatedThreadScheduler(Sys);

testScheduler.ScheduleRepeatedly(TimeSpan.FromMilliseconds(initialDelay), TimeSpan.FromMilliseconds(interval), () => TestActor.Tell("Test"));

Expand All @@ -98,7 +98,7 @@ public void ScheduleRepeatedly_in_TimeSpan_Tests(int initialDelay, int interval)
public void ScheduleOnceTests()
{
// Prepare, set up actions to be fired
IActionScheduler testScheduler = new TaskBasedScheduler();
IActionScheduler testScheduler = new DedicatedThreadScheduler(Sys);

testScheduler.ScheduleOnce(50, () => TestActor.Tell("Test1"));
testScheduler.ScheduleOnce(100, () => TestActor.Tell("Test2"));
Expand All @@ -116,7 +116,7 @@ public void ScheduleOnceTests()
public void When_ScheduleOnce_many_at_the_same_time_Then_all_fires(int[] times)
{
// Prepare, set up actions to be fired
IActionScheduler scheduler = new TaskBasedScheduler();
IActionScheduler scheduler = new DedicatedThreadScheduler(Sys);

foreach(var time in times)
{
Expand All @@ -141,7 +141,7 @@ public void When_ScheduleOnce_many_at_the_same_time_Then_all_fires(int[] times)
[InlineData(-4711)]
public void When_ScheduleOnce_with_invalid_delay_Then_exception_is_thrown(int invalidTime)
{
IActionScheduler testScheduler = new TaskBasedScheduler();
IActionScheduler testScheduler = new DedicatedThreadScheduler(Sys);

XAssert.Throws<ArgumentOutOfRangeException>(() =>
testScheduler.ScheduleOnce(invalidTime, () => { })
Expand All @@ -153,7 +153,7 @@ public void When_ScheduleOnce_with_invalid_delay_Then_exception_is_thrown(int in
[InlineData(-4711)]
public void When_ScheduleRepeatedly_with_invalid_delay_Then_exception_is_thrown(int invalidTime)
{
IActionScheduler testScheduler = new TaskBasedScheduler();
IActionScheduler testScheduler = new DedicatedThreadScheduler(Sys);

XAssert.Throws<ArgumentOutOfRangeException>(() =>
testScheduler.ScheduleRepeatedly(invalidTime, 100, () => { })
Expand All @@ -166,7 +166,7 @@ public void When_ScheduleRepeatedly_with_invalid_delay_Then_exception_is_thrown(
[InlineData(-4711)]
public void When_ScheduleRepeatedly_with_invalid_interval_Then_exception_is_thrown(int invalidInterval)
{
IActionScheduler testScheduler = new TaskBasedScheduler();
IActionScheduler testScheduler = new DedicatedThreadScheduler(Sys);

XAssert.Throws<ArgumentOutOfRangeException>(() =>
testScheduler.ScheduleRepeatedly(42, invalidInterval, () => { })
Expand All @@ -176,7 +176,7 @@ public void When_ScheduleRepeatedly_with_invalid_interval_Then_exception_is_thro
[Fact]
public void When_ScheduleOnce_with_0_delay_Then_action_is_executed_immediately()
{
IActionScheduler testScheduler = new TaskBasedScheduler();
IActionScheduler testScheduler = new DedicatedThreadScheduler(Sys);
var manualResetEvent = new ManualResetEventSlim();
manualResetEvent.IsSet.ShouldBeFalse();
testScheduler.ScheduleOnce(0, () => manualResetEvent.Set());
Expand All @@ -187,7 +187,7 @@ public void When_ScheduleOnce_with_0_delay_Then_action_is_executed_immediately()
[Fact]
public void When_ScheduleRepeatedly_with_0_delay_Then_action_is_executed_immediately()
{
IActionScheduler testScheduler = new TaskBasedScheduler();
IActionScheduler testScheduler = new DedicatedThreadScheduler(Sys);
var manualResetEvent = new ManualResetEventSlim();
manualResetEvent.IsSet.ShouldBeFalse();
testScheduler.ScheduleRepeatedly(0, 100, () => manualResetEvent.Set());
Expand All @@ -198,7 +198,7 @@ public void When_ScheduleRepeatedly_with_0_delay_Then_action_is_executed_immedia
[Fact]
public void When_ScheduleRepeatedly_action_crashes_Then_no_more_calls_will_be_scheduled()
{
IActionScheduler testScheduler = new TaskBasedScheduler();
IActionScheduler testScheduler = new DedicatedThreadScheduler(Sys);
var timesCalled = 0;
testScheduler.ScheduleRepeatedly(0, 10, () => { Interlocked.Increment(ref timesCalled); throw new Exception("Crash"); });
AwaitCondition(() => timesCalled >= 1);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//-----------------------------------------------------------------------
// <copyright file="TaskBasedScheduler_TellScheduler_Cancellation_Tests.cs" company="Akka.NET Project">
// <copyright file="DedicatedThreadScheduler_TellScheduler_Cancellation_Tests.cs" company="Akka.NET Project">
// Copyright (C) 2009-2015 Typesafe Inc. <http://www.typesafe.com>
// Copyright (C) 2013-2015 Akka.NET project <https://github.com/akkadotnet/akka.net>
// </copyright>
Expand All @@ -12,13 +12,13 @@
namespace Akka.Tests.Actor.Scheduler
{
// ReSharper disable once InconsistentNaming
public class TaskBasedScheduler_TellScheduler_Cancellation_Tests : AkkaSpec
public class DedicatedThreadScheduler_TellScheduler_Cancellation_Tests : AkkaSpec
{
[Fact]
public void When_ScheduleTellOnce_using_canceled_Cancelable_Then_their_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
ITellScheduler scheduler = new TaskBasedScheduler();
ITellScheduler scheduler = new DedicatedThreadScheduler(Sys);

var canceled = Cancelable.CreateCanceled();
scheduler.ScheduleTellOnce(0, TestActor, "Test", ActorRefs.NoSender, canceled);
Expand All @@ -32,7 +32,7 @@ public void When_ScheduleTellOnce_using_canceled_Cancelable_Then_their_actions_s
public void When_ScheduleTellRepeatedly_using_canceled_Cancelable_Then_their_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
ITellScheduler scheduler = new TaskBasedScheduler();
ITellScheduler scheduler = new DedicatedThreadScheduler(Sys);

var canceled = Cancelable.CreateCanceled();
scheduler.ScheduleTellRepeatedly(0, 2, TestActor, "Test", ActorRefs.NoSender, canceled);
Expand All @@ -46,7 +46,7 @@ public void When_ScheduleTellRepeatedly_using_canceled_Cancelable_Then_their_act
public void When_ScheduleTellOnce_and_then_canceling_before_they_occur_Then_their_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
IScheduler scheduler = new TaskBasedScheduler();
IScheduler scheduler = new DedicatedThreadScheduler(Sys);

var cancelable = new Cancelable(scheduler);
scheduler.ScheduleTellOnce(100, TestActor, "Test", ActorRefs.NoSender, cancelable);
Expand All @@ -61,7 +61,7 @@ public void When_ScheduleTellOnce_and_then_canceling_before_they_occur_Then_thei
public void When_ScheduleTellRepeatedly_and_then_canceling_before_they_occur_Then_their_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
IScheduler scheduler = new TaskBasedScheduler();
IScheduler scheduler = new DedicatedThreadScheduler(Sys);

var cancelable = new Cancelable(scheduler);
scheduler.ScheduleTellRepeatedly(100, 2, TestActor, "Test", ActorRefs.NoSender, cancelable);
Expand All @@ -76,7 +76,7 @@ public void When_ScheduleTellRepeatedly_and_then_canceling_before_they_occur_The
public void When_canceling_existing_running_repeaters_Then_their_future_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
IScheduler scheduler = new TaskBasedScheduler();
IScheduler scheduler = new DedicatedThreadScheduler(Sys);

var cancelable = new Cancelable(scheduler);
scheduler.ScheduleTellRepeatedly(0, 150, TestActor, "Test", ActorRefs.NoSender, cancelable);
Expand All @@ -91,7 +91,7 @@ public void When_canceling_existing_running_repeaters_Then_their_future_actions_
public void When_canceling_existing_running_repeaters_by_scheduling_the_cancellation_ahead_of_time_Then_their_future_actions_should_not_be_invoked()
{
// Prepare, set up actions to be fired
IScheduler scheduler = new TaskBasedScheduler();
IScheduler scheduler = new DedicatedThreadScheduler(Sys);

var cancelableOdd = new Cancelable(scheduler);
scheduler.ScheduleTellRepeatedly(1, 150, TestActor, "Test", ActorRefs.NoSender, cancelableOdd);
Expand Down
Loading