public void GivenTagInTagListener_WhenWriteAndReadValue_TagListenerShouldRaiseEvent() { _tagListener.AddTag(_tag); _tagListener.MonitorEvents(); var writeAction = new Action(() => _tagController.WriteTag(_tag, 10).Wait()); var readAction = new Action(() => _tagListener.ReadTagSynchronously(_tag)); writeAction.ShouldNotThrow(); readAction.ShouldNotThrow(); _tagListener.ShouldNotRaise("CommunicationProblemOccured"); _tagListener.ShouldRaise("TagChanged"); _tag.Value.Should().Be((uint)10); }