예제 #1
0
        public void Given_Props_When_WithSupervisor_Then_mutate_SupervisorStrategy()
        {
            var supervision = new DoNothingSupervisorStrategy();

            var props  = new Props();
            var props2 = props.WithChildSupervisorStrategy(supervision);

            Assert.NotEqual(props, props2);
            Assert.Equal(supervision, props2.SupervisorStrategy);

            Assert.Equal(props.Dispatcher, props2.Dispatcher);
            Assert.Equal(props.MailboxProducer, props2.MailboxProducer);
            Assert.Equal(props.ReceiveMiddleware, props2.ReceiveMiddleware);
            Assert.Equal(props.ReceiveMiddlewareChain, props2.ReceiveMiddlewareChain);
            Assert.Equal(props.Producer, props2.Producer);
            Assert.Equal(props.Spawner, props2.Spawner);
            Assert.NotEqual(props.SupervisorStrategy, props2.SupervisorStrategy);
        }
예제 #2
0
        public void Given_Context_ctor_should_set_some_fields()
        {
            var producer = (Func <IActor>)(() => null);
            var supervisorStrategyMock = new DoNothingSupervisorStrategy();
            var middleware             = new Receive(ctx => Task.CompletedTask);
            var parent = new PID("test", "test");

            var context = new Context(producer, supervisorStrategyMock, middleware, parent);

            Assert.Equal(parent, context.Parent);

            Assert.Null(context.Message);
            Assert.Null(context.Sender);
            Assert.Null(context.Self);
            Assert.Null(context.Actor);
            Assert.Null(context.Children);

            Assert.Equal(TimeSpan.Zero, context.ReceiveTimeout);
        }