public async Task IgnoresStartMessageWhereComponentDoesntAffectStatus() { var hiddenChild = new TestComponent("child"); var root = new TestComponent("hi", new[] { hiddenChild }, false); var change = new MessageChangeEvent( DefaultTimestamp, root.GetByNames <IComponent>(root.Name, hiddenChild.Name).Path, ComponentStatus.Degraded, MessageType.Start); var context = new ExistingStartMessageContext( DefaultTimestamp, new TestComponent("name"), ComponentStatus.Down); var result = await Processor.ProcessAsync(change, EventEntity, root, context); Assert.Equal(context, result); Factory .Verify( x => x.CreateMessageAsync( It.IsAny <EventEntity>(), It.IsAny <DateTime>(), It.IsAny <MessageType>(), It.IsAny <IComponent>()), Times.Never()); }