diff --git a/lmxopcua-docs-fixed.md b/lmxopcua-docs-fixed.md
new file mode 100644
index 0000000..310ca0b
--- /dev/null
+++ b/lmxopcua-docs-fixed.md
@@ -0,0 +1,5126 @@
+# Documentation Analysis Report
+
+Files Scanned: 217
+Files With Issues: 107
+Total Issues: 512
+
+## Issues
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/AlarmsCommand.cs
+LINE: 41
+CATEGORY: MissingInheritDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Inherited method 'ExecuteAsync(IConsole console)' should use for documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/BrowseCommand.cs
+LINE: 42
+CATEGORY: MissingInheritDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Inherited method 'ExecuteAsync(IConsole console)' should use for documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ConnectCommand.cs
+LINE: 22
+CATEGORY: MissingInheritDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Inherited method 'ExecuteAsync(IConsole console)' should use for documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
+LINE: 61
+CATEGORY: MissingInheritDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Inherited method 'ExecuteAsync(IConsole console)' should use for documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ReadCommand.cs
+LINE: 29
+CATEGORY: MissingInheritDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Inherited method 'ExecuteAsync(IConsole console)' should use for documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/RedundancyCommand.cs
+LINE: 22
+CATEGORY: MissingInheritDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Inherited method 'ExecuteAsync(IConsole console)' should use for documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/SubscribeCommand.cs
+LINE: 35
+CATEGORY: MissingInheritDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Inherited method 'ExecuteAsync(IConsole console)' should use for documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/WriteCommand.cs
+LINE: 37
+CATEGORY: MissingInheritDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Inherited method 'ExecuteAsync(IConsole console)' should use for documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultApplicationConfigurationFactory.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CreateAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'CreateAsync(ConnectionSettings settings, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultEndpointDiscovery.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)
+MESSAGE: Method 'SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionFactory.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CreateSessionAsync(ApplicationConfiguration config, EndpointDescription endpoint, string sessionName, uint sessionTimeoutMs, UserIdentity identity, CancellationToken ct)
+MESSAGE: Method 'CreateSessionAsync(ApplicationConfiguration config, EndpointDescription endpoint, string sessionName, uint sessionTimeoutMs, UserIdentity identity, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/IApplicationConfigurationFactory.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: CreateAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'CreateAsync(ConnectionSettings settings, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/IApplicationConfigurationFactory.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: CreateAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'CreateAsync(ConnectionSettings settings, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/IEndpointDiscovery.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)
+MESSAGE: Method 'SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/IEndpointDiscovery.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)
+MESSAGE: Method 'SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/IEndpointDiscovery.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)
+MESSAGE: Method 'SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Helpers/AggregateTypeMapper.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ToNodeId(AggregateType aggregate)
+MESSAGE: Method 'ToNodeId(AggregateType aggregate)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Helpers/SecurityModeMapper.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ToMessageSecurityMode(SecurityMode mode)
+MESSAGE: Method 'ToMessageSecurityMode(SecurityMode mode)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientServiceFactory.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Create()
+MESSAGE: Method 'Create()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/AlarmEventArgs.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AlarmEventArgs(string sourceName, string conditionName, ushort severity, string message, bool retain, bool activeState, bool ackedState, DateTime time, byte[]? eventId, string? conditionNodeId)
+MESSAGE: Constructor 'AlarmEventArgs(string sourceName, string conditionName, ushort severity, string message, bool retain, bool activeState, bool ackedState, DateTime time, byte[]? eventId, string? conditionNodeId)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/BrowseResult.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: BrowseResult(string nodeId, string displayName, string nodeClass, bool hasChildren)
+MESSAGE: Constructor 'BrowseResult(string nodeId, string displayName, string nodeClass, bool hasChildren)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/ConnectionInfo.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ConnectionInfo(string endpointUrl, string serverName, string securityMode, string securityPolicyUri, string sessionId, string sessionName)
+MESSAGE: Constructor 'ConnectionInfo(string endpointUrl, string serverName, string securityMode, string securityPolicyUri, string sessionId, string sessionName)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/ConnectionStateChangedEventArgs.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ConnectionStateChangedEventArgs(ConnectionState oldState, ConnectionState newState, string endpointUrl)
+MESSAGE: Constructor 'ConnectionStateChangedEventArgs(ConnectionState oldState, ConnectionState newState, string endpointUrl)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/DataChangedEventArgs.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: DataChangedEventArgs(string nodeId, DataValue value)
+MESSAGE: Constructor 'DataChangedEventArgs(string nodeId, DataValue value)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/RedundancyInfo.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: RedundancyInfo(string mode, byte serviceLevel, string[] serverUris, string applicationUri)
+MESSAGE: Constructor 'RedundancyInfo(string mode, byte serviceLevel, string[] serverUris, string applicationUri)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientServiceFactory.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Create()
+MESSAGE: Method 'Create()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/App.axaml.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Initialize()
+MESSAGE: Method 'Initialize()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/App.axaml.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnFrameworkInitializationCompleted()
+MESSAGE: Method 'OnFrameworkInitializationCompleted()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimePicker.axaml.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: DateTimePicker()
+MESSAGE: Constructor 'DateTimePicker()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimePicker.axaml.cs
+LINE: 55
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnLoaded(RoutedEventArgs e)
+MESSAGE: Method 'OnLoaded(RoutedEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimePicker.axaml.cs
+LINE: 71
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
+MESSAGE: Method 'OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: DateTimeRangePicker()
+MESSAGE: Constructor 'DateTimeRangePicker()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 46
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: StartDateTime
+MESSAGE: Property 'StartDateTime' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 52
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: EndDateTime
+MESSAGE: Property 'EndDateTime' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: StartText
+MESSAGE: Property 'StartText' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 64
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: EndText
+MESSAGE: Property 'EndText' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 70
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: MinDateTime
+MESSAGE: Property 'MinDateTime' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 76
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: MaxDateTime
+MESSAGE: Property 'MaxDateTime' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 82
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnLoaded(RoutedEventArgs e)
+MESSAGE: Method 'OnLoaded(RoutedEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 103
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
+MESSAGE: Method 'OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Helpers/StatusCodeFormatter.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Format(StatusCode statusCode)
+MESSAGE: Method 'Format(StatusCode statusCode)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Helpers/ValueFormatter.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Format(object? value)
+MESSAGE: Method 'Format(object? value)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Program.cs
+LINE: 7
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Main(string[] args)
+MESSAGE: Method 'Main(string[] args)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Program.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BuildAvaloniaApp()
+MESSAGE: Method 'BuildAvaloniaApp()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/AvaloniaUiDispatcher.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Post(Action action)
+MESSAGE: Method 'Post(Action action)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/ISettingsService.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Load()
+MESSAGE: Method 'Load()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/ISettingsService.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Save(UserSettings settings)
+MESSAGE: Method 'Save(UserSettings settings)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/IUiDispatcher.cs
+LINE: 11
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: Post(Action action)
+MESSAGE: Method 'Post(Action action)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/JsonSettingsService.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Load()
+MESSAGE: Method 'Load()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/JsonSettingsService.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Save(UserSettings settings)
+MESSAGE: Method 'Save(UserSettings settings)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/SynchronousUiDispatcher.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Post(Action action)
+MESSAGE: Method 'Post(Action action)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmsViewModel.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AlarmsViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'AlarmsViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmsViewModel.cs
+LINE: 149
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: AcknowledgeAlarmAsync(AlarmEventViewModel alarm, string comment)
+MESSAGE: Method 'AcknowledgeAlarmAsync(AlarmEventViewModel alarm, string comment)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmsViewModel.cs
+LINE: 149
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: AcknowledgeAlarmAsync(AlarmEventViewModel alarm, string comment)
+MESSAGE: Method 'AcknowledgeAlarmAsync(AlarmEventViewModel alarm, string comment)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmsViewModel.cs
+LINE: 178
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RestoreAlarmSubscriptionAsync(string? sourceNodeId)
+MESSAGE: Method 'RestoreAlarmSubscriptionAsync(string? sourceNodeId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/BrowseTreeViewModel.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: BrowseTreeViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'BrowseTreeViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryValueViewModel.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: HistoryValueViewModel(string value, string status, string sourceTimestamp, string serverTimestamp)
+MESSAGE: Constructor 'HistoryValueViewModel(string value, string status, string sourceTimestamp, string serverTimestamp)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryValueViewModel.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Value
+MESSAGE: Property 'Value' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryValueViewModel.cs
+LINE: 19
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Status
+MESSAGE: Property 'Status' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryValueViewModel.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SourceTimestamp
+MESSAGE: Property 'SourceTimestamp' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryValueViewModel.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ServerTimestamp
+MESSAGE: Property 'ServerTimestamp' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryViewModel.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: HistoryViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'HistoryViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryViewModel.cs
+LINE: 55
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: IsAggregateRead
+MESSAGE: Property 'IsAggregateRead' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/ReadWriteViewModel.cs
+LINE: 39
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ReadWriteViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'ReadWriteViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/ReadWriteViewModel.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: IsNodeSelected
+MESSAGE: Property 'IsNodeSelected' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionItemViewModel.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: SubscriptionItemViewModel(string nodeId, int intervalMs)
+MESSAGE: Constructor 'SubscriptionItemViewModel(string nodeId, int intervalMs)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/TreeNodeViewModel.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: TreeNodeViewModel(string nodeId, string displayName, string nodeClass, bool hasChildren, IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'TreeNodeViewModel(string nodeId, string displayName, string nodeClass, bool hasChildren, IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/AckAlarmWindow.axaml.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AckAlarmWindow()
+MESSAGE: Constructor 'AckAlarmWindow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/AckAlarmWindow.axaml.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AckAlarmWindow(AlarmsViewModel alarmsVm, AlarmEventViewModel alarm)
+MESSAGE: Constructor 'AckAlarmWindow(AlarmsViewModel alarmsVm, AlarmEventViewModel alarm)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/AlarmsView.axaml.cs
+LINE: 19
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AlarmsView()
+MESSAGE: Constructor 'AlarmsView()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/AlarmsView.axaml.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnLoaded(RoutedEventArgs e)
+MESSAGE: Method 'OnLoaded(RoutedEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/BrowseTreeView.axaml.cs
+LINE: 7
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: BrowseTreeView()
+MESSAGE: Constructor 'BrowseTreeView()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/HistoryView.axaml.cs
+LINE: 7
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: HistoryView()
+MESSAGE: Constructor 'HistoryView()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/MainWindow.axaml.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: MainWindow()
+MESSAGE: Constructor 'MainWindow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/MainWindow.axaml.cs
+LINE: 53
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnLoaded(RoutedEventArgs e)
+MESSAGE: Method 'OnLoaded(RoutedEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/MainWindow.axaml.cs
+LINE: 140
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnClosing(WindowClosingEventArgs e)
+MESSAGE: Method 'OnClosing(WindowClosingEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/ReadWriteView.axaml.cs
+LINE: 7
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ReadWriteView()
+MESSAGE: Constructor 'ReadWriteView()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/SubscriptionsView.axaml.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: SubscriptionsView()
+MESSAGE: Constructor 'SubscriptionsView()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/SubscriptionsView.axaml.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnLoaded(RoutedEventArgs e)
+MESSAGE: Method 'OnLoaded(RoutedEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/WriteValueWindow.axaml.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: WriteValueWindow()
+MESSAGE: Constructor 'WriteValueWindow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/WriteValueWindow.axaml.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: WriteValueWindow(SubscriptionsViewModel subscriptionsVm, string nodeId, string? currentValue)
+MESSAGE: Constructor 'WriteValueWindow(SubscriptionsViewModel subscriptionsVm, string nodeId, string? currentValue)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/IUserAuthenticationProvider.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ValidateCredentials(string username, string password)
+MESSAGE: Method 'ValidateCredentials(string username, string password)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/IUserAuthenticationProvider.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ValidateCredentials(string username, string password)
+MESSAGE: Method 'ValidateCredentials(string username, string password)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/IUserAuthenticationProvider.cs
+LINE: 27
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: GetUserRoles(string username)
+MESSAGE: Method 'GetUserRoles(string username)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/LdapAuthenticationProvider.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: LdapAuthenticationProvider(LdapConfiguration config)
+MESSAGE: Constructor 'LdapAuthenticationProvider(LdapConfiguration config)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/LdapAuthenticationProvider.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetUserRoles(string username)
+MESSAGE: Method 'GetUserRoles(string username)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/LdapAuthenticationProvider.cs
+LINE: 90
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateCredentials(string username, string password)
+MESSAGE: Method 'ValidateCredentials(string username, string password)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxNodeManager.cs
+LINE: 81
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)
+MESSAGE: Constructor 'LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxNodeManager.cs
+LINE: 81
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)
+MESSAGE: Constructor 'LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxNodeManager.cs
+LINE: 81
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)
+MESSAGE: Constructor 'LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxNodeManager.cs
+LINE: 81
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)
+MESSAGE: Constructor 'LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxNodeManager.cs
+LINE: 81
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)
+MESSAGE: Constructor 'LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxOpcUaServer.cs
+LINE: 39
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: LmxOpcUaServer(string galaxyName, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, RedundancyConfiguration? redundancyConfig, string? applicationUri)
+MESSAGE: Constructor 'LmxOpcUaServer(string galaxyName, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, RedundancyConfiguration? redundancyConfig, string? applicationUri)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxOpcUaServer.cs
+LINE: 169
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)
+MESSAGE: Method 'UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxOpcUaServer.cs
+LINE: 169
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)
+MESSAGE: Method 'UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 39
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)
+MESSAGE: Constructor 'OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 39
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)
+MESSAGE: Constructor 'OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 39
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)
+MESSAGE: Constructor 'OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 39
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)
+MESSAGE: Constructor 'OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 82
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)
+MESSAGE: Method 'UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 82
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)
+MESSAGE: Method 'UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUaService.cs
+LINE: 87
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaService(AppConfiguration config, IMxProxy? mxProxy, IGalaxyRepository? galaxyRepository, IMxAccessClient? mxAccessClientOverride, bool hasMxAccessClientOverride, IUserAuthenticationProvider? authProviderOverride, bool hasAuthProviderOverride)
+MESSAGE: Constructor 'OpcUaService(AppConfiguration config, IMxProxy? mxProxy, IGalaxyRepository? galaxyRepository, IMxAccessClient? mxAccessClientOverride, bool hasMxAccessClientOverride, IUserAuthenticationProvider? authProviderOverride, bool hasAuthProviderOverride)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUaService.cs
+LINE: 87
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaService(AppConfiguration config, IMxProxy? mxProxy, IGalaxyRepository? galaxyRepository, IMxAccessClient? mxAccessClientOverride, bool hasMxAccessClientOverride, IUserAuthenticationProvider? authProviderOverride, bool hasAuthProviderOverride)
+MESSAGE: Constructor 'OpcUaService(AppConfiguration config, IMxProxy? mxProxy, IGalaxyRepository? galaxyRepository, IMxAccessClient? mxAccessClientOverride, bool hasMxAccessClientOverride, IUserAuthenticationProvider? authProviderOverride, bool hasAuthProviderOverride)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUaServiceBuilder.cs
+LINE: 127
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: WithAuthProvider(IUserAuthenticationProvider? provider)
+MESSAGE: Method 'WithAuthProvider(IUserAuthenticationProvider? provider)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUaServiceBuilder.cs
+LINE: 137
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: WithAuthentication(AuthenticationConfiguration authConfig)
+MESSAGE: Method 'WithAuthentication(AuthenticationConfiguration authConfig)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUaServiceBuilder.cs
+LINE: 143
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisableDashboard()
+MESSAGE: Method 'DisableDashboard()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Status/StatusReportService.cs
+LINE: 53
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SetComponents(IMxAccessClient? mxAccessClient, PerformanceMetrics? metrics, GalaxyRepositoryStats? galaxyStats, OpcUaServerHost? serverHost, LmxNodeManager? nodeManager, RedundancyConfiguration? redundancyConfig, string? applicationUri)
+MESSAGE: Method 'SetComponents(IMxAccessClient? mxAccessClient, PerformanceMetrics? metrics, GalaxyRepositoryStats? galaxyStats, OpcUaServerHost? serverHost, LmxNodeManager? nodeManager, RedundancyConfiguration? redundancyConfig, string? applicationUri)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Status/StatusReportService.cs
+LINE: 53
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SetComponents(IMxAccessClient? mxAccessClient, PerformanceMetrics? metrics, GalaxyRepositoryStats? galaxyStats, OpcUaServerHost? serverHost, LmxNodeManager? nodeManager, RedundancyConfiguration? redundancyConfig, string? applicationUri)
+MESSAGE: Method 'SetComponents(IMxAccessClient? mxAccessClient, PerformanceMetrics? metrics, GalaxyRepositoryStats? galaxyStats, OpcUaServerHost? serverHost, LmxNodeManager? nodeManager, RedundancyConfiguration? redundancyConfig, string? applicationUri)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_SubscribesToAlarms()
+MESSAGE: Method 'Execute_SubscribesToAlarms()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_WithNode_PassesSourceNodeId()
+MESSAGE: Method 'Execute_WithNode_PassesSourceNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_WithRefresh_RequestsConditionRefresh()
+MESSAGE: Method 'Execute_WithRefresh_RequestsConditionRefresh()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 82
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_RefreshFailure_PrintsError()
+MESSAGE: Method 'Execute_RefreshFailure_PrintsError()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 108
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_UnsubscribesOnCancellation()
+MESSAGE: Method 'Execute_UnsubscribesOnCancellation()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 129
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_PrintsBrowseResults()
+MESSAGE: Method 'Execute_PrintsBrowseResults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_BrowsesFromSpecifiedNode()
+MESSAGE: Method 'Execute_BrowsesFromSpecifiedNode()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 60
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DefaultBrowsesFromNull()
+MESSAGE: Method 'Execute_DefaultBrowsesFromNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 80
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_NonRecursive_BrowsesSingleLevel()
+MESSAGE: Method 'Execute_NonRecursive_BrowsesSingleLevel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 104
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_Recursive_BrowsesChildren()
+MESSAGE: Method 'Execute_Recursive_BrowsesChildren()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 126
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/CommandBaseTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CommonOptions_MapToConnectionSettings_Correctly()
+MESSAGE: Method 'CommonOptions_MapToConnectionSettings_Correctly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/CommandBaseTests.cs
+LINE: 40
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SecurityOption_Encrypt_MapsToSignAndEncrypt()
+MESSAGE: Method 'SecurityOption_Encrypt_MapsToSignAndEncrypt()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/CommandBaseTests.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SecurityOption_None_MapsToNone()
+MESSAGE: Method 'SecurityOption_None_MapsToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/CommandBaseTests.cs
+LINE: 74
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: NoFailoverUrls_FailoverUrlsIsNull()
+MESSAGE: Method 'NoFailoverUrls_FailoverUrlsIsNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ConnectCommandTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_PrintsConnectionInfo()
+MESSAGE: Method 'Execute_PrintsConnectionInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ConnectCommandTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_CallsConnectAndDisconnect()
+MESSAGE: Method 'Execute_CallsConnectAndDisconnect()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ConnectCommandTests.cs
+LINE: 59
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsOnError()
+MESSAGE: Method 'Execute_DisconnectsOnError()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConnectCalled
+MESSAGE: Property 'ConnectCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastConnectionSettings
+MESSAGE: Property 'LastConnectionSettings' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: DisconnectCalled
+MESSAGE: Property 'DisconnectCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: DisposeCalled
+MESSAGE: Property 'DisposeCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 19
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadNodeIds
+MESSAGE: Property 'ReadNodeIds' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteValues
+MESSAGE: Property 'WriteValues' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseNodeIds
+MESSAGE: Property 'BrowseNodeIds' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscribeCalls
+MESSAGE: Property 'SubscribeCalls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: UnsubscribeCalls
+MESSAGE: Property 'UnsubscribeCalls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscribeAlarmsCalls
+MESSAGE: Property 'SubscribeAlarmsCalls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: UnsubscribeAlarmsCalled
+MESSAGE: Property 'UnsubscribeAlarmsCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 26
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: RequestConditionRefreshCalled
+MESSAGE: Property 'RequestConditionRefreshCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadRawCalls
+MESSAGE: Property 'HistoryReadRawCalls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadAggregateCalls
+MESSAGE: Property 'HistoryReadAggregateCalls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: GetRedundancyInfoCalled
+MESSAGE: Property 'GetRedundancyInfoCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 36
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConnectionInfoResult
+MESSAGE: Property 'ConnectionInfoResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 44
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadValueResult
+MESSAGE: Property 'ReadValueResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 50
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteStatusCodeResult
+MESSAGE: Property 'WriteStatusCodeResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 52
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseResults
+MESSAGE: Property 'BrowseResults' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadResult
+MESSAGE: Property 'HistoryReadResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 64
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: RedundancyInfoResult
+MESSAGE: Property 'RedundancyInfoResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 67
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConnectException
+MESSAGE: Property 'ConnectException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 68
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadException
+MESSAGE: Property 'ReadException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 69
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteException
+MESSAGE: Property 'WriteException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 70
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConditionRefreshException
+MESSAGE: Property 'ConditionRefreshException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 202
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseDataChanged(string nodeId, DataValue value)
+MESSAGE: Method 'RaiseDataChanged(string nodeId, DataValue value)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 202
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseDataChanged(string nodeId, DataValue value)
+MESSAGE: Method 'RaiseDataChanged(string nodeId, DataValue value)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 208
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseAlarmEvent(AlarmEventArgs args)
+MESSAGE: Method 'RaiseAlarmEvent(AlarmEventArgs args)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 214
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)
+MESSAGE: Method 'RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 214
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)
+MESSAGE: Method 'RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 214
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)
+MESSAGE: Method 'RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientServiceFactory.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: FakeOpcUaClientServiceFactory(FakeOpcUaClientService service)
+MESSAGE: Constructor 'FakeOpcUaClientServiceFactory(FakeOpcUaClientService service)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientServiceFactory.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Create()
+MESSAGE: Method 'Create()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_RawRead_PrintsValues()
+MESSAGE: Method 'Execute_RawRead_PrintsValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_RawRead_CallsHistoryReadRaw()
+MESSAGE: Method 'Execute_RawRead_CallsHistoryReadRaw()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 65
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_AggregateRead_CallsHistoryReadAggregate()
+MESSAGE: Method 'Execute_AggregateRead_CallsHistoryReadAggregate()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 86
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_AggregateRead_PrintsAggregateInfo()
+MESSAGE: Method 'Execute_AggregateRead_PrintsAggregateInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 107
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_InvalidAggregate_ThrowsArgumentException()
+MESSAGE: Method 'Execute_InvalidAggregate_ThrowsArgumentException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 123
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_NullInput_ReturnsNull()
+MESSAGE: Method 'Parse_NullInput_ReturnsNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_EmptyString_ReturnsNull()
+MESSAGE: Method 'Parse_EmptyString_ReturnsNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_WhitespaceOnly_ReturnsNull()
+MESSAGE: Method 'Parse_WhitespaceOnly_ReturnsNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 28
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_StandardStringFormat_ReturnsNodeId()
+MESSAGE: Method 'Parse_StandardStringFormat_ReturnsNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_NumericFormat_ReturnsNodeId()
+MESSAGE: Method 'Parse_NumericFormat_ReturnsNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_BareNumeric_ReturnsNamespace0NumericNodeId()
+MESSAGE: Method 'Parse_BareNumeric_ReturnsNamespace0NumericNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 54
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_WithWhitespacePadding_Trims()
+MESSAGE: Method 'Parse_WithWhitespacePadding_Trims()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 62
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_InvalidFormat_ThrowsFormatException()
+MESSAGE: Method 'Parse_InvalidFormat_ThrowsFormatException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 68
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ParseRequired_NullInput_ThrowsArgumentException()
+MESSAGE: Method 'ParseRequired_NullInput_ThrowsArgumentException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 74
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ParseRequired_EmptyInput_ThrowsArgumentException()
+MESSAGE: Method 'ParseRequired_EmptyInput_ThrowsArgumentException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 80
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ParseRequired_ValidInput_ReturnsNodeId()
+MESSAGE: Method 'ParseRequired_ValidInput_ReturnsNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ReadCommandTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_PrintsReadValue()
+MESSAGE: Method 'Execute_PrintsReadValue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ReadCommandTests.cs
+LINE: 42
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_CallsReadValueWithCorrectNodeId()
+MESSAGE: Method 'Execute_CallsReadValueWithCorrectNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ReadCommandTests.cs
+LINE: 60
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ReadCommandTests.cs
+LINE: 78
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsEvenOnReadError()
+MESSAGE: Method 'Execute_DisconnectsEvenOnReadError()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/RedundancyCommandTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_PrintsRedundancyInfo()
+MESSAGE: Method 'Execute_PrintsRedundancyInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/RedundancyCommandTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_NoServerUris_OmitsUriSection()
+MESSAGE: Method 'Execute_NoServerUris_OmitsUriSection()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/RedundancyCommandTests.cs
+LINE: 61
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_CallsGetRedundancyInfo()
+MESSAGE: Method 'Execute_CallsGetRedundancyInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/RedundancyCommandTests.cs
+LINE: 77
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/SubscribeCommandTests.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_SubscribesWithCorrectParameters()
+MESSAGE: Method 'Execute_SubscribesWithCorrectParameters()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/SubscribeCommandTests.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_UnsubscribesOnCancellation()
+MESSAGE: Method 'Execute_UnsubscribesOnCancellation()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/SubscribeCommandTests.cs
+LINE: 60
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/SubscribeCommandTests.cs
+LINE: 83
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_PrintsSubscriptionMessage()
+MESSAGE: Method 'Execute_PrintsSubscriptionMessage()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/TestConsoleHelper.cs
+LINE: 21
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: GetOutput(FakeInMemoryConsole console)
+MESSAGE: Method 'GetOutput(FakeInMemoryConsole console)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/TestConsoleHelper.cs
+LINE: 30
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: GetError(FakeInMemoryConsole console)
+MESSAGE: Method 'GetError(FakeInMemoryConsole console)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/WriteCommandTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_WritesSuccessfully()
+MESSAGE: Method 'Execute_WritesSuccessfully()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/WriteCommandTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_ReportsFailure()
+MESSAGE: Method 'Execute_ReportsFailure()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/WriteCommandTests.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_ReadsCurrentValueThenWrites()
+MESSAGE: Method 'Execute_ReadsCurrentValueThenWrites()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/WriteCommandTests.cs
+LINE: 82
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeApplicationConfigurationFactory.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnCreate
+MESSAGE: Property 'ThrowOnCreate' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeApplicationConfigurationFactory.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CreateCallCount
+MESSAGE: Property 'CreateCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeApplicationConfigurationFactory.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastSettings
+MESSAGE: Property 'LastSettings' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeApplicationConfigurationFactory.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CreateAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'CreateAsync(ConnectionSettings settings, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeEndpointDiscovery.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnSelect
+MESSAGE: Property 'ThrowOnSelect' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeEndpointDiscovery.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SelectCallCount
+MESSAGE: Property 'SelectCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeEndpointDiscovery.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastEndpointUrl
+MESSAGE: Property 'LastEndpointUrl' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeEndpointDiscovery.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)
+MESSAGE: Method 'SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadCount
+MESSAGE: Property 'ReadCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteCount
+MESSAGE: Property 'WriteCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseCount
+MESSAGE: Property 'BrowseCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 26
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseNextCount
+MESSAGE: Property 'BrowseNextCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HasChildrenCount
+MESSAGE: Property 'HasChildrenCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 28
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadRawCount
+MESSAGE: Property 'HistoryReadRawCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadAggregateCount
+MESSAGE: Property 'HistoryReadAggregateCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 32
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadResponse
+MESSAGE: Property 'ReadResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadResponseFunc
+MESSAGE: Property 'ReadResponseFunc' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteResponse
+MESSAGE: Property 'WriteResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 35
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnRead
+MESSAGE: Property 'ThrowOnRead' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 36
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnWrite
+MESSAGE: Property 'ThrowOnWrite' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnBrowse
+MESSAGE: Property 'ThrowOnBrowse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 39
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseResponse
+MESSAGE: Property 'BrowseResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 40
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseContinuationPoint
+MESSAGE: Property 'BrowseContinuationPoint' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseNextResponse
+MESSAGE: Property 'BrowseNextResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 42
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseNextContinuationPoint
+MESSAGE: Property 'BrowseNextContinuationPoint' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 43
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HasChildrenResponse
+MESSAGE: Property 'HasChildrenResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadRawResponse
+MESSAGE: Property 'HistoryReadRawResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 46
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadAggregateResponse
+MESSAGE: Property 'HistoryReadAggregateResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 47
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnHistoryReadRaw
+MESSAGE: Property 'ThrowOnHistoryReadRaw' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 48
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnHistoryReadAggregate
+MESSAGE: Property 'ThrowOnHistoryReadAggregate' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 195
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SimulateKeepAlive(bool isGood)
+MESSAGE: Method 'SimulateKeepAlive(bool isGood)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CreateCallCount
+MESSAGE: Property 'CreateCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnCreate
+MESSAGE: Property 'ThrowOnCreate' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastEndpointUrl
+MESSAGE: Property 'LastEndpointUrl' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CreatedSessions
+MESSAGE: Property 'CreatedSessions' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CreateSessionAsync(ApplicationConfiguration config, EndpointDescription endpoint, string sessionName, uint sessionTimeoutMs, UserIdentity identity, CancellationToken ct)
+MESSAGE: Method 'CreateSessionAsync(ApplicationConfiguration config, EndpointDescription endpoint, string sessionName, uint sessionTimeoutMs, UserIdentity identity, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 48
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: EnqueueSession(FakeSessionAdapter session)
+MESSAGE: Method 'EnqueueSession(FakeSessionAdapter session)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 30
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AddDataChangeCount
+MESSAGE: Property 'AddDataChangeCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 31
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AddEventCount
+MESSAGE: Property 'AddEventCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 32
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: RemoveCount
+MESSAGE: Property 'RemoveCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 98
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SimulateDataChange(uint handle, DataValue value)
+MESSAGE: Method 'SimulateDataChange(uint handle, DataValue value)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 98
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SimulateDataChange(uint handle, DataValue value)
+MESSAGE: Method 'SimulateDataChange(uint handle, DataValue value)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 107
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SimulateEvent(uint handle, EventFieldList eventFields)
+MESSAGE: Method 'SimulateEvent(uint handle, EventFieldList eventFields)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 107
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SimulateEvent(uint handle, EventFieldList eventFields)
+MESSAGE: Method 'SimulateEvent(uint handle, EventFieldList eventFields)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_ReturnsNonNullForAllValues(AggregateType aggregate)
+MESSAGE: Method 'ToNodeId_ReturnsNonNullForAllValues(AggregateType aggregate)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_Average_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_Average_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 31
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_Minimum_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_Minimum_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_Maximum_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_Maximum_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 43
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_Count_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_Count_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_Start_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_Start_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 55
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_End_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_End_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 61
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_InvalidValue_Throws()
+MESSAGE: Method 'ToNodeId_InvalidValue_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_CsvNull_ReturnsPrimaryOnly()
+MESSAGE: Method 'Parse_CsvNull_ReturnsPrimaryOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_CsvEmpty_ReturnsPrimaryOnly()
+MESSAGE: Method 'Parse_CsvEmpty_ReturnsPrimaryOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_CsvWhitespace_ReturnsPrimaryOnly()
+MESSAGE: Method 'Parse_CsvWhitespace_ReturnsPrimaryOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 30
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_SingleFailover_ReturnsBoth()
+MESSAGE: Method 'Parse_SingleFailover_ReturnsBoth()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_MultipleFailovers_ReturnsAll()
+MESSAGE: Method 'Parse_MultipleFailovers_ReturnsAll()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 44
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_TrimsWhitespace()
+MESSAGE: Method 'Parse_TrimsWhitespace()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 51
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_DeduplicatesPrimaryInFailoverList()
+MESSAGE: Method 'Parse_DeduplicatesPrimaryInFailoverList()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_DeduplicatesCaseInsensitive()
+MESSAGE: Method 'Parse_DeduplicatesCaseInsensitive()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 65
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArrayNull_ReturnsPrimaryOnly()
+MESSAGE: Method 'Parse_ArrayNull_ReturnsPrimaryOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 72
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArrayEmpty_ReturnsPrimaryOnly()
+MESSAGE: Method 'Parse_ArrayEmpty_ReturnsPrimaryOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 79
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArrayWithUrls_ReturnsAll()
+MESSAGE: Method 'Parse_ArrayWithUrls_ReturnsAll()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 87
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArrayDeduplicates()
+MESSAGE: Method 'Parse_ArrayDeduplicates()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 95
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArrayTrimsWhitespace()
+MESSAGE: Method 'Parse_ArrayTrimsWhitespace()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 103
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArraySkipsNullAndEmpty()
+MESSAGE: Method 'Parse_ArraySkipsNullAndEmpty()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToMessageSecurityMode_MapsCorrectly(SecurityMode input, MessageSecurityMode expected)
+MESSAGE: Method 'ToMessageSecurityMode_MapsCorrectly(SecurityMode input, MessageSecurityMode expected)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToMessageSecurityMode_InvalidValue_Throws()
+MESSAGE: Method 'ToMessageSecurityMode_InvalidValue_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FromString_ParsesCorrectly(string input, SecurityMode expected)
+MESSAGE: Method 'FromString_ParsesCorrectly(string input, SecurityMode expected)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FromString_WithWhitespace_ParsesCorrectly()
+MESSAGE: Method 'FromString_WithWhitespace_ParsesCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 47
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FromString_UnknownValue_Throws()
+MESSAGE: Method 'FromString_UnknownValue_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 53
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FromString_Null_DefaultsToNone()
+MESSAGE: Method 'FromString_Null_DefaultsToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Bool_True()
+MESSAGE: Method 'ConvertValue_Bool_True()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Bool_False()
+MESSAGE: Method 'ConvertValue_Bool_False()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Byte()
+MESSAGE: Method 'ConvertValue_Byte()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Short()
+MESSAGE: Method 'ConvertValue_Short()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_UShort()
+MESSAGE: Method 'ConvertValue_UShort()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 39
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Int()
+MESSAGE: Method 'ConvertValue_Int()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_UInt()
+MESSAGE: Method 'ConvertValue_UInt()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 51
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Long()
+MESSAGE: Method 'ConvertValue_Long()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_ULong()
+MESSAGE: Method 'ConvertValue_ULong()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 63
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Float()
+MESSAGE: Method 'ConvertValue_Float()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 69
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Double()
+MESSAGE: Method 'ConvertValue_Double()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 75
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_String_WhenCurrentIsString()
+MESSAGE: Method 'ConvertValue_String_WhenCurrentIsString()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 81
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_String_WhenCurrentIsNull()
+MESSAGE: Method 'ConvertValue_String_WhenCurrentIsNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 87
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_String_WhenCurrentIsUnknownType()
+MESSAGE: Method 'ConvertValue_String_WhenCurrentIsUnknownType()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 93
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_InvalidBool_Throws()
+MESSAGE: Method 'ConvertValue_InvalidBool_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 99
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_InvalidInt_Throws()
+MESSAGE: Method 'ConvertValue_InvalidInt_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 105
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Overflow_Throws()
+MESSAGE: Method 'ConvertValue_Overflow_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Defaults_AreCorrect()
+MESSAGE: Method 'Defaults_AreCorrect()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnNullEndpointUrl()
+MESSAGE: Method 'Validate_ThrowsOnNullEndpointUrl()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnEmptyEndpointUrl()
+MESSAGE: Method 'Validate_ThrowsOnEmptyEndpointUrl()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnWhitespaceEndpointUrl()
+MESSAGE: Method 'Validate_ThrowsOnWhitespaceEndpointUrl()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnZeroTimeout()
+MESSAGE: Method 'Validate_ThrowsOnZeroTimeout()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 61
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnNegativeTimeout()
+MESSAGE: Method 'Validate_ThrowsOnNegativeTimeout()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 73
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnTimeoutAbove3600()
+MESSAGE: Method 'Validate_ThrowsOnTimeoutAbove3600()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 85
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_SucceedsWithValidSettings()
+MESSAGE: Method 'Validate_SucceedsWithValidSettings()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseResult_ConstructsCorrectly()
+MESSAGE: Method 'BrowseResult_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseResult_WithoutChildren()
+MESSAGE: Method 'BrowseResult_WithoutChildren()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AlarmEventArgs_ConstructsCorrectly()
+MESSAGE: Method 'AlarmEventArgs_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RedundancyInfo_ConstructsCorrectly()
+MESSAGE: Method 'RedundancyInfo_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RedundancyInfo_WithEmptyUris()
+MESSAGE: Method 'RedundancyInfo_WithEmptyUris()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 65
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DataChangedEventArgs_ConstructsCorrectly()
+MESSAGE: Method 'DataChangedEventArgs_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 76
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectionStateChangedEventArgs_ConstructsCorrectly()
+MESSAGE: Method 'ConnectionStateChangedEventArgs_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 87
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectionInfo_ConstructsCorrectly()
+MESSAGE: Method 'ConnectionInfo_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 106
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SecurityMode_Enum_HasExpectedValues()
+MESSAGE: Method 'SecurityMode_Enum_HasExpectedValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 115
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectionState_Enum_HasExpectedValues()
+MESSAGE: Method 'ConnectionState_Enum_HasExpectedValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 125
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AggregateType_Enum_HasExpectedValues()
+MESSAGE: Method 'AggregateType_Enum_HasExpectedValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 19
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: OpcUaClientServiceTests()
+MESSAGE: Constructor 'OpcUaClientServiceTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AlarmsViewModelTests()
+MESSAGE: Constructor 'AlarmsViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'SubscribeCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeCommand_CannotExecute_WhenAlreadySubscribed()
+MESSAGE: Method 'SubscribeCommand_CannotExecute_WhenAlreadySubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeCommand_CanExecute_WhenConnectedAndNotSubscribed()
+MESSAGE: Method 'SubscribeCommand_CanExecute_WhenConnectedAndNotSubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeCommand_SetsIsSubscribed()
+MESSAGE: Method 'SubscribeCommand_SetsIsSubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 56
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeCommand_CannotExecute_WhenNotSubscribed()
+MESSAGE: Method 'UnsubscribeCommand_CannotExecute_WhenNotSubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 64
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeCommand_ClearsIsSubscribed()
+MESSAGE: Method 'UnsubscribeCommand_ClearsIsSubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 76
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RefreshCommand_CallsService()
+MESSAGE: Method 'RefreshCommand_CallsService()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 87
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RefreshCommand_CannotExecute_WhenNotSubscribed()
+MESSAGE: Method 'RefreshCommand_CannotExecute_WhenNotSubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 95
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AlarmEvent_AddsToCollection()
+MESSAGE: Method 'AlarmEvent_AddsToCollection()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 111
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Clear_ResetsState()
+MESSAGE: Method 'Clear_ResetsState()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 123
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Teardown_UnhooksEventHandler()
+MESSAGE: Method 'Teardown_UnhooksEventHandler()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 136
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultInterval_Is1000()
+MESSAGE: Method 'DefaultInterval_Is1000()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: BrowseTreeViewModelTests()
+MESSAGE: Constructor 'BrowseTreeViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 30
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LoadRootsAsync_PopulatesRootNodes()
+MESSAGE: Method 'LoadRootsAsync_PopulatesRootNodes()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 40
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LoadRootsAsync_BrowsesWithNullParent()
+MESSAGE: Method 'LoadRootsAsync_BrowsesWithNullParent()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Clear_RemovesAllRootNodes()
+MESSAGE: Method 'Clear_RemovesAllRootNodes()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LoadRootsAsync_NodeWithChildren_HasPlaceholder()
+MESSAGE: Method 'LoadRootsAsync_NodeWithChildren_HasPlaceholder()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 69
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LoadRootsAsync_NodeWithoutChildren_HasNoPlaceholder()
+MESSAGE: Method 'LoadRootsAsync_NodeWithoutChildren_HasNoPlaceholder()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 79
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TreeNode_FirstExpand_TriggersChildBrowse()
+MESSAGE: Method 'TreeNode_FirstExpand_TriggersChildBrowse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 108
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TreeNode_SecondExpand_DoesNotBrowseAgain()
+MESSAGE: Method 'TreeNode_SecondExpand_DoesNotBrowseAgain()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 136
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TreeNode_IsLoading_TransitionsDuringBrowse()
+MESSAGE: Method 'TreeNode_IsLoading_TransitionsDuringBrowse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 87
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConnectCallCount
+MESSAGE: Property 'ConnectCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 88
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: DisconnectCallCount
+MESSAGE: Property 'DisconnectCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 89
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadCallCount
+MESSAGE: Property 'ReadCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 90
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteCallCount
+MESSAGE: Property 'WriteCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 91
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseCallCount
+MESSAGE: Property 'BrowseCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 92
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscribeCallCount
+MESSAGE: Property 'SubscribeCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 93
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: UnsubscribeCallCount
+MESSAGE: Property 'UnsubscribeCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 94
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscribeAlarmsCallCount
+MESSAGE: Property 'SubscribeAlarmsCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 95
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: UnsubscribeAlarmsCallCount
+MESSAGE: Property 'UnsubscribeAlarmsCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 96
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: RequestConditionRefreshCallCount
+MESSAGE: Property 'RequestConditionRefreshCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 97
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadRawCallCount
+MESSAGE: Property 'HistoryReadRawCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 98
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadAggregateCallCount
+MESSAGE: Property 'HistoryReadAggregateCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 99
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: GetRedundancyInfoCallCount
+MESSAGE: Property 'GetRedundancyInfoCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 101
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastConnectionSettings
+MESSAGE: Property 'LastConnectionSettings' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 102
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastReadNodeId
+MESSAGE: Property 'LastReadNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 103
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastWriteNodeId
+MESSAGE: Property 'LastWriteNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 104
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastWriteValue
+MESSAGE: Property 'LastWriteValue' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 105
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastBrowseParentNodeId
+MESSAGE: Property 'LastBrowseParentNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 106
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastSubscribeNodeId
+MESSAGE: Property 'LastSubscribeNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 107
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastSubscribeIntervalMs
+MESSAGE: Property 'LastSubscribeIntervalMs' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 108
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastUnsubscribeNodeId
+MESSAGE: Property 'LastUnsubscribeNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 109
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastAggregateType
+MESSAGE: Property 'LastAggregateType' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 216
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AcknowledgeResult
+MESSAGE: Property 'AcknowledgeResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 217
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AcknowledgeException
+MESSAGE: Property 'AcknowledgeException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 218
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AcknowledgeCallCount
+MESSAGE: Property 'AcknowledgeCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 267
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseDataChanged(DataChangedEventArgs args)
+MESSAGE: Method 'RaiseDataChanged(DataChangedEventArgs args)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 275
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseAlarmEvent(AlarmEventArgs args)
+MESSAGE: Method 'RaiseAlarmEvent(AlarmEventArgs args)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 283
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseConnectionStateChanged(ConnectionStateChangedEventArgs args)
+MESSAGE: Method 'RaiseConnectionStateChanged(ConnectionStateChangedEventArgs args)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientServiceFactory.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: FakeOpcUaClientServiceFactory(FakeOpcUaClientService service)
+MESSAGE: Constructor 'FakeOpcUaClientServiceFactory(FakeOpcUaClientService service)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientServiceFactory.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Create()
+MESSAGE: Method 'Create()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 7
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Settings
+MESSAGE: Property 'Settings' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LoadCallCount
+MESSAGE: Property 'LoadCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SaveCallCount
+MESSAGE: Property 'SaveCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastSaved
+MESSAGE: Property 'LastSaved' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Load()
+MESSAGE: Method 'Load()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Save(UserSettings settings)
+MESSAGE: Method 'Save(UserSettings settings)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: HistoryViewModelTests()
+MESSAGE: Constructor 'HistoryViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'ReadHistoryCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 42
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_CannotExecute_WhenNoNodeSelected()
+MESSAGE: Method 'ReadHistoryCommand_CannotExecute_WhenNoNodeSelected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 50
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_CanExecute_WhenConnectedAndNodeSelected()
+MESSAGE: Method 'ReadHistoryCommand_CanExecute_WhenConnectedAndNodeSelected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_Raw_PopulatesResults()
+MESSAGE: Method 'ReadHistoryCommand_Raw_PopulatesResults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 74
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_Aggregate_PopulatesResults()
+MESSAGE: Method 'ReadHistoryCommand_Aggregate_PopulatesResults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 90
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_ClearsResultsBefore()
+MESSAGE: Method 'ReadHistoryCommand_ClearsResultsBefore()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 102
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_IsLoading_FalseAfterComplete()
+MESSAGE: Method 'ReadHistoryCommand_IsLoading_FalseAfterComplete()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 113
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultValues_AreCorrect()
+MESSAGE: Method 'DefaultValues_AreCorrect()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 122
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: IsAggregateRead_TrueWhenAggregateSelected()
+MESSAGE: Method 'IsAggregateRead_TrueWhenAggregateSelected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 129
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AggregateTypes_ContainsNullForRaw()
+MESSAGE: Method 'AggregateTypes_ContainsNullForRaw()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 136
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Clear_ResetsState()
+MESSAGE: Method 'Clear_ResetsState()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 148
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_Error_ShowsErrorInResults()
+MESSAGE: Method 'ReadHistoryCommand_Error_ShowsErrorInResults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: MainWindowViewModelTests()
+MESSAGE: Constructor 'MainWindowViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ReadWriteViewModelTests()
+MESSAGE: Constructor 'ReadWriteViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'ReadCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadCommand_CannotExecute_WhenNoNodeSelected()
+MESSAGE: Method 'ReadCommand_CannotExecute_WhenNoNodeSelected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadCommand_CanExecute_WhenConnectedAndNodeSelected()
+MESSAGE: Method 'ReadCommand_CanExecute_WhenConnectedAndNodeSelected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadCommand_UpdatesValueAndStatus()
+MESSAGE: Method 'ReadCommand_UpdatesValueAndStatus()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 66
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AutoRead_OnSelectionChange_WhenConnected()
+MESSAGE: Method 'AutoRead_OnSelectionChange_WhenConnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 77
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: NullSelection_DoesNotCallService()
+MESSAGE: Method 'NullSelection_DoesNotCallService()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 86
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteCommand_UpdatesWriteStatus()
+MESSAGE: Method 'WriteCommand_UpdatesWriteStatus()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 103
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'WriteCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 111
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadCommand_Error_SetsErrorStatus()
+MESSAGE: Method 'ReadCommand_Error_SetsErrorStatus()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 124
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Clear_ResetsAllProperties()
+MESSAGE: Method 'Clear_ResetsAllProperties()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 143
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: IsNodeSelected_TracksSelectedNodeId()
+MESSAGE: Method 'IsNodeSelected_TracksSelectedNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DateTimeRangePickerScreenshot.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TextBoxes_ShowValues_WhenSetBeforeLoad()
+MESSAGE: Method 'TextBoxes_ShowValues_WhenSetBeforeLoad()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DateTimeRangePickerScreenshot.cs
+LINE: 67
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TextBoxes_ShowValues_WhenSetAfterLoad()
+MESSAGE: Method 'TextBoxes_ShowValues_WhenSetAfterLoad()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DateTimeRangePickerScreenshot.cs
+LINE: 99
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: PresetButtons_SetCorrectRange()
+MESSAGE: Method 'PresetButtons_SetCorrectRange()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DateTimeRangePickerScreenshot.cs
+LINE: 138
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_DateTimeRangePicker_Screenshot()
+MESSAGE: Method 'Capture_DateTimeRangePicker_Screenshot()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DocumentationScreenshots.cs
+LINE: 46
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_ConnectionPanel()
+MESSAGE: Method 'Capture_ConnectionPanel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DocumentationScreenshots.cs
+LINE: 83
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_SubscriptionsTab()
+MESSAGE: Method 'Capture_SubscriptionsTab()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DocumentationScreenshots.cs
+LINE: 106
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_AlarmsTab()
+MESSAGE: Method 'Capture_AlarmsTab()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DocumentationScreenshots.cs
+LINE: 132
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_HistoryTab()
+MESSAGE: Method 'Capture_HistoryTab()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DocumentationScreenshots.cs
+LINE: 162
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_DateTimeRangePicker()
+MESSAGE: Method 'Capture_DateTimeRangePicker()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/ScreenshotTestApp.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Initialize()
+MESSAGE: Method 'Initialize()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/ScreenshotTestApp.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BuildAvaloniaApp()
+MESSAGE: Method 'BuildAvaloniaApp()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: SubscriptionsViewModelTests()
+MESSAGE: Constructor 'SubscriptionsViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'AddSubscriptionCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 32
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionCommand_CannotExecute_WhenNoNodeId()
+MESSAGE: Method 'AddSubscriptionCommand_CannotExecute_WhenNoNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 40
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionCommand_AddsItem()
+MESSAGE: Method 'AddSubscriptionCommand_AddsItem()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 56
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RemoveSubscriptionCommand_RemovesItem()
+MESSAGE: Method 'RemoveSubscriptionCommand_RemovesItem()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 71
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RemoveSubscriptionCommand_CannotExecute_WhenNoSelection()
+MESSAGE: Method 'RemoveSubscriptionCommand_CannotExecute_WhenNoSelection()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 79
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DataChanged_UpdatesMatchingRow()
+MESSAGE: Method 'DataChanged_UpdatesMatchingRow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 93
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DataChanged_DoesNotUpdateNonMatchingRow()
+MESSAGE: Method 'DataChanged_DoesNotUpdateNonMatchingRow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 106
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Clear_RemovesAllSubscriptions()
+MESSAGE: Method 'Clear_RemovesAllSubscriptions()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 118
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Teardown_UnhooksEventHandler()
+MESSAGE: Method 'Teardown_UnhooksEventHandler()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 131
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultInterval_Is1000()
+MESSAGE: Method 'DefaultInterval_Is1000()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 137
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionForNodeAsync_AddsSubscription()
+MESSAGE: Method 'AddSubscriptionForNodeAsync_AddsSubscription()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 150
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionForNodeAsync_SkipsDuplicate()
+MESSAGE: Method 'AddSubscriptionForNodeAsync_SkipsDuplicate()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 162
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionForNodeAsync_DoesNothing_WhenDisconnected()
+MESSAGE: Method 'AddSubscriptionForNodeAsync_DoesNothing_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 173
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetSubscribedNodeIds_ReturnsActiveNodeIds()
+MESSAGE: Method 'GetSubscribedNodeIds_ReturnsActiveNodeIds()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 187
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RestoreSubscriptionsAsync_SubscribesAllNodes()
+MESSAGE: Method 'RestoreSubscriptionsAsync_SubscribesAllNodes()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 198
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateAndWriteAsync_SuccessReturnsTrue()
+MESSAGE: Method 'ValidateAndWriteAsync_SuccessReturnsTrue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 212
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateAndWriteAsync_ParseFailureReturnsFalse()
+MESSAGE: Method 'ValidateAndWriteAsync_ParseFailureReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 226
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateAndWriteAsync_WriteFailureReturnsFalse()
+MESSAGE: Method 'ValidateAndWriteAsync_WriteFailureReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 239
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateAndWriteAsync_BadStatusReturnsFalse()
+MESSAGE: Method 'ValidateAndWriteAsync_BadStatusReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 252
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionRecursiveAsync_SubscribesVariableDirectly()
+MESSAGE: Method 'AddSubscriptionRecursiveAsync_SubscribesVariableDirectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 263
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionRecursiveAsync_BrowsesObjectAndSubscribesVariableChildren()
+MESSAGE: Method 'AddSubscriptionRecursiveAsync_BrowsesObjectAndSubscribesVariableChildren()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 279
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionRecursiveAsync_RecursesNestedObjects()
+MESSAGE: Method 'AddSubscriptionRecursiveAsync_RecursesNestedObjects()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AuthenticationConfiguration_Defaults()
+MESSAGE: Method 'AuthenticationConfiguration_Defaults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AuthenticationConfiguration_LdapDefaults()
+MESSAGE: Method 'AuthenticationConfiguration_LdapDefaults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapConfiguration_BindDnTemplate_Default()
+MESSAGE: Method 'LdapConfiguration_BindDnTemplate_Default()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_ValidBind_ReturnsTrue()
+MESSAGE: Method 'LdapAuthenticationProvider_ValidBind_ReturnsTrue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 63
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_InvalidPassword_ReturnsFalse()
+MESSAGE: Method 'LdapAuthenticationProvider_InvalidPassword_ReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 78
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_UnknownUser_ReturnsFalse()
+MESSAGE: Method 'LdapAuthenticationProvider_UnknownUser_ReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 93
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_ReadOnlyUser_HasReadOnlyRole()
+MESSAGE: Method 'LdapAuthenticationProvider_ReadOnlyUser_HasReadOnlyRole()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 112
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_WriteOperateUser_HasWriteOperateRole()
+MESSAGE: Method 'LdapAuthenticationProvider_WriteOperateUser_HasWriteOperateRole()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 130
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_AlarmAckUser_HasAlarmAckRole()
+MESSAGE: Method 'LdapAuthenticationProvider_AlarmAckUser_HasAlarmAckRole()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 148
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_AdminUser_HasAllRoles()
+MESSAGE: Method 'LdapAuthenticationProvider_AdminUser_HasAllRoles()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 169
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_ImplementsIRoleProvider()
+MESSAGE: Method 'LdapAuthenticationProvider_ImplementsIRoleProvider()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 178
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_ConnectionFailure_ReturnsFalse()
+MESSAGE: Method 'LdapAuthenticationProvider_ConnectionFailure_ReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 193
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_ConnectionFailure_GetUserRoles_FallsBackToReadOnly()
+MESSAGE: Method 'LdapAuthenticationProvider_ConnectionFailure_GetUserRoles_FallsBackToReadOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 243
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Redundancy_Section_BindsFromJson()
+MESSAGE: Method 'Redundancy_Section_BindsFromJson()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 253
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Redundancy_Section_BindsCustomValues()
+MESSAGE: Method 'Redundancy_Section_BindsCustomValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 278
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validator_RedundancyEnabled_NoApplicationUri_ReturnsFalse()
+MESSAGE: Method 'Validator_RedundancyEnabled_NoApplicationUri_ReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 289
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validator_InvalidServiceLevelBase_ReturnsFalse()
+MESSAGE: Method 'Validator_InvalidServiceLevelBase_ReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 297
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OpcUa_ApplicationUri_DefaultsToNull()
+MESSAGE: Method 'OpcUa_ApplicationUri_DefaultsToNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 304
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OpcUa_ApplicationUri_BindsFromConfig()
+MESSAGE: Method 'OpcUa_ApplicationUri_BindsFromConfig()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Helpers/FakeAuthenticationProvider.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetUserRoles(string username)
+MESSAGE: Method 'GetUserRoles(string username)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Helpers/FakeAuthenticationProvider.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateCredentials(string username, string password)
+MESSAGE: Method 'ValidateCredentials(string username, string password)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Helpers/FakeAuthenticationProvider.cs
+LINE: 28
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddUser(string username, string password, string[] roles)
+MESSAGE: Method 'AddUser(string username, string password, string[] roles)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Helpers/OpcUaServerFixture.cs
+LINE: 145
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: WithFakeMxAccessClient(FakeMxAccessClient? mxClient, FakeGalaxyRepository? repo, SecurityProfileConfiguration? security, RedundancyConfiguration? redundancy, string? applicationUri, string? serverName, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider)
+MESSAGE: Method 'WithFakeMxAccessClient(FakeMxAccessClient? mxClient, FakeGalaxyRepository? repo, SecurityProfileConfiguration? security, RedundancyConfiguration? redundancy, string? applicationUri, string? serverName, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Helpers/OpcUaServerFixture.cs
+LINE: 145
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: WithFakeMxAccessClient(FakeMxAccessClient? mxClient, FakeGalaxyRepository? repo, SecurityProfileConfiguration? security, RedundancyConfiguration? redundancy, string? applicationUri, string? serverName, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider)
+MESSAGE: Method 'WithFakeMxAccessClient(FakeMxAccessClient? mxClient, FakeGalaxyRepository? repo, SecurityProfileConfiguration? security, RedundancyConfiguration? redundancy, string? applicationUri, string? serverName, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Historian/HistorianQualityMappingTests.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GoodQualityRange_MapsToGood(byte quality)
+MESSAGE: Method 'GoodQualityRange_MapsToGood(byte quality)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Historian/HistorianQualityMappingTests.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UncertainQualityRange_MapsToUncertain(byte quality)
+MESSAGE: Method 'UncertainQualityRange_MapsToUncertain(byte quality)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Historian/HistorianQualityMappingTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BadQualityRange_MapsToBad(byte quality)
+MESSAGE: Method 'BadQualityRange_MapsToBad(byte quality)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AnonymousRead_Allowed()
+MESSAGE: Method 'AnonymousRead_Allowed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AnonymousWrite_Denied_WhenAnonymousCanWriteFalse()
+MESSAGE: Method 'AnonymousWrite_Denied_WhenAnonymousCanWriteFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 79
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AnonymousWrite_Allowed_WhenAnonymousCanWriteTrue()
+MESSAGE: Method 'AnonymousWrite_Allowed_WhenAnonymousCanWriteTrue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 103
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadOnlyUser_Write_Denied()
+MESSAGE: Method 'ReadOnlyUser_Write_Denied()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 124
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteOperateUser_Write_Allowed()
+MESSAGE: Method 'WriteOperateUser_Write_Allowed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 148
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AlarmAckOnlyUser_Write_Denied()
+MESSAGE: Method 'AlarmAckOnlyUser_Write_Denied()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 169
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AdminUser_Write_Allowed()
+MESSAGE: Method 'AdminUser_Write_Allowed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 193
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: InvalidPassword_ConnectionRejected()
+MESSAGE: Method 'InvalidPassword_ConnectionRejected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/RedundancyTests.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Server_WithRedundancyDisabled_ReportsNone()
+MESSAGE: Method 'Server_WithRedundancyDisabled_ReportsNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/RedundancyTests.cs
+LINE: 35
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Server_WithRedundancyEnabled_ReportsConfiguredMode()
+MESSAGE: Method 'Server_WithRedundancyEnabled_ReportsConfiguredMode()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/RedundancyTests.cs
+LINE: 65
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Server_Primary_HasHigherServiceLevel_ThanSecondary()
+MESSAGE: Method 'Server_Primary_HasHigherServiceLevel_ThanSecondary()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/RedundancyTests.cs
+LINE: 108
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Server_WithRedundancyEnabled_ExposesServerUriArray()
+MESSAGE: Method 'Server_WithRedundancyEnabled_ExposesServerUriArray()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/RedundancyTests.cs
+LINE: 145
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TwoServers_BothExposeSameRedundantSet()
+MESSAGE: Method 'TwoServers_BothExposeSameRedundantSet()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyConfigurationTests.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_Disabled()
+MESSAGE: Method 'DefaultConfig_Disabled()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyConfigurationTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_ModeWarm()
+MESSAGE: Method 'DefaultConfig_ModeWarm()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyConfigurationTests.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_RolePrimary()
+MESSAGE: Method 'DefaultConfig_RolePrimary()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyConfigurationTests.cs
+LINE: 30
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_EmptyServerUris()
+MESSAGE: Method 'DefaultConfig_EmptyServerUris()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyConfigurationTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_ServiceLevelBase200()
+MESSAGE: Method 'DefaultConfig_ServiceLevelBase200()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Disabled_ReturnsNone()
+MESSAGE: Method 'Resolve_Disabled_ReturnsNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Warm_ReturnsWarm()
+MESSAGE: Method 'Resolve_Warm_ReturnsWarm()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Hot_ReturnsHot()
+MESSAGE: Method 'Resolve_Hot_ReturnsHot()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 28
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Unknown_FallsBackToNone()
+MESSAGE: Method 'Resolve_Unknown_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_CaseInsensitive()
+MESSAGE: Method 'Resolve_CaseInsensitive()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 42
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Null_FallsBackToNone()
+MESSAGE: Method 'Resolve_Null_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 48
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Empty_FallsBackToNone()
+MESSAGE: Method 'Resolve_Empty_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FullyHealthy_Primary_ReturnsBase()
+MESSAGE: Method 'FullyHealthy_Primary_ReturnsBase()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FullyHealthy_Secondary_ReturnsBaseMinusFifty()
+MESSAGE: Method 'FullyHealthy_Secondary_ReturnsBaseMinusFifty()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: MxAccessDown_ReducesServiceLevel()
+MESSAGE: Method 'MxAccessDown_ReducesServiceLevel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DbDown_ReducesServiceLevel()
+MESSAGE: Method 'DbDown_ReducesServiceLevel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 35
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BothDown_ReturnsZero()
+MESSAGE: Method 'BothDown_ReturnsZero()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ClampedTo255()
+MESSAGE: Method 'ClampedTo255()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 47
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ClampedToZero()
+MESSAGE: Method 'ClampedToZero()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 53
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ZeroBase_BothHealthy_ReturnsZero()
+MESSAGE: Method 'ZeroBase_BothHealthy_ReturnsZero()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_HasNoneProfile()
+MESSAGE: Method 'DefaultConfig_HasNoneProfile()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_AutoAcceptTrue()
+MESSAGE: Method 'DefaultConfig_AutoAcceptTrue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_RejectSha1True()
+MESSAGE: Method 'DefaultConfig_RejectSha1True()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 31
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_MinKeySize2048()
+MESSAGE: Method 'DefaultConfig_MinKeySize2048()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_PkiRootPathNull()
+MESSAGE: Method 'DefaultConfig_PkiRootPathNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_CertificateSubjectNull()
+MESSAGE: Method 'DefaultConfig_CertificateSubjectNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_DefaultNone_ReturnsSingleNonePolicy()
+MESSAGE: Method 'Resolve_DefaultNone_ReturnsSingleNonePolicy()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_SignProfile_ReturnsBasic256Sha256Sign()
+MESSAGE: Method 'Resolve_SignProfile_ReturnsBasic256Sha256Sign()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 31
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_SignAndEncryptProfile_ReturnsBasic256Sha256SignAndEncrypt()
+MESSAGE: Method 'Resolve_SignAndEncryptProfile_ReturnsBasic256Sha256SignAndEncrypt()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_MultipleProfiles_ReturnsExpectedPolicies()
+MESSAGE: Method 'Resolve_MultipleProfiles_ReturnsExpectedPolicies()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 55
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_DuplicateProfiles_Deduplicated()
+MESSAGE: Method 'Resolve_DuplicateProfiles_Deduplicated()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 66
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_UnknownProfile_SkippedWithWarning()
+MESSAGE: Method 'Resolve_UnknownProfile_SkippedWithWarning()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 78
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_EmptyList_FallsBackToNone()
+MESSAGE: Method 'Resolve_EmptyList_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 88
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_NullList_FallsBackToNone()
+MESSAGE: Method 'Resolve_NullList_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 97
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_AllUnknownProfiles_FallsBackToNone()
+MESSAGE: Method 'Resolve_AllUnknownProfiles_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 106
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_CaseInsensitive()
+MESSAGE: Method 'Resolve_CaseInsensitive()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 116
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_WhitespaceEntries_Skipped()
+MESSAGE: Method 'Resolve_WhitespaceEntries_Skipped()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 125
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidProfileNames_ContainsExpectedEntries()
+MESSAGE: Method 'ValidProfileNames_ContainsExpectedEntries()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 136
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_WhenConnected_ReturnsHealthyStatus()
+MESSAGE: Method 'GetHealthData_WhenConnected_ReturnsHealthyStatus()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 147
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_WhenDisconnected_ReturnsUnhealthyStatus()
+MESSAGE: Method 'GetHealthData_WhenDisconnected_ReturnsUnhealthyStatus()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 163
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_NoRedundancy_ServiceLevel255WhenHealthy()
+MESSAGE: Method 'GetHealthData_NoRedundancy_ServiceLevel255WhenHealthy()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 175
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_WithRedundancy_IncludesRoleAndServiceLevel()
+MESSAGE: Method 'GetHealthData_WithRedundancy_IncludesRoleAndServiceLevel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 187
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_SecondaryRole_LowerServiceLevel()
+MESSAGE: Method 'GetHealthData_SecondaryRole_LowerServiceLevel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 196
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_ContainsUptime()
+MESSAGE: Method 'GetHealthData_ContainsUptime()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 205
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_ContainsTimestamp()
+MESSAGE: Method 'GetHealthData_ContainsTimestamp()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 214
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GenerateHealthJson_ContainsExpectedFields()
+MESSAGE: Method 'GenerateHealthJson_ContainsExpectedFields()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 229
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GenerateHealthHtml_ContainsStatusBadge()
+MESSAGE: Method 'GenerateHealthHtml_ContainsStatusBadge()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 240
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GenerateHealthHtml_ContainsComponentCards()
+MESSAGE: Method 'GenerateHealthHtml_ContainsComponentCards()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 251
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GenerateHealthHtml_WithRedundancy_ShowsRoleAndMode()
+MESSAGE: Method 'GenerateHealthHtml_WithRedundancy_ShowsRoleAndMode()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 261
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GenerateHealthHtml_ContainsAutoRefresh()
+MESSAGE: Method 'GenerateHealthHtml_ContainsAutoRefresh()' is missing XML documentation.
+
diff --git a/lmxopcua-docs-issues.md b/lmxopcua-docs-issues.md
new file mode 100644
index 0000000..bf5e3f2
--- /dev/null
+++ b/lmxopcua-docs-issues.md
@@ -0,0 +1,8676 @@
+# Documentation Analysis Report
+
+Files Scanned: 217
+Files With Issues: 118
+Total Issues: 867
+
+## Issues
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: CommandBase(IOpcUaClientServiceFactory factory)
+MESSAGE: Constructor 'CommandBase(IOpcUaClientServiceFactory factory)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Url
+MESSAGE: Property 'Url' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
+LINE: 28
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Username
+MESSAGE: Property 'Username' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
+LINE: 31
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Password
+MESSAGE: Property 'Password' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Security
+MESSAGE: Property 'Security' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: FailoverUrls
+MESSAGE: Property 'FailoverUrls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Verbose
+MESSAGE: Property 'Verbose' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
+LINE: 44
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Method 'ExecuteAsync(IConsole console)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
+LINE: 73
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: CreateServiceAndConnectAsync(CancellationToken ct)
+MESSAGE: Method 'CreateServiceAndConnectAsync(CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/AlarmsCommand.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AlarmsCommand(IOpcUaClientServiceFactory factory)
+MESSAGE: Constructor 'AlarmsCommand(IOpcUaClientServiceFactory factory)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/AlarmsCommand.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: NodeId
+MESSAGE: Property 'NodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/AlarmsCommand.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Interval
+MESSAGE: Property 'Interval' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/AlarmsCommand.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Refresh
+MESSAGE: Property 'Refresh' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/AlarmsCommand.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Method 'ExecuteAsync(IConsole console)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/BrowseCommand.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: BrowseCommand(IOpcUaClientServiceFactory factory)
+MESSAGE: Constructor 'BrowseCommand(IOpcUaClientServiceFactory factory)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/BrowseCommand.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: NodeId
+MESSAGE: Property 'NodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/BrowseCommand.cs
+LINE: 19
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Depth
+MESSAGE: Property 'Depth' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/BrowseCommand.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Recursive
+MESSAGE: Property 'Recursive' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/BrowseCommand.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Method 'ExecuteAsync(IConsole console)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ConnectCommand.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ConnectCommand(IOpcUaClientServiceFactory factory)
+MESSAGE: Constructor 'ConnectCommand(IOpcUaClientServiceFactory factory)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ConnectCommand.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Method 'ExecuteAsync(IConsole console)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: HistoryReadCommand(IOpcUaClientServiceFactory factory)
+MESSAGE: Constructor 'HistoryReadCommand(IOpcUaClientServiceFactory factory)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: NodeId
+MESSAGE: Property 'NodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: StartTime
+MESSAGE: Property 'StartTime' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: EndTime
+MESSAGE: Property 'EndTime' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
+LINE: 26
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: MaxValues
+MESSAGE: Property 'MaxValues' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Aggregate
+MESSAGE: Property 'Aggregate' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
+LINE: 32
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: IntervalMs
+MESSAGE: Property 'IntervalMs' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
+LINE: 35
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Method 'ExecuteAsync(IConsole console)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ReadCommand.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ReadCommand(IOpcUaClientServiceFactory factory)
+MESSAGE: Constructor 'ReadCommand(IOpcUaClientServiceFactory factory)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ReadCommand.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: NodeId
+MESSAGE: Property 'NodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ReadCommand.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Method 'ExecuteAsync(IConsole console)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/RedundancyCommand.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: RedundancyCommand(IOpcUaClientServiceFactory factory)
+MESSAGE: Constructor 'RedundancyCommand(IOpcUaClientServiceFactory factory)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/RedundancyCommand.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Method 'ExecuteAsync(IConsole console)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/SubscribeCommand.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: SubscribeCommand(IOpcUaClientServiceFactory factory)
+MESSAGE: Constructor 'SubscribeCommand(IOpcUaClientServiceFactory factory)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/SubscribeCommand.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: NodeId
+MESSAGE: Property 'NodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/SubscribeCommand.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Interval
+MESSAGE: Property 'Interval' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/SubscribeCommand.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Method 'ExecuteAsync(IConsole console)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/WriteCommand.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: WriteCommand(IOpcUaClientServiceFactory factory)
+MESSAGE: Constructor 'WriteCommand(IOpcUaClientServiceFactory factory)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/WriteCommand.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: NodeId
+MESSAGE: Property 'NodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/WriteCommand.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Value
+MESSAGE: Property 'Value' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/WriteCommand.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ExecuteAsync(IConsole console)
+MESSAGE: Method 'ExecuteAsync(IConsole console)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultApplicationConfigurationFactory.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CreateAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'CreateAsync(ConnectionSettings settings, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultEndpointDiscovery.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)
+MESSAGE: Method 'SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: DefaultSessionAdapter(Session session)
+MESSAGE: Constructor 'DefaultSessionAdapter(Session session)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Connected
+MESSAGE: Property 'Connected' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SessionId
+MESSAGE: Property 'SessionId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SessionName
+MESSAGE: Property 'SessionName' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: EndpointUrl
+MESSAGE: Property 'EndpointUrl' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ServerName
+MESSAGE: Property 'ServerName' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SecurityMode
+MESSAGE: Property 'SecurityMode' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 26
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SecurityPolicyUri
+MESSAGE: Property 'SecurityPolicyUri' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: NamespaceUris
+MESSAGE: Property 'NamespaceUris' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RegisterKeepAliveHandler(Action callback)
+MESSAGE: Method 'RegisterKeepAliveHandler(Action callback)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadValueAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'ReadValueAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 43
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync(NodeId nodeId, DataValue value, CancellationToken ct)
+MESSAGE: Method 'WriteValueAsync(NodeId nodeId, DataValue value, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync(NodeId nodeId, uint nodeClassMask, CancellationToken ct)
+MESSAGE: Method 'BrowseAsync(NodeId nodeId, uint nodeClassMask, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 73
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseNextAsync(byte[] continuationPoint, CancellationToken ct)
+MESSAGE: Method 'BrowseNextAsync(byte[] continuationPoint, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 80
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HasChildrenAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'HasChildrenAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 95
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 145
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 185
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct)
+MESSAGE: Method 'CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 199
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CloseAsync(CancellationToken ct)
+MESSAGE: Method 'CloseAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 211
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Dispose()
+MESSAGE: Method 'Dispose()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+LINE: 224
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CallMethodAsync(NodeId objectId, NodeId methodId, object[] inputArguments, CancellationToken ct)
+MESSAGE: Method 'CallMethodAsync(NodeId objectId, NodeId methodId, object[] inputArguments, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionFactory.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CreateSessionAsync(ApplicationConfiguration config, EndpointDescription endpoint, string sessionName, uint sessionTimeoutMs, UserIdentity identity, CancellationToken ct)
+MESSAGE: Method 'CreateSessionAsync(ApplicationConfiguration config, EndpointDescription endpoint, string sessionName, uint sessionTimeoutMs, UserIdentity identity, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: DefaultSubscriptionAdapter(Subscription subscription)
+MESSAGE: Constructor 'DefaultSubscriptionAdapter(Subscription subscription)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscriptionId
+MESSAGE: Property 'SubscriptionId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddDataChangeMonitoredItemAsync(NodeId nodeId, int samplingIntervalMs, Action onDataChange, CancellationToken ct)
+MESSAGE: Method 'AddDataChangeMonitoredItemAsync(NodeId nodeId, int samplingIntervalMs, Action onDataChange, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct)
+MESSAGE: Method 'RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
+LINE: 61
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddEventMonitoredItemAsync(NodeId nodeId, int samplingIntervalMs, EventFilter filter, Action onEvent, CancellationToken ct)
+MESSAGE: Method 'AddEventMonitoredItemAsync(NodeId nodeId, int samplingIntervalMs, EventFilter filter, Action onEvent, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
+LINE: 89
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConditionRefreshAsync(CancellationToken ct)
+MESSAGE: Method 'ConditionRefreshAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
+LINE: 94
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DeleteAsync(CancellationToken ct)
+MESSAGE: Method 'DeleteAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
+LINE: 108
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Dispose()
+MESSAGE: Method 'Dispose()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/IApplicationConfigurationFactory.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: CreateAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'CreateAsync(ConnectionSettings settings, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/IApplicationConfigurationFactory.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: CreateAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'CreateAsync(ConnectionSettings settings, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/IEndpointDiscovery.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)
+MESSAGE: Method 'SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/IEndpointDiscovery.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)
+MESSAGE: Method 'SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/IEndpointDiscovery.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)
+MESSAGE: Method 'SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Connected
+MESSAGE: Property 'Connected' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SessionId
+MESSAGE: Property 'SessionId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SessionName
+MESSAGE: Property 'SessionName' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: EndpointUrl
+MESSAGE: Property 'EndpointUrl' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ServerName
+MESSAGE: Property 'ServerName' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SecurityMode
+MESSAGE: Property 'SecurityMode' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SecurityPolicyUri
+MESSAGE: Property 'SecurityPolicyUri' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: NamespaceUris
+MESSAGE: Property 'NamespaceUris' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 22
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RegisterKeepAliveHandler(Action callback)
+MESSAGE: Method 'RegisterKeepAliveHandler(Action callback)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadValueAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'ReadValueAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync(NodeId nodeId, DataValue value, CancellationToken ct)
+MESSAGE: Method 'WriteValueAsync(NodeId nodeId, DataValue value, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 31
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: BrowseAsync(NodeId nodeId, uint nodeClassMask, CancellationToken ct)
+MESSAGE: Method 'BrowseAsync(NodeId nodeId, uint nodeClassMask, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 31
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: BrowseAsync(NodeId nodeId, uint nodeClassMask, CancellationToken ct)
+MESSAGE: Method 'BrowseAsync(NodeId nodeId, uint nodeClassMask, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 31
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: BrowseAsync(NodeId nodeId, uint nodeClassMask, CancellationToken ct)
+MESSAGE: Method 'BrowseAsync(NodeId nodeId, uint nodeClassMask, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 37
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: BrowseNextAsync(byte[] continuationPoint, CancellationToken ct)
+MESSAGE: Method 'BrowseNextAsync(byte[] continuationPoint, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 37
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: BrowseNextAsync(byte[] continuationPoint, CancellationToken ct)
+MESSAGE: Method 'BrowseNextAsync(byte[] continuationPoint, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 43
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HasChildrenAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'HasChildrenAsync(NodeId nodeId, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 43
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HasChildrenAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'HasChildrenAsync(NodeId nodeId, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 48
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 48
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 48
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 48
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 48
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 54
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 54
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 54
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 54
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 54
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 54
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 60
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct)
+MESSAGE: Method 'CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 60
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct)
+MESSAGE: Method 'CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 62
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CallMethodAsync(NodeId objectId, NodeId methodId, object[] inputArguments, CancellationToken ct)
+MESSAGE: Method 'CallMethodAsync(NodeId objectId, NodeId methodId, object[] inputArguments, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+LINE: 64
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CloseAsync(CancellationToken ct)
+MESSAGE: Method 'CloseAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISubscriptionAdapter.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscriptionId
+MESSAGE: Property 'SubscriptionId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISubscriptionAdapter.cs
+LINE: 26
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct)
+MESSAGE: Method 'RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISubscriptionAdapter.cs
+LINE: 26
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct)
+MESSAGE: Method 'RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISubscriptionAdapter.cs
+LINE: 43
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ConditionRefreshAsync(CancellationToken ct)
+MESSAGE: Method 'ConditionRefreshAsync(CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISubscriptionAdapter.cs
+LINE: 48
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: DeleteAsync(CancellationToken ct)
+MESSAGE: Method 'DeleteAsync(CancellationToken ct)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Helpers/AggregateTypeMapper.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ToNodeId(AggregateType aggregate)
+MESSAGE: Method 'ToNodeId(AggregateType aggregate)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Helpers/SecurityModeMapper.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ToMessageSecurityMode(SecurityMode mode)
+MESSAGE: Method 'ToMessageSecurityMode(SecurityMode mode)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: IsConnected
+MESSAGE: Property 'IsConnected' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CurrentConnectionInfo
+MESSAGE: Property 'CurrentConnectionInfo' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'ConnectAsync(ConnectionSettings settings, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisconnectAsync(CancellationToken ct)
+MESSAGE: Method 'DisconnectAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadValueAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'ReadValueAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync(NodeId nodeId, object value, CancellationToken ct)
+MESSAGE: Method 'WriteValueAsync(NodeId nodeId, object value, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync(NodeId? parentNodeId, CancellationToken ct)
+MESSAGE: Method 'BrowseAsync(NodeId? parentNodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAsync(NodeId nodeId, int intervalMs, CancellationToken ct)
+MESSAGE: Method 'SubscribeAsync(NodeId nodeId, int intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'UnsubscribeAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAlarmsAsync(NodeId? sourceNodeId, int intervalMs, CancellationToken ct)
+MESSAGE: Method 'SubscribeAlarmsAsync(NodeId? sourceNodeId, int intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 26
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAlarmsAsync(CancellationToken ct)
+MESSAGE: Method 'UnsubscribeAlarmsAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RequestConditionRefreshAsync(CancellationToken ct)
+MESSAGE: Method 'RequestConditionRefreshAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 28
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment, CancellationToken ct)
+MESSAGE: Method 'AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 30
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, AggregateType aggregate, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, AggregateType aggregate, double intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 36
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetRedundancyInfoAsync(CancellationToken ct)
+MESSAGE: Method 'GetRedundancyInfoAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: DataChanged
+MESSAGE: Event 'DataChanged' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 39
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: AlarmEvent
+MESSAGE: Event 'AlarmEvent' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+LINE: 40
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: ConnectionStateChanged
+MESSAGE: Event 'ConnectionStateChanged' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientServiceFactory.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Create()
+MESSAGE: Method 'Create()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/AlarmEventArgs.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AlarmEventArgs(string sourceName, string conditionName, ushort severity, string message, bool retain, bool activeState, bool ackedState, DateTime time, byte[]? eventId, string? conditionNodeId)
+MESSAGE: Constructor 'AlarmEventArgs(string sourceName, string conditionName, ushort severity, string message, bool retain, bool activeState, bool ackedState, DateTime time, byte[]? eventId, string? conditionNodeId)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/BrowseResult.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: BrowseResult(string nodeId, string displayName, string nodeClass, bool hasChildren)
+MESSAGE: Constructor 'BrowseResult(string nodeId, string displayName, string nodeClass, bool hasChildren)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/ConnectionInfo.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ConnectionInfo(string endpointUrl, string serverName, string securityMode, string securityPolicyUri, string sessionId, string sessionName)
+MESSAGE: Constructor 'ConnectionInfo(string endpointUrl, string serverName, string securityMode, string securityPolicyUri, string sessionId, string sessionName)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/ConnectionStateChangedEventArgs.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ConnectionStateChangedEventArgs(ConnectionState oldState, ConnectionState newState, string endpointUrl)
+MESSAGE: Constructor 'ConnectionStateChangedEventArgs(ConnectionState oldState, ConnectionState newState, string endpointUrl)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/DataChangedEventArgs.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: DataChangedEventArgs(string nodeId, DataValue value)
+MESSAGE: Constructor 'DataChangedEventArgs(string nodeId, DataValue value)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Models/RedundancyInfo.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: RedundancyInfo(string mode, byte serviceLevel, string[] serverUris, string applicationUri)
+MESSAGE: Constructor 'RedundancyInfo(string mode, byte serviceLevel, string[] serverUris, string applicationUri)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 41
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaClientService(IApplicationConfigurationFactory configFactory, IEndpointDiscovery endpointDiscovery, ISessionFactory sessionFactory)
+MESSAGE: Constructor 'OpcUaClientService(IApplicationConfigurationFactory configFactory, IEndpointDiscovery endpointDiscovery, ISessionFactory sessionFactory)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 41
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaClientService(IApplicationConfigurationFactory configFactory, IEndpointDiscovery endpointDiscovery, ISessionFactory sessionFactory)
+MESSAGE: Constructor 'OpcUaClientService(IApplicationConfigurationFactory configFactory, IEndpointDiscovery endpointDiscovery, ISessionFactory sessionFactory)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 41
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaClientService(IApplicationConfigurationFactory configFactory, IEndpointDiscovery endpointDiscovery, ISessionFactory sessionFactory)
+MESSAGE: Constructor 'OpcUaClientService(IApplicationConfigurationFactory configFactory, IEndpointDiscovery endpointDiscovery, ISessionFactory sessionFactory)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 62
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: DataChanged
+MESSAGE: Event 'DataChanged' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 63
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: AlarmEvent
+MESSAGE: Event 'AlarmEvent' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 64
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: ConnectionStateChanged
+MESSAGE: Event 'ConnectionStateChanged' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 66
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: IsConnected
+MESSAGE: Property 'IsConnected' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 67
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CurrentConnectionInfo
+MESSAGE: Property 'CurrentConnectionInfo' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 69
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'ConnectAsync(ConnectionSettings settings, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 102
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisconnectAsync(CancellationToken ct)
+MESSAGE: Method 'DisconnectAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 143
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadValueAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'ReadValueAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 150
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync(NodeId nodeId, object value, CancellationToken ct)
+MESSAGE: Method 'WriteValueAsync(NodeId nodeId, object value, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 167
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync(NodeId? parentNodeId, CancellationToken ct)
+MESSAGE: Method 'BrowseAsync(NodeId? parentNodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 203
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAsync(NodeId nodeId, int intervalMs, CancellationToken ct)
+MESSAGE: Method 'SubscribeAsync(NodeId nodeId, int intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 221
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'UnsubscribeAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 235
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAlarmsAsync(NodeId? sourceNodeId, int intervalMs, CancellationToken ct)
+MESSAGE: Method 'SubscribeAlarmsAsync(NodeId? sourceNodeId, int intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 255
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAlarmsAsync(CancellationToken ct)
+MESSAGE: Method 'UnsubscribeAlarmsAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 268
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RequestConditionRefreshAsync(CancellationToken ct)
+MESSAGE: Method 'RequestConditionRefreshAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 280
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment, CancellationToken ct)
+MESSAGE: Method 'AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 302
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 310
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, AggregateType aggregate, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, AggregateType aggregate, double intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 320
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetRedundancyInfoAsync(CancellationToken ct)
+MESSAGE: Method 'GetRedundancyInfoAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+LINE: 360
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Dispose()
+MESSAGE: Method 'Dispose()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientServiceFactory.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Create()
+MESSAGE: Method 'Create()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/App.axaml.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Initialize()
+MESSAGE: Method 'Initialize()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/App.axaml.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnFrameworkInitializationCompleted()
+MESSAGE: Method 'OnFrameworkInitializationCompleted()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimePicker.axaml.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: DateTimePicker()
+MESSAGE: Constructor 'DateTimePicker()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimePicker.axaml.cs
+LINE: 55
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnLoaded(RoutedEventArgs e)
+MESSAGE: Method 'OnLoaded(RoutedEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimePicker.axaml.cs
+LINE: 71
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
+MESSAGE: Method 'OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: DateTimeRangePicker()
+MESSAGE: Constructor 'DateTimeRangePicker()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 46
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: StartDateTime
+MESSAGE: Property 'StartDateTime' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 52
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: EndDateTime
+MESSAGE: Property 'EndDateTime' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: StartText
+MESSAGE: Property 'StartText' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 64
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: EndText
+MESSAGE: Property 'EndText' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 70
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: MinDateTime
+MESSAGE: Property 'MinDateTime' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 76
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: MaxDateTime
+MESSAGE: Property 'MaxDateTime' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 82
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnLoaded(RoutedEventArgs e)
+MESSAGE: Method 'OnLoaded(RoutedEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Controls/DateTimeRangePicker.axaml.cs
+LINE: 103
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
+MESSAGE: Method 'OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Helpers/StatusCodeFormatter.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Format(StatusCode statusCode)
+MESSAGE: Method 'Format(StatusCode statusCode)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Helpers/ValueFormatter.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Format(object? value)
+MESSAGE: Method 'Format(object? value)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Program.cs
+LINE: 7
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Main(string[] args)
+MESSAGE: Method 'Main(string[] args)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Program.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BuildAvaloniaApp()
+MESSAGE: Method 'BuildAvaloniaApp()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/AvaloniaUiDispatcher.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Post(Action action)
+MESSAGE: Method 'Post(Action action)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/ISettingsService.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Load()
+MESSAGE: Method 'Load()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/ISettingsService.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Save(UserSettings settings)
+MESSAGE: Method 'Save(UserSettings settings)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/IUiDispatcher.cs
+LINE: 11
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: Post(Action action)
+MESSAGE: Method 'Post(Action action)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/JsonSettingsService.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Load()
+MESSAGE: Method 'Load()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/JsonSettingsService.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Save(UserSettings settings)
+MESSAGE: Method 'Save(UserSettings settings)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/SynchronousUiDispatcher.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Post(Action action)
+MESSAGE: Method 'Post(Action action)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: EndpointUrl
+MESSAGE: Property 'EndpointUrl' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Username
+MESSAGE: Property 'Username' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Password
+MESSAGE: Property 'Password' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SecurityMode
+MESSAGE: Property 'SecurityMode' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: FailoverUrls
+MESSAGE: Property 'FailoverUrls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SessionTimeoutSeconds
+MESSAGE: Property 'SessionTimeoutSeconds' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AutoAcceptCertificates
+MESSAGE: Property 'AutoAcceptCertificates' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CertificateStorePath
+MESSAGE: Property 'CertificateStorePath' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscribedNodes
+MESSAGE: Property 'SubscribedNodes' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+LINE: 19
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AlarmSourceNodeId
+MESSAGE: Property 'AlarmSourceNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AlarmEventViewModel(string sourceName, string conditionName, ushort severity, string message, bool retain, bool activeState, bool ackedState, DateTime time, byte[]? eventId, string? conditionNodeId)
+MESSAGE: Constructor 'AlarmEventViewModel(string sourceName, string conditionName, ushort severity, string message, bool retain, bool activeState, bool ackedState, DateTime time, byte[]? eventId, string? conditionNodeId)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SourceName
+MESSAGE: Property 'SourceName' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 35
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConditionName
+MESSAGE: Property 'ConditionName' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 36
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Severity
+MESSAGE: Property 'Severity' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Message
+MESSAGE: Property 'Message' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Retain
+MESSAGE: Property 'Retain' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 39
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ActiveState
+MESSAGE: Property 'ActiveState' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 40
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AckedState
+MESSAGE: Property 'AckedState' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Time
+MESSAGE: Property 'Time' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 42
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: EventId
+MESSAGE: Property 'EventId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+LINE: 43
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConditionNodeId
+MESSAGE: Property 'ConditionNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmsViewModel.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AlarmsViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'AlarmsViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmsViewModel.cs
+LINE: 149
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: AcknowledgeAlarmAsync(AlarmEventViewModel alarm, string comment)
+MESSAGE: Method 'AcknowledgeAlarmAsync(AlarmEventViewModel alarm, string comment)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmsViewModel.cs
+LINE: 149
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: AcknowledgeAlarmAsync(AlarmEventViewModel alarm, string comment)
+MESSAGE: Method 'AcknowledgeAlarmAsync(AlarmEventViewModel alarm, string comment)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmsViewModel.cs
+LINE: 178
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RestoreAlarmSubscriptionAsync(string? sourceNodeId)
+MESSAGE: Method 'RestoreAlarmSubscriptionAsync(string? sourceNodeId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/BrowseTreeViewModel.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: BrowseTreeViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'BrowseTreeViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryValueViewModel.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: HistoryValueViewModel(string value, string status, string sourceTimestamp, string serverTimestamp)
+MESSAGE: Constructor 'HistoryValueViewModel(string value, string status, string sourceTimestamp, string serverTimestamp)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryValueViewModel.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Value
+MESSAGE: Property 'Value' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryValueViewModel.cs
+LINE: 19
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Status
+MESSAGE: Property 'Status' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryValueViewModel.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SourceTimestamp
+MESSAGE: Property 'SourceTimestamp' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryValueViewModel.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ServerTimestamp
+MESSAGE: Property 'ServerTimestamp' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryViewModel.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: HistoryViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'HistoryViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/HistoryViewModel.cs
+LINE: 55
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: IsAggregateRead
+MESSAGE: Property 'IsAggregateRead' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+LINE: 61
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: MainWindowViewModel(IOpcUaClientServiceFactory factory, IUiDispatcher dispatcher, ISettingsService? settingsService)
+MESSAGE: Constructor 'MainWindowViewModel(IOpcUaClientServiceFactory factory, IUiDispatcher dispatcher, ISettingsService? settingsService)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+LINE: 74
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: IsConnected
+MESSAGE: Property 'IsConnected' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+LINE: 79
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseTree
+MESSAGE: Property 'BrowseTree' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+LINE: 80
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadWrite
+MESSAGE: Property 'ReadWrite' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+LINE: 81
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Subscriptions
+MESSAGE: Property 'Subscriptions' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+LINE: 82
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Alarms
+MESSAGE: Property 'Alarms' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+LINE: 83
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: History
+MESSAGE: Property 'History' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+LINE: 85
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscriptionsTabHeader
+MESSAGE: Property 'SubscriptionsTabHeader' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+LINE: 89
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AlarmsTabHeader
+MESSAGE: Property 'AlarmsTabHeader' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+LINE: 358
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SaveSettings()
+MESSAGE: Method 'SaveSettings()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/ReadWriteViewModel.cs
+LINE: 39
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ReadWriteViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'ReadWriteViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/ReadWriteViewModel.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: IsNodeSelected
+MESSAGE: Property 'IsNodeSelected' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionItemViewModel.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: SubscriptionItemViewModel(string nodeId, int intervalMs)
+MESSAGE: Constructor 'SubscriptionItemViewModel(string nodeId, int intervalMs)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: SubscriptionsViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'SubscriptionsViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
+LINE: 126
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: AddSubscriptionForNodeAsync(string nodeIdStr, int intervalMs)
+MESSAGE: Method 'AddSubscriptionForNodeAsync(string nodeIdStr, int intervalMs)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
+LINE: 126
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: AddSubscriptionForNodeAsync(string nodeIdStr, int intervalMs)
+MESSAGE: Method 'AddSubscriptionForNodeAsync(string nodeIdStr, int intervalMs)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
+LINE: 154
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: AddSubscriptionRecursiveAsync(string nodeIdStr, string nodeClass, int intervalMs)
+MESSAGE: Method 'AddSubscriptionRecursiveAsync(string nodeIdStr, string nodeClass, int intervalMs)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
+LINE: 154
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: AddSubscriptionRecursiveAsync(string nodeIdStr, string nodeClass, int intervalMs)
+MESSAGE: Method 'AddSubscriptionRecursiveAsync(string nodeIdStr, string nodeClass, int intervalMs)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
+LINE: 154
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: AddSubscriptionRecursiveAsync(string nodeIdStr, string nodeClass, int intervalMs)
+MESSAGE: Method 'AddSubscriptionRecursiveAsync(string nodeIdStr, string nodeClass, int intervalMs)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
+LINE: 196
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RestoreSubscriptionsAsync(IEnumerable nodeIds)
+MESSAGE: Method 'RestoreSubscriptionsAsync(IEnumerable nodeIds)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
+LINE: 206
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ValidateAndWriteAsync(string nodeIdStr, string rawValue)
+MESSAGE: Method 'ValidateAndWriteAsync(string nodeIdStr, string rawValue)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
+LINE: 206
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ValidateAndWriteAsync(string nodeIdStr, string rawValue)
+MESSAGE: Method 'ValidateAndWriteAsync(string nodeIdStr, string rawValue)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/TreeNodeViewModel.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: TreeNodeViewModel(string nodeId, string displayName, string nodeClass, bool hasChildren, IOpcUaClientService service, IUiDispatcher dispatcher)
+MESSAGE: Constructor 'TreeNodeViewModel(string nodeId, string displayName, string nodeClass, bool hasChildren, IOpcUaClientService service, IUiDispatcher dispatcher)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/AckAlarmWindow.axaml.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AckAlarmWindow()
+MESSAGE: Constructor 'AckAlarmWindow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/AckAlarmWindow.axaml.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AckAlarmWindow(AlarmsViewModel alarmsVm, AlarmEventViewModel alarm)
+MESSAGE: Constructor 'AckAlarmWindow(AlarmsViewModel alarmsVm, AlarmEventViewModel alarm)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/AlarmsView.axaml.cs
+LINE: 19
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AlarmsView()
+MESSAGE: Constructor 'AlarmsView()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/AlarmsView.axaml.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnLoaded(RoutedEventArgs e)
+MESSAGE: Method 'OnLoaded(RoutedEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/BrowseTreeView.axaml.cs
+LINE: 7
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: BrowseTreeView()
+MESSAGE: Constructor 'BrowseTreeView()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/HistoryView.axaml.cs
+LINE: 7
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: HistoryView()
+MESSAGE: Constructor 'HistoryView()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/MainWindow.axaml.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: MainWindow()
+MESSAGE: Constructor 'MainWindow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/MainWindow.axaml.cs
+LINE: 53
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnLoaded(RoutedEventArgs e)
+MESSAGE: Method 'OnLoaded(RoutedEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/MainWindow.axaml.cs
+LINE: 140
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnClosing(WindowClosingEventArgs e)
+MESSAGE: Method 'OnClosing(WindowClosingEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/ReadWriteView.axaml.cs
+LINE: 7
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ReadWriteView()
+MESSAGE: Constructor 'ReadWriteView()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/SubscriptionsView.axaml.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: SubscriptionsView()
+MESSAGE: Constructor 'SubscriptionsView()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/SubscriptionsView.axaml.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OnLoaded(RoutedEventArgs e)
+MESSAGE: Method 'OnLoaded(RoutedEventArgs e)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/WriteValueWindow.axaml.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: WriteValueWindow()
+MESSAGE: Constructor 'WriteValueWindow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Views/WriteValueWindow.axaml.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: WriteValueWindow(SubscriptionsViewModel subscriptionsVm, string nodeId, string? currentValue)
+MESSAGE: Constructor 'WriteValueWindow(SubscriptionsViewModel subscriptionsVm, string nodeId, string? currentValue)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/IUserAuthenticationProvider.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ValidateCredentials(string username, string password)
+MESSAGE: Method 'ValidateCredentials(string username, string password)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/IUserAuthenticationProvider.cs
+LINE: 14
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: ValidateCredentials(string username, string password)
+MESSAGE: Method 'ValidateCredentials(string username, string password)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/IUserAuthenticationProvider.cs
+LINE: 27
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: GetUserRoles(string username)
+MESSAGE: Method 'GetUserRoles(string username)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/LdapAuthenticationProvider.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: LdapAuthenticationProvider(LdapConfiguration config)
+MESSAGE: Constructor 'LdapAuthenticationProvider(LdapConfiguration config)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/LdapAuthenticationProvider.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetUserRoles(string username)
+MESSAGE: Method 'GetUserRoles(string username)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Domain/LdapAuthenticationProvider.cs
+LINE: 90
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateCredentials(string username, string password)
+MESSAGE: Method 'ValidateCredentials(string username, string password)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxNodeManager.cs
+LINE: 81
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)
+MESSAGE: Constructor 'LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxNodeManager.cs
+LINE: 81
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)
+MESSAGE: Constructor 'LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxNodeManager.cs
+LINE: 81
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)
+MESSAGE: Constructor 'LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxNodeManager.cs
+LINE: 81
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)
+MESSAGE: Constructor 'LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxNodeManager.cs
+LINE: 81
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)
+MESSAGE: Constructor 'LmxNodeManager(IServerInternal server, ApplicationConfiguration configuration, string namespaceUri, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, bool anonymousCanWrite, NodeId? writeOperateRoleId, NodeId? writeTuneRoleId, NodeId? writeConfigureRoleId, NodeId? alarmAckRoleId)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxOpcUaServer.cs
+LINE: 39
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: LmxOpcUaServer(string galaxyName, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, RedundancyConfiguration? redundancyConfig, string? applicationUri)
+MESSAGE: Constructor 'LmxOpcUaServer(string galaxyName, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, bool alarmTrackingEnabled, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, RedundancyConfiguration? redundancyConfig, string? applicationUri)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxOpcUaServer.cs
+LINE: 169
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)
+MESSAGE: Method 'UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/LmxOpcUaServer.cs
+LINE: 169
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)
+MESSAGE: Method 'UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 39
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)
+MESSAGE: Constructor 'OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 39
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)
+MESSAGE: Constructor 'OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 39
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)
+MESSAGE: Constructor 'OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 39
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)
+MESSAGE: Constructor 'OpcUaServerHost(OpcUaConfiguration config, IMxAccessClient mxAccessClient, PerformanceMetrics metrics, HistorianDataSource? historianDataSource, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider, SecurityProfileConfiguration? securityConfig, RedundancyConfiguration? redundancyConfig)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 82
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)
+MESSAGE: Method 'UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUa/OpcUaServerHost.cs
+LINE: 82
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)
+MESSAGE: Method 'UpdateServiceLevel(bool mxAccessConnected, bool dbConnected)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUaService.cs
+LINE: 87
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaService(AppConfiguration config, IMxProxy? mxProxy, IGalaxyRepository? galaxyRepository, IMxAccessClient? mxAccessClientOverride, bool hasMxAccessClientOverride, IUserAuthenticationProvider? authProviderOverride, bool hasAuthProviderOverride)
+MESSAGE: Constructor 'OpcUaService(AppConfiguration config, IMxProxy? mxProxy, IGalaxyRepository? galaxyRepository, IMxAccessClient? mxAccessClientOverride, bool hasMxAccessClientOverride, IUserAuthenticationProvider? authProviderOverride, bool hasAuthProviderOverride)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUaService.cs
+LINE: 87
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Constructor
+SIGNATURE: OpcUaService(AppConfiguration config, IMxProxy? mxProxy, IGalaxyRepository? galaxyRepository, IMxAccessClient? mxAccessClientOverride, bool hasMxAccessClientOverride, IUserAuthenticationProvider? authProviderOverride, bool hasAuthProviderOverride)
+MESSAGE: Constructor 'OpcUaService(AppConfiguration config, IMxProxy? mxProxy, IGalaxyRepository? galaxyRepository, IMxAccessClient? mxAccessClientOverride, bool hasMxAccessClientOverride, IUserAuthenticationProvider? authProviderOverride, bool hasAuthProviderOverride)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUaServiceBuilder.cs
+LINE: 127
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: WithAuthProvider(IUserAuthenticationProvider? provider)
+MESSAGE: Method 'WithAuthProvider(IUserAuthenticationProvider? provider)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUaServiceBuilder.cs
+LINE: 137
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: WithAuthentication(AuthenticationConfiguration authConfig)
+MESSAGE: Method 'WithAuthentication(AuthenticationConfiguration authConfig)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/OpcUaServiceBuilder.cs
+LINE: 143
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisableDashboard()
+MESSAGE: Method 'DisableDashboard()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Status/StatusReportService.cs
+LINE: 53
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SetComponents(IMxAccessClient? mxAccessClient, PerformanceMetrics? metrics, GalaxyRepositoryStats? galaxyStats, OpcUaServerHost? serverHost, LmxNodeManager? nodeManager, RedundancyConfiguration? redundancyConfig, string? applicationUri)
+MESSAGE: Method 'SetComponents(IMxAccessClient? mxAccessClient, PerformanceMetrics? metrics, GalaxyRepositoryStats? galaxyStats, OpcUaServerHost? serverHost, LmxNodeManager? nodeManager, RedundancyConfiguration? redundancyConfig, string? applicationUri)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/src/ZB.MOM.WW.LmxOpcUa.Host/Status/StatusReportService.cs
+LINE: 53
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SetComponents(IMxAccessClient? mxAccessClient, PerformanceMetrics? metrics, GalaxyRepositoryStats? galaxyStats, OpcUaServerHost? serverHost, LmxNodeManager? nodeManager, RedundancyConfiguration? redundancyConfig, string? applicationUri)
+MESSAGE: Method 'SetComponents(IMxAccessClient? mxAccessClient, PerformanceMetrics? metrics, GalaxyRepositoryStats? galaxyStats, OpcUaServerHost? serverHost, LmxNodeManager? nodeManager, RedundancyConfiguration? redundancyConfig, string? applicationUri)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_SubscribesToAlarms()
+MESSAGE: Method 'Execute_SubscribesToAlarms()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_WithNode_PassesSourceNodeId()
+MESSAGE: Method 'Execute_WithNode_PassesSourceNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_WithRefresh_RequestsConditionRefresh()
+MESSAGE: Method 'Execute_WithRefresh_RequestsConditionRefresh()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 82
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_RefreshFailure_PrintsError()
+MESSAGE: Method 'Execute_RefreshFailure_PrintsError()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 108
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_UnsubscribesOnCancellation()
+MESSAGE: Method 'Execute_UnsubscribesOnCancellation()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/AlarmsCommandTests.cs
+LINE: 129
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_PrintsBrowseResults()
+MESSAGE: Method 'Execute_PrintsBrowseResults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_BrowsesFromSpecifiedNode()
+MESSAGE: Method 'Execute_BrowsesFromSpecifiedNode()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 60
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DefaultBrowsesFromNull()
+MESSAGE: Method 'Execute_DefaultBrowsesFromNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 80
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_NonRecursive_BrowsesSingleLevel()
+MESSAGE: Method 'Execute_NonRecursive_BrowsesSingleLevel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 104
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_Recursive_BrowsesChildren()
+MESSAGE: Method 'Execute_Recursive_BrowsesChildren()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/BrowseCommandTests.cs
+LINE: 126
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/CommandBaseTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CommonOptions_MapToConnectionSettings_Correctly()
+MESSAGE: Method 'CommonOptions_MapToConnectionSettings_Correctly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/CommandBaseTests.cs
+LINE: 40
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SecurityOption_Encrypt_MapsToSignAndEncrypt()
+MESSAGE: Method 'SecurityOption_Encrypt_MapsToSignAndEncrypt()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/CommandBaseTests.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SecurityOption_None_MapsToNone()
+MESSAGE: Method 'SecurityOption_None_MapsToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/CommandBaseTests.cs
+LINE: 74
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: NoFailoverUrls_FailoverUrlsIsNull()
+MESSAGE: Method 'NoFailoverUrls_FailoverUrlsIsNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ConnectCommandTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_PrintsConnectionInfo()
+MESSAGE: Method 'Execute_PrintsConnectionInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ConnectCommandTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_CallsConnectAndDisconnect()
+MESSAGE: Method 'Execute_CallsConnectAndDisconnect()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ConnectCommandTests.cs
+LINE: 59
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsOnError()
+MESSAGE: Method 'Execute_DisconnectsOnError()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConnectCalled
+MESSAGE: Property 'ConnectCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastConnectionSettings
+MESSAGE: Property 'LastConnectionSettings' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: DisconnectCalled
+MESSAGE: Property 'DisconnectCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: DisposeCalled
+MESSAGE: Property 'DisposeCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 19
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadNodeIds
+MESSAGE: Property 'ReadNodeIds' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteValues
+MESSAGE: Property 'WriteValues' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseNodeIds
+MESSAGE: Property 'BrowseNodeIds' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscribeCalls
+MESSAGE: Property 'SubscribeCalls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: UnsubscribeCalls
+MESSAGE: Property 'UnsubscribeCalls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscribeAlarmsCalls
+MESSAGE: Property 'SubscribeAlarmsCalls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: UnsubscribeAlarmsCalled
+MESSAGE: Property 'UnsubscribeAlarmsCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 26
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: RequestConditionRefreshCalled
+MESSAGE: Property 'RequestConditionRefreshCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadRawCalls
+MESSAGE: Property 'HistoryReadRawCalls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadAggregateCalls
+MESSAGE: Property 'HistoryReadAggregateCalls' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: GetRedundancyInfoCalled
+MESSAGE: Property 'GetRedundancyInfoCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 36
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConnectionInfoResult
+MESSAGE: Property 'ConnectionInfoResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 44
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadValueResult
+MESSAGE: Property 'ReadValueResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 50
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteStatusCodeResult
+MESSAGE: Property 'WriteStatusCodeResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 52
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseResults
+MESSAGE: Property 'BrowseResults' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadResult
+MESSAGE: Property 'HistoryReadResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 64
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: RedundancyInfoResult
+MESSAGE: Property 'RedundancyInfoResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 67
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConnectException
+MESSAGE: Property 'ConnectException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 68
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadException
+MESSAGE: Property 'ReadException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 69
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteException
+MESSAGE: Property 'WriteException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 70
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConditionRefreshException
+MESSAGE: Property 'ConditionRefreshException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 73
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: IsConnected
+MESSAGE: Property 'IsConnected' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 74
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CurrentConnectionInfo
+MESSAGE: Property 'CurrentConnectionInfo' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 76
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: DataChanged
+MESSAGE: Event 'DataChanged' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 77
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: AlarmEvent
+MESSAGE: Event 'AlarmEvent' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 78
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: ConnectionStateChanged
+MESSAGE: Event 'ConnectionStateChanged' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 80
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'ConnectAsync(ConnectionSettings settings, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 88
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisconnectAsync(CancellationToken ct)
+MESSAGE: Method 'DisconnectAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 94
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadValueAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'ReadValueAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 101
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync(NodeId nodeId, object value, CancellationToken ct)
+MESSAGE: Method 'WriteValueAsync(NodeId nodeId, object value, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 108
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync(NodeId? parentNodeId, CancellationToken ct)
+MESSAGE: Method 'BrowseAsync(NodeId? parentNodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 114
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAsync(NodeId nodeId, int intervalMs, CancellationToken ct)
+MESSAGE: Method 'SubscribeAsync(NodeId nodeId, int intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 120
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'UnsubscribeAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 126
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAlarmsAsync(NodeId? sourceNodeId, int intervalMs, CancellationToken ct)
+MESSAGE: Method 'SubscribeAlarmsAsync(NodeId? sourceNodeId, int intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 132
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAlarmsAsync(CancellationToken ct)
+MESSAGE: Method 'UnsubscribeAlarmsAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 138
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RequestConditionRefreshAsync(CancellationToken ct)
+MESSAGE: Method 'RequestConditionRefreshAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 145
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment, CancellationToken ct)
+MESSAGE: Method 'AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 151
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 158
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, AggregateType aggregate, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, AggregateType aggregate, double intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 166
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetRedundancyInfoAsync(CancellationToken ct)
+MESSAGE: Method 'GetRedundancyInfoAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 172
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Dispose()
+MESSAGE: Method 'Dispose()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 178
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseDataChanged(string nodeId, DataValue value)
+MESSAGE: Method 'RaiseDataChanged(string nodeId, DataValue value)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 178
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseDataChanged(string nodeId, DataValue value)
+MESSAGE: Method 'RaiseDataChanged(string nodeId, DataValue value)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 184
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseAlarmEvent(AlarmEventArgs args)
+MESSAGE: Method 'RaiseAlarmEvent(AlarmEventArgs args)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 190
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)
+MESSAGE: Method 'RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 190
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)
+MESSAGE: Method 'RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 190
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)
+MESSAGE: Method 'RaiseConnectionStateChanged(ConnectionState oldState, ConnectionState newState, string endpointUrl)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientServiceFactory.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: FakeOpcUaClientServiceFactory(FakeOpcUaClientService service)
+MESSAGE: Constructor 'FakeOpcUaClientServiceFactory(FakeOpcUaClientService service)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientServiceFactory.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Create()
+MESSAGE: Method 'Create()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_RawRead_PrintsValues()
+MESSAGE: Method 'Execute_RawRead_PrintsValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_RawRead_CallsHistoryReadRaw()
+MESSAGE: Method 'Execute_RawRead_CallsHistoryReadRaw()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 65
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_AggregateRead_CallsHistoryReadAggregate()
+MESSAGE: Method 'Execute_AggregateRead_CallsHistoryReadAggregate()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 86
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_AggregateRead_PrintsAggregateInfo()
+MESSAGE: Method 'Execute_AggregateRead_PrintsAggregateInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 107
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_InvalidAggregate_ThrowsArgumentException()
+MESSAGE: Method 'Execute_InvalidAggregate_ThrowsArgumentException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/HistoryReadCommandTests.cs
+LINE: 123
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_NullInput_ReturnsNull()
+MESSAGE: Method 'Parse_NullInput_ReturnsNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_EmptyString_ReturnsNull()
+MESSAGE: Method 'Parse_EmptyString_ReturnsNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_WhitespaceOnly_ReturnsNull()
+MESSAGE: Method 'Parse_WhitespaceOnly_ReturnsNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 28
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_StandardStringFormat_ReturnsNodeId()
+MESSAGE: Method 'Parse_StandardStringFormat_ReturnsNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_NumericFormat_ReturnsNodeId()
+MESSAGE: Method 'Parse_NumericFormat_ReturnsNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_BareNumeric_ReturnsNamespace0NumericNodeId()
+MESSAGE: Method 'Parse_BareNumeric_ReturnsNamespace0NumericNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 54
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_WithWhitespacePadding_Trims()
+MESSAGE: Method 'Parse_WithWhitespacePadding_Trims()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 62
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_InvalidFormat_ThrowsFormatException()
+MESSAGE: Method 'Parse_InvalidFormat_ThrowsFormatException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 68
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ParseRequired_NullInput_ThrowsArgumentException()
+MESSAGE: Method 'ParseRequired_NullInput_ThrowsArgumentException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 74
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ParseRequired_EmptyInput_ThrowsArgumentException()
+MESSAGE: Method 'ParseRequired_EmptyInput_ThrowsArgumentException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/NodeIdParserTests.cs
+LINE: 80
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ParseRequired_ValidInput_ReturnsNodeId()
+MESSAGE: Method 'ParseRequired_ValidInput_ReturnsNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ReadCommandTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_PrintsReadValue()
+MESSAGE: Method 'Execute_PrintsReadValue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ReadCommandTests.cs
+LINE: 42
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_CallsReadValueWithCorrectNodeId()
+MESSAGE: Method 'Execute_CallsReadValueWithCorrectNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ReadCommandTests.cs
+LINE: 60
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/ReadCommandTests.cs
+LINE: 78
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsEvenOnReadError()
+MESSAGE: Method 'Execute_DisconnectsEvenOnReadError()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/RedundancyCommandTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_PrintsRedundancyInfo()
+MESSAGE: Method 'Execute_PrintsRedundancyInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/RedundancyCommandTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_NoServerUris_OmitsUriSection()
+MESSAGE: Method 'Execute_NoServerUris_OmitsUriSection()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/RedundancyCommandTests.cs
+LINE: 61
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_CallsGetRedundancyInfo()
+MESSAGE: Method 'Execute_CallsGetRedundancyInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/RedundancyCommandTests.cs
+LINE: 77
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/SubscribeCommandTests.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_SubscribesWithCorrectParameters()
+MESSAGE: Method 'Execute_SubscribesWithCorrectParameters()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/SubscribeCommandTests.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_UnsubscribesOnCancellation()
+MESSAGE: Method 'Execute_UnsubscribesOnCancellation()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/SubscribeCommandTests.cs
+LINE: 60
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/SubscribeCommandTests.cs
+LINE: 83
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_PrintsSubscriptionMessage()
+MESSAGE: Method 'Execute_PrintsSubscriptionMessage()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/TestConsoleHelper.cs
+LINE: 21
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: GetOutput(FakeInMemoryConsole console)
+MESSAGE: Method 'GetOutput(FakeInMemoryConsole console)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/TestConsoleHelper.cs
+LINE: 30
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: GetError(FakeInMemoryConsole console)
+MESSAGE: Method 'GetError(FakeInMemoryConsole console)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/WriteCommandTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_WritesSuccessfully()
+MESSAGE: Method 'Execute_WritesSuccessfully()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/WriteCommandTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_ReportsFailure()
+MESSAGE: Method 'Execute_ReportsFailure()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/WriteCommandTests.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_ReadsCurrentValueThenWrites()
+MESSAGE: Method 'Execute_ReadsCurrentValueThenWrites()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/WriteCommandTests.cs
+LINE: 82
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Execute_DisconnectsInFinally()
+MESSAGE: Method 'Execute_DisconnectsInFinally()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeApplicationConfigurationFactory.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnCreate
+MESSAGE: Property 'ThrowOnCreate' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeApplicationConfigurationFactory.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CreateCallCount
+MESSAGE: Property 'CreateCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeApplicationConfigurationFactory.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastSettings
+MESSAGE: Property 'LastSettings' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeApplicationConfigurationFactory.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CreateAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'CreateAsync(ConnectionSettings settings, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeEndpointDiscovery.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnSelect
+MESSAGE: Property 'ThrowOnSelect' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeEndpointDiscovery.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SelectCallCount
+MESSAGE: Property 'SelectCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeEndpointDiscovery.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastEndpointUrl
+MESSAGE: Property 'LastEndpointUrl' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeEndpointDiscovery.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)
+MESSAGE: Method 'SelectEndpoint(ApplicationConfiguration config, string endpointUrl, MessageSecurityMode requestedMode)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Closed
+MESSAGE: Property 'Closed' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Disposed
+MESSAGE: Property 'Disposed' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadCount
+MESSAGE: Property 'ReadCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteCount
+MESSAGE: Property 'WriteCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseCount
+MESSAGE: Property 'BrowseCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseNextCount
+MESSAGE: Property 'BrowseNextCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HasChildrenCount
+MESSAGE: Property 'HasChildrenCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadRawCount
+MESSAGE: Property 'HistoryReadRawCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 19
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadAggregateCount
+MESSAGE: Property 'HistoryReadAggregateCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadResponse
+MESSAGE: Property 'ReadResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadResponseFunc
+MESSAGE: Property 'ReadResponseFunc' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteResponse
+MESSAGE: Property 'WriteResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnRead
+MESSAGE: Property 'ThrowOnRead' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 26
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnWrite
+MESSAGE: Property 'ThrowOnWrite' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnBrowse
+MESSAGE: Property 'ThrowOnBrowse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseResponse
+MESSAGE: Property 'BrowseResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 30
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseContinuationPoint
+MESSAGE: Property 'BrowseContinuationPoint' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 31
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseNextResponse
+MESSAGE: Property 'BrowseNextResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 32
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseNextContinuationPoint
+MESSAGE: Property 'BrowseNextContinuationPoint' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HasChildrenResponse
+MESSAGE: Property 'HasChildrenResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 35
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadRawResponse
+MESSAGE: Property 'HistoryReadRawResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 36
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadAggregateResponse
+MESSAGE: Property 'HistoryReadAggregateResponse' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnHistoryReadRaw
+MESSAGE: Property 'ThrowOnHistoryReadRaw' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnHistoryReadAggregate
+MESSAGE: Property 'ThrowOnHistoryReadAggregate' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 46
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CreatedSubscriptions
+MESSAGE: Property 'CreatedSubscriptions' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 48
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Connected
+MESSAGE: Property 'Connected' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SessionId
+MESSAGE: Property 'SessionId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 50
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SessionName
+MESSAGE: Property 'SessionName' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 51
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: EndpointUrl
+MESSAGE: Property 'EndpointUrl' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 52
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ServerName
+MESSAGE: Property 'ServerName' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 53
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SecurityMode
+MESSAGE: Property 'SecurityMode' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 54
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SecurityPolicyUri
+MESSAGE: Property 'SecurityPolicyUri' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 55
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: NamespaceUris
+MESSAGE: Property 'NamespaceUris' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RegisterKeepAliveHandler(Action callback)
+MESSAGE: Method 'RegisterKeepAliveHandler(Action callback)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 62
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadValueAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'ReadValueAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 74
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync(NodeId nodeId, DataValue value, CancellationToken ct)
+MESSAGE: Method 'WriteValueAsync(NodeId nodeId, DataValue value, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 82
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync(NodeId nodeId, uint nodeClassMask, CancellationToken ct)
+MESSAGE: Method 'BrowseAsync(NodeId nodeId, uint nodeClassMask, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 91
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseNextAsync(byte[] continuationPoint, CancellationToken ct)
+MESSAGE: Method 'BrowseNextAsync(byte[] continuationPoint, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 98
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HasChildrenAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'HasChildrenAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 104
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 113
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 123
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct)
+MESSAGE: Method 'CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 131
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CallMethodAsync(NodeId objectId, NodeId methodId, object[] inputArguments, CancellationToken ct)
+MESSAGE: Method 'CallMethodAsync(NodeId objectId, NodeId methodId, object[] inputArguments, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 137
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CloseAsync(CancellationToken ct)
+MESSAGE: Method 'CloseAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 144
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Dispose()
+MESSAGE: Method 'Dispose()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+LINE: 153
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SimulateKeepAlive(bool isGood)
+MESSAGE: Method 'SimulateKeepAlive(bool isGood)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CreateCallCount
+MESSAGE: Property 'CreateCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnCreate
+MESSAGE: Property 'ThrowOnCreate' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastEndpointUrl
+MESSAGE: Property 'LastEndpointUrl' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CreatedSessions
+MESSAGE: Property 'CreatedSessions' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: CreateSessionAsync(ApplicationConfiguration config, EndpointDescription endpoint, string sessionName, uint sessionTimeoutMs, UserIdentity identity, CancellationToken ct)
+MESSAGE: Method 'CreateSessionAsync(ApplicationConfiguration config, EndpointDescription endpoint, string sessionName, uint sessionTimeoutMs, UserIdentity identity, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionFactory.cs
+LINE: 48
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: EnqueueSession(FakeSessionAdapter session)
+MESSAGE: Method 'EnqueueSession(FakeSessionAdapter session)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Deleted
+MESSAGE: Property 'Deleted' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConditionRefreshCalled
+MESSAGE: Property 'ConditionRefreshCalled' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ThrowOnConditionRefresh
+MESSAGE: Property 'ThrowOnConditionRefresh' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AddDataChangeCount
+MESSAGE: Property 'AddDataChangeCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AddEventCount
+MESSAGE: Property 'AddEventCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: RemoveCount
+MESSAGE: Property 'RemoveCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscriptionId
+MESSAGE: Property 'SubscriptionId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddDataChangeMonitoredItemAsync(NodeId nodeId, int samplingIntervalMs, Action onDataChange, CancellationToken ct)
+MESSAGE: Method 'AddDataChangeMonitoredItemAsync(NodeId nodeId, int samplingIntervalMs, Action onDataChange, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 36
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct)
+MESSAGE: Method 'RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 43
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddEventMonitoredItemAsync(NodeId nodeId, int samplingIntervalMs, EventFilter filter, Action onEvent, CancellationToken ct)
+MESSAGE: Method 'AddEventMonitoredItemAsync(NodeId nodeId, int samplingIntervalMs, EventFilter filter, Action onEvent, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 52
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConditionRefreshAsync(CancellationToken ct)
+MESSAGE: Method 'ConditionRefreshAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 60
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DeleteAsync(CancellationToken ct)
+MESSAGE: Method 'DeleteAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 67
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Dispose()
+MESSAGE: Method 'Dispose()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 75
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SimulateDataChange(uint handle, DataValue value)
+MESSAGE: Method 'SimulateDataChange(uint handle, DataValue value)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 75
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SimulateDataChange(uint handle, DataValue value)
+MESSAGE: Method 'SimulateDataChange(uint handle, DataValue value)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 84
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SimulateEvent(uint handle, EventFieldList eventFields)
+MESSAGE: Method 'SimulateEvent(uint handle, EventFieldList eventFields)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+LINE: 84
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: SimulateEvent(uint handle, EventFieldList eventFields)
+MESSAGE: Method 'SimulateEvent(uint handle, EventFieldList eventFields)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_ReturnsNonNullForAllValues(AggregateType aggregate)
+MESSAGE: Method 'ToNodeId_ReturnsNonNullForAllValues(AggregateType aggregate)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_Average_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_Average_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 31
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_Minimum_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_Minimum_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_Maximum_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_Maximum_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 43
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_Count_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_Count_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_Start_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_Start_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 55
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_End_MapsCorrectly()
+MESSAGE: Method 'ToNodeId_End_MapsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/AggregateTypeMapperTests.cs
+LINE: 61
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToNodeId_InvalidValue_Throws()
+MESSAGE: Method 'ToNodeId_InvalidValue_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_CsvNull_ReturnsPrimaryOnly()
+MESSAGE: Method 'Parse_CsvNull_ReturnsPrimaryOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_CsvEmpty_ReturnsPrimaryOnly()
+MESSAGE: Method 'Parse_CsvEmpty_ReturnsPrimaryOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_CsvWhitespace_ReturnsPrimaryOnly()
+MESSAGE: Method 'Parse_CsvWhitespace_ReturnsPrimaryOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 30
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_SingleFailover_ReturnsBoth()
+MESSAGE: Method 'Parse_SingleFailover_ReturnsBoth()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_MultipleFailovers_ReturnsAll()
+MESSAGE: Method 'Parse_MultipleFailovers_ReturnsAll()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 44
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_TrimsWhitespace()
+MESSAGE: Method 'Parse_TrimsWhitespace()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 51
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_DeduplicatesPrimaryInFailoverList()
+MESSAGE: Method 'Parse_DeduplicatesPrimaryInFailoverList()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_DeduplicatesCaseInsensitive()
+MESSAGE: Method 'Parse_DeduplicatesCaseInsensitive()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 65
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArrayNull_ReturnsPrimaryOnly()
+MESSAGE: Method 'Parse_ArrayNull_ReturnsPrimaryOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 72
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArrayEmpty_ReturnsPrimaryOnly()
+MESSAGE: Method 'Parse_ArrayEmpty_ReturnsPrimaryOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 79
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArrayWithUrls_ReturnsAll()
+MESSAGE: Method 'Parse_ArrayWithUrls_ReturnsAll()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 87
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArrayDeduplicates()
+MESSAGE: Method 'Parse_ArrayDeduplicates()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 95
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArrayTrimsWhitespace()
+MESSAGE: Method 'Parse_ArrayTrimsWhitespace()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/FailoverUrlParserTests.cs
+LINE: 103
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Parse_ArraySkipsNullAndEmpty()
+MESSAGE: Method 'Parse_ArraySkipsNullAndEmpty()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToMessageSecurityMode_MapsCorrectly(SecurityMode input, MessageSecurityMode expected)
+MESSAGE: Method 'ToMessageSecurityMode_MapsCorrectly(SecurityMode input, MessageSecurityMode expected)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ToMessageSecurityMode_InvalidValue_Throws()
+MESSAGE: Method 'ToMessageSecurityMode_InvalidValue_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FromString_ParsesCorrectly(string input, SecurityMode expected)
+MESSAGE: Method 'FromString_ParsesCorrectly(string input, SecurityMode expected)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FromString_WithWhitespace_ParsesCorrectly()
+MESSAGE: Method 'FromString_WithWhitespace_ParsesCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 47
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FromString_UnknownValue_Throws()
+MESSAGE: Method 'FromString_UnknownValue_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/SecurityModeMapperTests.cs
+LINE: 53
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FromString_Null_DefaultsToNone()
+MESSAGE: Method 'FromString_Null_DefaultsToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Bool_True()
+MESSAGE: Method 'ConvertValue_Bool_True()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Bool_False()
+MESSAGE: Method 'ConvertValue_Bool_False()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Byte()
+MESSAGE: Method 'ConvertValue_Byte()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Short()
+MESSAGE: Method 'ConvertValue_Short()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_UShort()
+MESSAGE: Method 'ConvertValue_UShort()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 39
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Int()
+MESSAGE: Method 'ConvertValue_Int()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_UInt()
+MESSAGE: Method 'ConvertValue_UInt()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 51
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Long()
+MESSAGE: Method 'ConvertValue_Long()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_ULong()
+MESSAGE: Method 'ConvertValue_ULong()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 63
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Float()
+MESSAGE: Method 'ConvertValue_Float()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 69
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Double()
+MESSAGE: Method 'ConvertValue_Double()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 75
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_String_WhenCurrentIsString()
+MESSAGE: Method 'ConvertValue_String_WhenCurrentIsString()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 81
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_String_WhenCurrentIsNull()
+MESSAGE: Method 'ConvertValue_String_WhenCurrentIsNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 87
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_String_WhenCurrentIsUnknownType()
+MESSAGE: Method 'ConvertValue_String_WhenCurrentIsUnknownType()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 93
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_InvalidBool_Throws()
+MESSAGE: Method 'ConvertValue_InvalidBool_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 99
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_InvalidInt_Throws()
+MESSAGE: Method 'ConvertValue_InvalidInt_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Helpers/ValueConverterTests.cs
+LINE: 105
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConvertValue_Overflow_Throws()
+MESSAGE: Method 'ConvertValue_Overflow_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Defaults_AreCorrect()
+MESSAGE: Method 'Defaults_AreCorrect()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnNullEndpointUrl()
+MESSAGE: Method 'Validate_ThrowsOnNullEndpointUrl()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnEmptyEndpointUrl()
+MESSAGE: Method 'Validate_ThrowsOnEmptyEndpointUrl()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnWhitespaceEndpointUrl()
+MESSAGE: Method 'Validate_ThrowsOnWhitespaceEndpointUrl()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnZeroTimeout()
+MESSAGE: Method 'Validate_ThrowsOnZeroTimeout()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 61
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnNegativeTimeout()
+MESSAGE: Method 'Validate_ThrowsOnNegativeTimeout()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 73
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_ThrowsOnTimeoutAbove3600()
+MESSAGE: Method 'Validate_ThrowsOnTimeoutAbove3600()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ConnectionSettingsTests.cs
+LINE: 85
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validate_SucceedsWithValidSettings()
+MESSAGE: Method 'Validate_SucceedsWithValidSettings()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseResult_ConstructsCorrectly()
+MESSAGE: Method 'BrowseResult_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseResult_WithoutChildren()
+MESSAGE: Method 'BrowseResult_WithoutChildren()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AlarmEventArgs_ConstructsCorrectly()
+MESSAGE: Method 'AlarmEventArgs_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RedundancyInfo_ConstructsCorrectly()
+MESSAGE: Method 'RedundancyInfo_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RedundancyInfo_WithEmptyUris()
+MESSAGE: Method 'RedundancyInfo_WithEmptyUris()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 65
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DataChangedEventArgs_ConstructsCorrectly()
+MESSAGE: Method 'DataChangedEventArgs_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 76
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectionStateChangedEventArgs_ConstructsCorrectly()
+MESSAGE: Method 'ConnectionStateChangedEventArgs_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 87
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectionInfo_ConstructsCorrectly()
+MESSAGE: Method 'ConnectionInfo_ConstructsCorrectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 106
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SecurityMode_Enum_HasExpectedValues()
+MESSAGE: Method 'SecurityMode_Enum_HasExpectedValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 115
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectionState_Enum_HasExpectedValues()
+MESSAGE: Method 'ConnectionState_Enum_HasExpectedValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Models/ModelConstructionTests.cs
+LINE: 125
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AggregateType_Enum_HasExpectedValues()
+MESSAGE: Method 'AggregateType_Enum_HasExpectedValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: OpcUaClientServiceTests()
+MESSAGE: Constructor 'OpcUaClientServiceTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Dispose()
+MESSAGE: Method 'Dispose()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectAsync_ValidSettings_ReturnsConnectionInfo()
+MESSAGE: Method 'ConnectAsync_ValidSettings_ReturnsConnectionInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 48
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectAsync_InvalidSettings_ThrowsBeforeCreatingSession()
+MESSAGE: Method 'ConnectAsync_InvalidSettings_ThrowsBeforeCreatingSession()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectAsync_PopulatesConnectionInfo()
+MESSAGE: Method 'ConnectAsync_PopulatesConnectionInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 80
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectAsync_RaisesConnectionStateChangedEvents()
+MESSAGE: Method 'ConnectAsync_RaisesConnectionStateChangedEvents()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 95
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectAsync_SessionFactoryFails_TransitionsToDisconnected()
+MESSAGE: Method 'ConnectAsync_SessionFactoryFails_TransitionsToDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 108
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectAsync_WithUsername_PassesThroughToFactory()
+MESSAGE: Method 'ConnectAsync_WithUsername_PassesThroughToFactory()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 123
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisconnectAsync_WhenConnected_ClosesSession()
+MESSAGE: Method 'DisconnectAsync_WhenConnected_ClosesSession()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 136
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisconnectAsync_WhenNotConnected_IsIdempotent()
+MESSAGE: Method 'DisconnectAsync_WhenNotConnected_IsIdempotent()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 143
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisconnectAsync_CalledTwice_IsIdempotent()
+MESSAGE: Method 'DisconnectAsync_CalledTwice_IsIdempotent()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 153
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadValueAsync_WhenConnected_ReturnsValue()
+MESSAGE: Method 'ReadValueAsync_WhenConnected_ReturnsValue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 169
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadValueAsync_WhenDisconnected_Throws()
+MESSAGE: Method 'ReadValueAsync_WhenDisconnected_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 176
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadValueAsync_SessionThrows_PropagatesException()
+MESSAGE: Method 'ReadValueAsync_SessionThrows_PropagatesException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 189
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync_WhenConnected_WritesValue()
+MESSAGE: Method 'WriteValueAsync_WhenConnected_WritesValue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 206
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync_StringValue_CoercesToTargetType()
+MESSAGE: Method 'WriteValueAsync_StringValue_CoercesToTargetType()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 222
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync_NonStringValue_WritesDirectly()
+MESSAGE: Method 'WriteValueAsync_NonStringValue_WritesDirectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 235
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync_WhenDisconnected_Throws()
+MESSAGE: Method 'WriteValueAsync_WhenDisconnected_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 244
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync_WhenConnected_ReturnsMappedResults()
+MESSAGE: Method 'BrowseAsync_WhenConnected_ReturnsMappedResults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 270
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync_NullParent_UsesObjectsFolder()
+MESSAGE: Method 'BrowseAsync_NullParent_UsesObjectsFolder()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 285
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync_ObjectNode_ChecksHasChildren()
+MESSAGE: Method 'BrowseAsync_ObjectNode_ChecksHasChildren()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 310
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync_WithContinuationPoint_FollowsIt()
+MESSAGE: Method 'BrowseAsync_WithContinuationPoint_FollowsIt()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 345
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync_WhenDisconnected_Throws()
+MESSAGE: Method 'BrowseAsync_WhenDisconnected_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 353
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAsync_CreatesSubscription()
+MESSAGE: Method 'SubscribeAsync_CreatesSubscription()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 366
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAsync_DuplicateNode_IsIdempotent()
+MESSAGE: Method 'SubscribeAsync_DuplicateNode_IsIdempotent()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 379
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAsync_RaisesDataChangedEvent()
+MESSAGE: Method 'SubscribeAsync_RaisesDataChangedEvent()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 401
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAsync_RemovesMonitoredItem()
+MESSAGE: Method 'UnsubscribeAsync_RemovesMonitoredItem()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 415
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAsync_WhenNotSubscribed_DoesNotThrow()
+MESSAGE: Method 'UnsubscribeAsync_WhenNotSubscribed_DoesNotThrow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 426
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAsync_WhenDisconnected_Throws()
+MESSAGE: Method 'SubscribeAsync_WhenDisconnected_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 435
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAlarmsAsync_CreatesEventSubscription()
+MESSAGE: Method 'SubscribeAlarmsAsync_CreatesEventSubscription()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 448
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAlarmsAsync_Duplicate_IsIdempotent()
+MESSAGE: Method 'SubscribeAlarmsAsync_Duplicate_IsIdempotent()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 461
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAlarmsAsync_RaisesAlarmEvent()
+MESSAGE: Method 'SubscribeAlarmsAsync_RaisesAlarmEvent()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 506
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAlarmsAsync_DeletesSubscription()
+MESSAGE: Method 'UnsubscribeAlarmsAsync_DeletesSubscription()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 520
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAlarmsAsync_WhenNoSubscription_DoesNotThrow()
+MESSAGE: Method 'UnsubscribeAlarmsAsync_WhenNoSubscription_DoesNotThrow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 530
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RequestConditionRefreshAsync_CallsAdapter()
+MESSAGE: Method 'RequestConditionRefreshAsync_CallsAdapter()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 544
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RequestConditionRefreshAsync_NoAlarmSubscription_Throws()
+MESSAGE: Method 'RequestConditionRefreshAsync_NoAlarmSubscription_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 555
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAlarmsAsync_WhenDisconnected_Throws()
+MESSAGE: Method 'SubscribeAlarmsAsync_WhenDisconnected_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 564
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync_ReturnsValues()
+MESSAGE: Method 'HistoryReadRawAsync_ReturnsValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 583
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync_WhenDisconnected_Throws()
+MESSAGE: Method 'HistoryReadRawAsync_WhenDisconnected_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 590
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync_SessionThrows_PropagatesException()
+MESSAGE: Method 'HistoryReadRawAsync_SessionThrows_PropagatesException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 601
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync_ReturnsValues()
+MESSAGE: Method 'HistoryReadAggregateAsync_ReturnsValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 620
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync_WhenDisconnected_Throws()
+MESSAGE: Method 'HistoryReadAggregateAsync_WhenDisconnected_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 629
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync_SessionThrows_PropagatesException()
+MESSAGE: Method 'HistoryReadAggregateAsync_SessionThrows_PropagatesException()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 644
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetRedundancyInfoAsync_ReturnsInfo()
+MESSAGE: Method 'GetRedundancyInfoAsync_ReturnsInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 673
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetRedundancyInfoAsync_MissingOptionalArrays_ReturnsGracefully()
+MESSAGE: Method 'GetRedundancyInfoAsync_MissingOptionalArrays_ReturnsGracefully()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 700
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetRedundancyInfoAsync_WhenDisconnected_Throws()
+MESSAGE: Method 'GetRedundancyInfoAsync_WhenDisconnected_Throws()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 709
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: KeepAliveFailure_TriggersFailover()
+MESSAGE: Method 'KeepAliveFailure_TriggersFailover()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 737
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: KeepAliveFailure_UpdatesConnectionInfo()
+MESSAGE: Method 'KeepAliveFailure_UpdatesConnectionInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 760
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: KeepAliveFailure_AllEndpointsFail_TransitionsToDisconnected()
+MESSAGE: Method 'KeepAliveFailure_AllEndpointsFail_TransitionsToDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 778
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Dispose_CleansUpResources()
+MESSAGE: Method 'Dispose_CleansUpResources()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 791
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Dispose_WhenNotConnected_DoesNotThrow()
+MESSAGE: Method 'Dispose_WhenNotConnected_DoesNotThrow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 797
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OperationsAfterDispose_Throw()
+MESSAGE: Method 'OperationsAfterDispose_Throw()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+LINE: 810
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OpcUaClientServiceFactory_CreatesService()
+MESSAGE: Method 'OpcUaClientServiceFactory_CreatesService()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: AlarmsViewModelTests()
+MESSAGE: Constructor 'AlarmsViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'SubscribeCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeCommand_CannotExecute_WhenAlreadySubscribed()
+MESSAGE: Method 'SubscribeCommand_CannotExecute_WhenAlreadySubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeCommand_CanExecute_WhenConnectedAndNotSubscribed()
+MESSAGE: Method 'SubscribeCommand_CanExecute_WhenConnectedAndNotSubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeCommand_SetsIsSubscribed()
+MESSAGE: Method 'SubscribeCommand_SetsIsSubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 56
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeCommand_CannotExecute_WhenNotSubscribed()
+MESSAGE: Method 'UnsubscribeCommand_CannotExecute_WhenNotSubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 64
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeCommand_ClearsIsSubscribed()
+MESSAGE: Method 'UnsubscribeCommand_ClearsIsSubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 76
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RefreshCommand_CallsService()
+MESSAGE: Method 'RefreshCommand_CallsService()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 87
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RefreshCommand_CannotExecute_WhenNotSubscribed()
+MESSAGE: Method 'RefreshCommand_CannotExecute_WhenNotSubscribed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 95
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AlarmEvent_AddsToCollection()
+MESSAGE: Method 'AlarmEvent_AddsToCollection()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 111
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Clear_ResetsState()
+MESSAGE: Method 'Clear_ResetsState()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 123
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Teardown_UnhooksEventHandler()
+MESSAGE: Method 'Teardown_UnhooksEventHandler()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/AlarmsViewModelTests.cs
+LINE: 136
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultInterval_Is1000()
+MESSAGE: Method 'DefaultInterval_Is1000()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: BrowseTreeViewModelTests()
+MESSAGE: Constructor 'BrowseTreeViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 30
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LoadRootsAsync_PopulatesRootNodes()
+MESSAGE: Method 'LoadRootsAsync_PopulatesRootNodes()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 40
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LoadRootsAsync_BrowsesWithNullParent()
+MESSAGE: Method 'LoadRootsAsync_BrowsesWithNullParent()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Clear_RemovesAllRootNodes()
+MESSAGE: Method 'Clear_RemovesAllRootNodes()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LoadRootsAsync_NodeWithChildren_HasPlaceholder()
+MESSAGE: Method 'LoadRootsAsync_NodeWithChildren_HasPlaceholder()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 69
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LoadRootsAsync_NodeWithoutChildren_HasNoPlaceholder()
+MESSAGE: Method 'LoadRootsAsync_NodeWithoutChildren_HasNoPlaceholder()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 79
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TreeNode_FirstExpand_TriggersChildBrowse()
+MESSAGE: Method 'TreeNode_FirstExpand_TriggersChildBrowse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 108
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TreeNode_SecondExpand_DoesNotBrowseAgain()
+MESSAGE: Method 'TreeNode_SecondExpand_DoesNotBrowseAgain()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/BrowseTreeViewModelTests.cs
+LINE: 136
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TreeNode_IsLoading_TransitionsDuringBrowse()
+MESSAGE: Method 'TreeNode_IsLoading_TransitionsDuringBrowse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConnectResult
+MESSAGE: Property 'ConnectResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConnectException
+MESSAGE: Property 'ConnectException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseResults
+MESSAGE: Property 'BrowseResults' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseResultsByParent
+MESSAGE: Property 'BrowseResultsByParent' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseException
+MESSAGE: Property 'BrowseException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadResult
+MESSAGE: Property 'ReadResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadException
+MESSAGE: Property 'ReadException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteResult
+MESSAGE: Property 'WriteResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteException
+MESSAGE: Property 'WriteException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 26
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: RedundancyResult
+MESSAGE: Property 'RedundancyResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 27
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: RedundancyException
+MESSAGE: Property 'RedundancyException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 28
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryRawResult
+MESSAGE: Property 'HistoryRawResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryAggregateResult
+MESSAGE: Property 'HistoryAggregateResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 30
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryException
+MESSAGE: Property 'HistoryException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ConnectCallCount
+MESSAGE: Property 'ConnectCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: DisconnectCallCount
+MESSAGE: Property 'DisconnectCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 35
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: ReadCallCount
+MESSAGE: Property 'ReadCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 36
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: WriteCallCount
+MESSAGE: Property 'WriteCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: BrowseCallCount
+MESSAGE: Property 'BrowseCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscribeCallCount
+MESSAGE: Property 'SubscribeCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 39
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: UnsubscribeCallCount
+MESSAGE: Property 'UnsubscribeCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 40
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SubscribeAlarmsCallCount
+MESSAGE: Property 'SubscribeAlarmsCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: UnsubscribeAlarmsCallCount
+MESSAGE: Property 'UnsubscribeAlarmsCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 42
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: RequestConditionRefreshCallCount
+MESSAGE: Property 'RequestConditionRefreshCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 43
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadRawCallCount
+MESSAGE: Property 'HistoryReadRawCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 44
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: HistoryReadAggregateCallCount
+MESSAGE: Property 'HistoryReadAggregateCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: GetRedundancyInfoCallCount
+MESSAGE: Property 'GetRedundancyInfoCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 47
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastConnectionSettings
+MESSAGE: Property 'LastConnectionSettings' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 48
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastReadNodeId
+MESSAGE: Property 'LastReadNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastWriteNodeId
+MESSAGE: Property 'LastWriteNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 50
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastWriteValue
+MESSAGE: Property 'LastWriteValue' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 51
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastBrowseParentNodeId
+MESSAGE: Property 'LastBrowseParentNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 52
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastSubscribeNodeId
+MESSAGE: Property 'LastSubscribeNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 53
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastSubscribeIntervalMs
+MESSAGE: Property 'LastSubscribeIntervalMs' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 54
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastUnsubscribeNodeId
+MESSAGE: Property 'LastUnsubscribeNodeId' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 55
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastAggregateType
+MESSAGE: Property 'LastAggregateType' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: IsConnected
+MESSAGE: Property 'IsConnected' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: CurrentConnectionInfo
+MESSAGE: Property 'CurrentConnectionInfo' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 60
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: DataChanged
+MESSAGE: Event 'DataChanged' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 61
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: AlarmEvent
+MESSAGE: Event 'AlarmEvent' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 62
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Event
+SIGNATURE: ConnectionStateChanged
+MESSAGE: Event 'ConnectionStateChanged' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 64
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectAsync(ConnectionSettings settings, CancellationToken ct)
+MESSAGE: Method 'ConnectAsync(ConnectionSettings settings, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 74
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisconnectAsync(CancellationToken ct)
+MESSAGE: Method 'DisconnectAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 82
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadValueAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'ReadValueAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 90
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteValueAsync(NodeId nodeId, object value, CancellationToken ct)
+MESSAGE: Method 'WriteValueAsync(NodeId nodeId, object value, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 99
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BrowseAsync(NodeId? parentNodeId, CancellationToken ct)
+MESSAGE: Method 'BrowseAsync(NodeId? parentNodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 111
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAsync(NodeId nodeId, int intervalMs, CancellationToken ct)
+MESSAGE: Method 'SubscribeAsync(NodeId nodeId, int intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 119
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAsync(NodeId nodeId, CancellationToken ct)
+MESSAGE: Method 'UnsubscribeAsync(NodeId nodeId, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 126
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeAlarmsAsync(NodeId? sourceNodeId, int intervalMs, CancellationToken ct)
+MESSAGE: Method 'SubscribeAlarmsAsync(NodeId? sourceNodeId, int intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 132
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UnsubscribeAlarmsAsync(CancellationToken ct)
+MESSAGE: Method 'UnsubscribeAlarmsAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 138
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RequestConditionRefreshAsync(CancellationToken ct)
+MESSAGE: Method 'RequestConditionRefreshAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 144
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AcknowledgeResult
+MESSAGE: Property 'AcknowledgeResult' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 145
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AcknowledgeException
+MESSAGE: Property 'AcknowledgeException' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 146
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: AcknowledgeCallCount
+MESSAGE: Property 'AcknowledgeCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 148
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment, CancellationToken ct)
+MESSAGE: Method 'AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 156
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
+MESSAGE: Method 'HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 164
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, AggregateType aggregate, double intervalMs, CancellationToken ct)
+MESSAGE: Method 'HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime, AggregateType aggregate, double intervalMs, CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 173
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetRedundancyInfoAsync(CancellationToken ct)
+MESSAGE: Method 'GetRedundancyInfoAsync(CancellationToken ct)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 180
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Dispose()
+MESSAGE: Method 'Dispose()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 186
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RaiseDataChanged(DataChangedEventArgs args)
+MESSAGE: Method 'RaiseDataChanged(DataChangedEventArgs args)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 191
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RaiseAlarmEvent(AlarmEventArgs args)
+MESSAGE: Method 'RaiseAlarmEvent(AlarmEventArgs args)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+LINE: 196
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RaiseConnectionStateChanged(ConnectionStateChangedEventArgs args)
+MESSAGE: Method 'RaiseConnectionStateChanged(ConnectionStateChangedEventArgs args)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientServiceFactory.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: FakeOpcUaClientServiceFactory(FakeOpcUaClientService service)
+MESSAGE: Constructor 'FakeOpcUaClientServiceFactory(FakeOpcUaClientService service)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientServiceFactory.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Create()
+MESSAGE: Method 'Create()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 7
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: Settings
+MESSAGE: Property 'Settings' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 8
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LoadCallCount
+MESSAGE: Property 'LoadCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: SaveCallCount
+MESSAGE: Property 'SaveCallCount' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Property
+SIGNATURE: LastSaved
+MESSAGE: Property 'LastSaved' is missing XML documentation
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 12
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Load()
+MESSAGE: Method 'Load()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeSettingsService.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Save(UserSettings settings)
+MESSAGE: Method 'Save(UserSettings settings)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: HistoryViewModelTests()
+MESSAGE: Constructor 'HistoryViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'ReadHistoryCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 42
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_CannotExecute_WhenNoNodeSelected()
+MESSAGE: Method 'ReadHistoryCommand_CannotExecute_WhenNoNodeSelected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 50
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_CanExecute_WhenConnectedAndNodeSelected()
+MESSAGE: Method 'ReadHistoryCommand_CanExecute_WhenConnectedAndNodeSelected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_Raw_PopulatesResults()
+MESSAGE: Method 'ReadHistoryCommand_Raw_PopulatesResults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 74
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_Aggregate_PopulatesResults()
+MESSAGE: Method 'ReadHistoryCommand_Aggregate_PopulatesResults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 90
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_ClearsResultsBefore()
+MESSAGE: Method 'ReadHistoryCommand_ClearsResultsBefore()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 102
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_IsLoading_FalseAfterComplete()
+MESSAGE: Method 'ReadHistoryCommand_IsLoading_FalseAfterComplete()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 113
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultValues_AreCorrect()
+MESSAGE: Method 'DefaultValues_AreCorrect()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 122
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: IsAggregateRead_TrueWhenAggregateSelected()
+MESSAGE: Method 'IsAggregateRead_TrueWhenAggregateSelected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 129
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AggregateTypes_ContainsNullForRaw()
+MESSAGE: Method 'AggregateTypes_ContainsNullForRaw()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 136
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Clear_ResetsState()
+MESSAGE: Method 'Clear_ResetsState()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/HistoryViewModelTests.cs
+LINE: 148
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadHistoryCommand_Error_ShowsErrorInResults()
+MESSAGE: Method 'ReadHistoryCommand_Error_ShowsErrorInResults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: MainWindowViewModelTests()
+MESSAGE: Constructor 'MainWindowViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 42
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultState_IsDisconnected()
+MESSAGE: Method 'DefaultState_IsDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 51
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_CanExecute_WhenDisconnected()
+MESSAGE: Method 'ConnectCommand_CanExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 57
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisconnectCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'DisconnectCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 63
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_TransitionsToConnected()
+MESSAGE: Method 'ConnectCommand_TransitionsToConnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 73
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_LoadsRootNodes()
+MESSAGE: Method 'ConnectCommand_LoadsRootNodes()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 82
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_FetchesRedundancyInfo()
+MESSAGE: Method 'ConnectCommand_FetchesRedundancyInfo()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 92
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_SetsSessionLabel()
+MESSAGE: Method 'ConnectCommand_SetsSessionLabel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 101
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisconnectCommand_TransitionsToDisconnected()
+MESSAGE: Method 'DisconnectCommand_TransitionsToDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 112
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Disconnect_ClearsStateAndChildren()
+MESSAGE: Method 'Disconnect_ClearsStateAndChildren()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 124
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectionStateChangedEvent_UpdatesState()
+MESSAGE: Method 'ConnectionStateChangedEvent_UpdatesState()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 137
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SelectedTreeNode_PropagatesToChildViewModels()
+MESSAGE: Method 'SelectedTreeNode_PropagatesToChildViewModels()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 149
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_PropagatesIsConnectedToChildViewModels()
+MESSAGE: Method 'ConnectCommand_PropagatesIsConnectedToChildViewModels()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 160
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DisconnectCommand_PropagatesIsConnectedFalseToChildViewModels()
+MESSAGE: Method 'DisconnectCommand_PropagatesIsConnectedFalseToChildViewModels()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 172
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectFailure_RevertsToDisconnected()
+MESSAGE: Method 'ConnectFailure_RevertsToDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 183
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: PropertyChanged_FiredForConnectionState()
+MESSAGE: Method 'PropertyChanged_FiredForConnectionState()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 198
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultState_HasCorrectAdvancedSettings()
+MESSAGE: Method 'DefaultState_HasCorrectAdvancedSettings()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 208
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_MapsFailoverUrlsToSettings()
+MESSAGE: Method 'ConnectCommand_MapsFailoverUrlsToSettings()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 221
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_MapsEmptyFailoverUrlsToNull()
+MESSAGE: Method 'ConnectCommand_MapsEmptyFailoverUrlsToNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 231
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_MapsSessionTimeoutToSettings()
+MESSAGE: Method 'ConnectCommand_MapsSessionTimeoutToSettings()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 241
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_MapsAutoAcceptCertificatesToSettings()
+MESSAGE: Method 'ConnectCommand_MapsAutoAcceptCertificatesToSettings()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 251
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_MapsCertificateStorePathToSettings()
+MESSAGE: Method 'ConnectCommand_MapsCertificateStorePathToSettings()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 261
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeSelectedNodesCommand_SubscribesAndSwitchesToTab()
+MESSAGE: Method 'SubscribeSelectedNodesCommand_SubscribesAndSwitchesToTab()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 278
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: SubscribeSelectedNodesCommand_DoesNothing_WhenNoSelection()
+MESSAGE: Method 'SubscribeSelectedNodesCommand_DoesNothing_WhenNoSelection()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 288
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ViewHistoryForSelectedNodeCommand_SetsNodeAndSwitchesToTab()
+MESSAGE: Method 'ViewHistoryForSelectedNodeCommand_SetsNodeAndSwitchesToTab()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 302
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UpdateHistoryEnabledForSelection_TrueForVariableNode()
+MESSAGE: Method 'UpdateHistoryEnabledForSelection_TrueForVariableNode()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 316
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UpdateHistoryEnabledForSelection_FalseForObjectNode()
+MESSAGE: Method 'UpdateHistoryEnabledForSelection_FalseForObjectNode()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 330
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UpdateHistoryEnabledForSelection_FalseWhenDisconnected()
+MESSAGE: Method 'UpdateHistoryEnabledForSelection_FalseWhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 338
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Constructor_LoadsSettingsFromService()
+MESSAGE: Method 'Constructor_LoadsSettingsFromService()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 344
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Constructor_AppliesSavedSettings()
+MESSAGE: Method 'Constructor_AppliesSavedSettings()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 379
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_SavesSettingsOnSuccess()
+MESSAGE: Method 'ConnectCommand_SavesSettingsOnSuccess()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 393
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_DoesNotSaveOnFailure()
+MESSAGE: Method 'ConnectCommand_DoesNotSaveOnFailure()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 403
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_SavesSubscribedNodes()
+MESSAGE: Method 'ConnectCommand_SavesSubscribedNodes()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+LINE: 419
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ConnectCommand_RestoresSavedSubscriptions()
+MESSAGE: Method 'ConnectCommand_RestoresSavedSubscriptions()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: ReadWriteViewModelTests()
+MESSAGE: Constructor 'ReadWriteViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 25
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'ReadCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 33
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadCommand_CannotExecute_WhenNoNodeSelected()
+MESSAGE: Method 'ReadCommand_CannotExecute_WhenNoNodeSelected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadCommand_CanExecute_WhenConnectedAndNodeSelected()
+MESSAGE: Method 'ReadCommand_CanExecute_WhenConnectedAndNodeSelected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 49
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadCommand_UpdatesValueAndStatus()
+MESSAGE: Method 'ReadCommand_UpdatesValueAndStatus()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 66
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AutoRead_OnSelectionChange_WhenConnected()
+MESSAGE: Method 'AutoRead_OnSelectionChange_WhenConnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 77
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: NullSelection_DoesNotCallService()
+MESSAGE: Method 'NullSelection_DoesNotCallService()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 86
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteCommand_UpdatesWriteStatus()
+MESSAGE: Method 'WriteCommand_UpdatesWriteStatus()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 103
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'WriteCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 111
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadCommand_Error_SetsErrorStatus()
+MESSAGE: Method 'ReadCommand_Error_SetsErrorStatus()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 124
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Clear_ResetsAllProperties()
+MESSAGE: Method 'Clear_ResetsAllProperties()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/ReadWriteViewModelTests.cs
+LINE: 143
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: IsNodeSelected_TracksSelectedNodeId()
+MESSAGE: Method 'IsNodeSelected_TracksSelectedNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DateTimeRangePickerScreenshot.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TextBoxes_ShowValues_WhenSetBeforeLoad()
+MESSAGE: Method 'TextBoxes_ShowValues_WhenSetBeforeLoad()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DateTimeRangePickerScreenshot.cs
+LINE: 67
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TextBoxes_ShowValues_WhenSetAfterLoad()
+MESSAGE: Method 'TextBoxes_ShowValues_WhenSetAfterLoad()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DateTimeRangePickerScreenshot.cs
+LINE: 99
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: PresetButtons_SetCorrectRange()
+MESSAGE: Method 'PresetButtons_SetCorrectRange()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DateTimeRangePickerScreenshot.cs
+LINE: 138
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_DateTimeRangePicker_Screenshot()
+MESSAGE: Method 'Capture_DateTimeRangePicker_Screenshot()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DocumentationScreenshots.cs
+LINE: 46
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_ConnectionPanel()
+MESSAGE: Method 'Capture_ConnectionPanel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DocumentationScreenshots.cs
+LINE: 83
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_SubscriptionsTab()
+MESSAGE: Method 'Capture_SubscriptionsTab()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DocumentationScreenshots.cs
+LINE: 106
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_AlarmsTab()
+MESSAGE: Method 'Capture_AlarmsTab()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DocumentationScreenshots.cs
+LINE: 132
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_HistoryTab()
+MESSAGE: Method 'Capture_HistoryTab()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/DocumentationScreenshots.cs
+LINE: 162
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Capture_DateTimeRangePicker()
+MESSAGE: Method 'Capture_DateTimeRangePicker()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/ScreenshotTestApp.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Initialize()
+MESSAGE: Method 'Initialize()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Screenshots/ScreenshotTestApp.cs
+LINE: 14
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BuildAvaloniaApp()
+MESSAGE: Method 'BuildAvaloniaApp()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Constructor
+SIGNATURE: SubscriptionsViewModelTests()
+MESSAGE: Constructor 'SubscriptionsViewModelTests()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionCommand_CannotExecute_WhenDisconnected()
+MESSAGE: Method 'AddSubscriptionCommand_CannotExecute_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 32
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionCommand_CannotExecute_WhenNoNodeId()
+MESSAGE: Method 'AddSubscriptionCommand_CannotExecute_WhenNoNodeId()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 40
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionCommand_AddsItem()
+MESSAGE: Method 'AddSubscriptionCommand_AddsItem()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 56
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RemoveSubscriptionCommand_RemovesItem()
+MESSAGE: Method 'RemoveSubscriptionCommand_RemovesItem()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 71
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RemoveSubscriptionCommand_CannotExecute_WhenNoSelection()
+MESSAGE: Method 'RemoveSubscriptionCommand_CannotExecute_WhenNoSelection()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 79
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DataChanged_UpdatesMatchingRow()
+MESSAGE: Method 'DataChanged_UpdatesMatchingRow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 93
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DataChanged_DoesNotUpdateNonMatchingRow()
+MESSAGE: Method 'DataChanged_DoesNotUpdateNonMatchingRow()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 106
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Clear_RemovesAllSubscriptions()
+MESSAGE: Method 'Clear_RemovesAllSubscriptions()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 118
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Teardown_UnhooksEventHandler()
+MESSAGE: Method 'Teardown_UnhooksEventHandler()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 131
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultInterval_Is1000()
+MESSAGE: Method 'DefaultInterval_Is1000()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 137
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionForNodeAsync_AddsSubscription()
+MESSAGE: Method 'AddSubscriptionForNodeAsync_AddsSubscription()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 150
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionForNodeAsync_SkipsDuplicate()
+MESSAGE: Method 'AddSubscriptionForNodeAsync_SkipsDuplicate()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 162
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionForNodeAsync_DoesNothing_WhenDisconnected()
+MESSAGE: Method 'AddSubscriptionForNodeAsync_DoesNothing_WhenDisconnected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 173
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetSubscribedNodeIds_ReturnsActiveNodeIds()
+MESSAGE: Method 'GetSubscribedNodeIds_ReturnsActiveNodeIds()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 187
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: RestoreSubscriptionsAsync_SubscribesAllNodes()
+MESSAGE: Method 'RestoreSubscriptionsAsync_SubscribesAllNodes()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 198
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateAndWriteAsync_SuccessReturnsTrue()
+MESSAGE: Method 'ValidateAndWriteAsync_SuccessReturnsTrue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 212
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateAndWriteAsync_ParseFailureReturnsFalse()
+MESSAGE: Method 'ValidateAndWriteAsync_ParseFailureReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 226
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateAndWriteAsync_WriteFailureReturnsFalse()
+MESSAGE: Method 'ValidateAndWriteAsync_WriteFailureReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 239
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateAndWriteAsync_BadStatusReturnsFalse()
+MESSAGE: Method 'ValidateAndWriteAsync_BadStatusReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 252
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionRecursiveAsync_SubscribesVariableDirectly()
+MESSAGE: Method 'AddSubscriptionRecursiveAsync_SubscribesVariableDirectly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 263
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionRecursiveAsync_BrowsesObjectAndSubscribesVariableChildren()
+MESSAGE: Method 'AddSubscriptionRecursiveAsync_BrowsesObjectAndSubscribesVariableChildren()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/SubscriptionsViewModelTests.cs
+LINE: 279
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddSubscriptionRecursiveAsync_RecursesNestedObjects()
+MESSAGE: Method 'AddSubscriptionRecursiveAsync_RecursesNestedObjects()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AuthenticationConfiguration_Defaults()
+MESSAGE: Method 'AuthenticationConfiguration_Defaults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 20
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AuthenticationConfiguration_LdapDefaults()
+MESSAGE: Method 'AuthenticationConfiguration_LdapDefaults()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapConfiguration_BindDnTemplate_Default()
+MESSAGE: Method 'LdapConfiguration_BindDnTemplate_Default()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_ValidBind_ReturnsTrue()
+MESSAGE: Method 'LdapAuthenticationProvider_ValidBind_ReturnsTrue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 63
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_InvalidPassword_ReturnsFalse()
+MESSAGE: Method 'LdapAuthenticationProvider_InvalidPassword_ReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 78
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_UnknownUser_ReturnsFalse()
+MESSAGE: Method 'LdapAuthenticationProvider_UnknownUser_ReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 93
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_ReadOnlyUser_HasReadOnlyRole()
+MESSAGE: Method 'LdapAuthenticationProvider_ReadOnlyUser_HasReadOnlyRole()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 112
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_WriteOperateUser_HasWriteOperateRole()
+MESSAGE: Method 'LdapAuthenticationProvider_WriteOperateUser_HasWriteOperateRole()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 130
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_AlarmAckUser_HasAlarmAckRole()
+MESSAGE: Method 'LdapAuthenticationProvider_AlarmAckUser_HasAlarmAckRole()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 148
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_AdminUser_HasAllRoles()
+MESSAGE: Method 'LdapAuthenticationProvider_AdminUser_HasAllRoles()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 169
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_ImplementsIRoleProvider()
+MESSAGE: Method 'LdapAuthenticationProvider_ImplementsIRoleProvider()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 178
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_ConnectionFailure_ReturnsFalse()
+MESSAGE: Method 'LdapAuthenticationProvider_ConnectionFailure_ReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Authentication/UserAuthenticationTests.cs
+LINE: 193
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: LdapAuthenticationProvider_ConnectionFailure_GetUserRoles_FallsBackToReadOnly()
+MESSAGE: Method 'LdapAuthenticationProvider_ConnectionFailure_GetUserRoles_FallsBackToReadOnly()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 243
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Redundancy_Section_BindsFromJson()
+MESSAGE: Method 'Redundancy_Section_BindsFromJson()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 253
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Redundancy_Section_BindsCustomValues()
+MESSAGE: Method 'Redundancy_Section_BindsCustomValues()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 278
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validator_RedundancyEnabled_NoApplicationUri_ReturnsFalse()
+MESSAGE: Method 'Validator_RedundancyEnabled_NoApplicationUri_ReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 289
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Validator_InvalidServiceLevelBase_ReturnsFalse()
+MESSAGE: Method 'Validator_InvalidServiceLevelBase_ReturnsFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 297
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OpcUa_ApplicationUri_DefaultsToNull()
+MESSAGE: Method 'OpcUa_ApplicationUri_DefaultsToNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Configuration/ConfigurationLoadingTests.cs
+LINE: 304
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: OpcUa_ApplicationUri_BindsFromConfig()
+MESSAGE: Method 'OpcUa_ApplicationUri_BindsFromConfig()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Helpers/FakeAuthenticationProvider.cs
+LINE: 18
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetUserRoles(string username)
+MESSAGE: Method 'GetUserRoles(string username)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Helpers/FakeAuthenticationProvider.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidateCredentials(string username, string password)
+MESSAGE: Method 'ValidateCredentials(string username, string password)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Helpers/FakeAuthenticationProvider.cs
+LINE: 28
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AddUser(string username, string password, string[] roles)
+MESSAGE: Method 'AddUser(string username, string password, string[] roles)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Helpers/OpcUaServerFixture.cs
+LINE: 145
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: WithFakeMxAccessClient(FakeMxAccessClient? mxClient, FakeGalaxyRepository? repo, SecurityProfileConfiguration? security, RedundancyConfiguration? redundancy, string? applicationUri, string? serverName, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider)
+MESSAGE: Method 'WithFakeMxAccessClient(FakeMxAccessClient? mxClient, FakeGalaxyRepository? repo, SecurityProfileConfiguration? security, RedundancyConfiguration? redundancy, string? applicationUri, string? serverName, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Helpers/OpcUaServerFixture.cs
+LINE: 145
+CATEGORY: MissingParam
+SEVERITY: Warning
+MEMBER: Method
+SIGNATURE: WithFakeMxAccessClient(FakeMxAccessClient? mxClient, FakeGalaxyRepository? repo, SecurityProfileConfiguration? security, RedundancyConfiguration? redundancy, string? applicationUri, string? serverName, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider)
+MESSAGE: Method 'WithFakeMxAccessClient(FakeMxAccessClient? mxClient, FakeGalaxyRepository? repo, SecurityProfileConfiguration? security, RedundancyConfiguration? redundancy, string? applicationUri, string? serverName, AuthenticationConfiguration? authConfig, IUserAuthenticationProvider? authProvider)' is missing documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Historian/HistorianQualityMappingTests.cs
+LINE: 15
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GoodQualityRange_MapsToGood(byte quality)
+MESSAGE: Method 'GoodQualityRange_MapsToGood(byte quality)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Historian/HistorianQualityMappingTests.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: UncertainQualityRange_MapsToUncertain(byte quality)
+MESSAGE: Method 'UncertainQualityRange_MapsToUncertain(byte quality)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Historian/HistorianQualityMappingTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BadQualityRange_MapsToBad(byte quality)
+MESSAGE: Method 'BadQualityRange_MapsToBad(byte quality)' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AnonymousRead_Allowed()
+MESSAGE: Method 'AnonymousRead_Allowed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 58
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AnonymousWrite_Denied_WhenAnonymousCanWriteFalse()
+MESSAGE: Method 'AnonymousWrite_Denied_WhenAnonymousCanWriteFalse()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 79
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AnonymousWrite_Allowed_WhenAnonymousCanWriteTrue()
+MESSAGE: Method 'AnonymousWrite_Allowed_WhenAnonymousCanWriteTrue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 103
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ReadOnlyUser_Write_Denied()
+MESSAGE: Method 'ReadOnlyUser_Write_Denied()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 124
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: WriteOperateUser_Write_Allowed()
+MESSAGE: Method 'WriteOperateUser_Write_Allowed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 148
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AlarmAckOnlyUser_Write_Denied()
+MESSAGE: Method 'AlarmAckOnlyUser_Write_Denied()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 169
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: AdminUser_Write_Allowed()
+MESSAGE: Method 'AdminUser_Write_Allowed()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/PermissionEnforcementTests.cs
+LINE: 193
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: InvalidPassword_ConnectionRejected()
+MESSAGE: Method 'InvalidPassword_ConnectionRejected()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/RedundancyTests.cs
+LINE: 13
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Server_WithRedundancyDisabled_ReportsNone()
+MESSAGE: Method 'Server_WithRedundancyDisabled_ReportsNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/RedundancyTests.cs
+LINE: 35
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Server_WithRedundancyEnabled_ReportsConfiguredMode()
+MESSAGE: Method 'Server_WithRedundancyEnabled_ReportsConfiguredMode()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/RedundancyTests.cs
+LINE: 65
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Server_Primary_HasHigherServiceLevel_ThanSecondary()
+MESSAGE: Method 'Server_Primary_HasHigherServiceLevel_ThanSecondary()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/RedundancyTests.cs
+LINE: 108
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Server_WithRedundancyEnabled_ExposesServerUriArray()
+MESSAGE: Method 'Server_WithRedundancyEnabled_ExposesServerUriArray()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Integration/RedundancyTests.cs
+LINE: 145
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: TwoServers_BothExposeSameRedundantSet()
+MESSAGE: Method 'TwoServers_BothExposeSameRedundantSet()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyConfigurationTests.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_Disabled()
+MESSAGE: Method 'DefaultConfig_Disabled()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyConfigurationTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_ModeWarm()
+MESSAGE: Method 'DefaultConfig_ModeWarm()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyConfigurationTests.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_RolePrimary()
+MESSAGE: Method 'DefaultConfig_RolePrimary()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyConfigurationTests.cs
+LINE: 30
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_EmptyServerUris()
+MESSAGE: Method 'DefaultConfig_EmptyServerUris()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyConfigurationTests.cs
+LINE: 37
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_ServiceLevelBase200()
+MESSAGE: Method 'DefaultConfig_ServiceLevelBase200()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 10
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Disabled_ReturnsNone()
+MESSAGE: Method 'Resolve_Disabled_ReturnsNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 16
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Warm_ReturnsWarm()
+MESSAGE: Method 'Resolve_Warm_ReturnsWarm()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 22
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Hot_ReturnsHot()
+MESSAGE: Method 'Resolve_Hot_ReturnsHot()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 28
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Unknown_FallsBackToNone()
+MESSAGE: Method 'Resolve_Unknown_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 34
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_CaseInsensitive()
+MESSAGE: Method 'Resolve_CaseInsensitive()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 42
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Null_FallsBackToNone()
+MESSAGE: Method 'Resolve_Null_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/RedundancyModeResolverTests.cs
+LINE: 48
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_Empty_FallsBackToNone()
+MESSAGE: Method 'Resolve_Empty_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FullyHealthy_Primary_ReturnsBase()
+MESSAGE: Method 'FullyHealthy_Primary_ReturnsBase()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: FullyHealthy_Secondary_ReturnsBaseMinusFifty()
+MESSAGE: Method 'FullyHealthy_Secondary_ReturnsBaseMinusFifty()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 23
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: MxAccessDown_ReducesServiceLevel()
+MESSAGE: Method 'MxAccessDown_ReducesServiceLevel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 29
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DbDown_ReducesServiceLevel()
+MESSAGE: Method 'DbDown_ReducesServiceLevel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 35
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: BothDown_ReturnsZero()
+MESSAGE: Method 'BothDown_ReturnsZero()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ClampedTo255()
+MESSAGE: Method 'ClampedTo255()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 47
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ClampedToZero()
+MESSAGE: Method 'ClampedToZero()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Redundancy/ServiceLevelCalculatorTests.cs
+LINE: 53
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ZeroBase_BothHealthy_ReturnsZero()
+MESSAGE: Method 'ZeroBase_BothHealthy_ReturnsZero()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 9
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_HasNoneProfile()
+MESSAGE: Method 'DefaultConfig_HasNoneProfile()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 17
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_AutoAcceptTrue()
+MESSAGE: Method 'DefaultConfig_AutoAcceptTrue()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 24
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_RejectSha1True()
+MESSAGE: Method 'DefaultConfig_RejectSha1True()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 31
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_MinKeySize2048()
+MESSAGE: Method 'DefaultConfig_MinKeySize2048()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 38
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_PkiRootPathNull()
+MESSAGE: Method 'DefaultConfig_PkiRootPathNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileConfigurationTests.cs
+LINE: 45
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: DefaultConfig_CertificateSubjectNull()
+MESSAGE: Method 'DefaultConfig_CertificateSubjectNull()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 11
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_DefaultNone_ReturnsSingleNonePolicy()
+MESSAGE: Method 'Resolve_DefaultNone_ReturnsSingleNonePolicy()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 21
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_SignProfile_ReturnsBasic256Sha256Sign()
+MESSAGE: Method 'Resolve_SignProfile_ReturnsBasic256Sha256Sign()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 31
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_SignAndEncryptProfile_ReturnsBasic256Sha256SignAndEncrypt()
+MESSAGE: Method 'Resolve_SignAndEncryptProfile_ReturnsBasic256Sha256SignAndEncrypt()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 41
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_MultipleProfiles_ReturnsExpectedPolicies()
+MESSAGE: Method 'Resolve_MultipleProfiles_ReturnsExpectedPolicies()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 55
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_DuplicateProfiles_Deduplicated()
+MESSAGE: Method 'Resolve_DuplicateProfiles_Deduplicated()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 66
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_UnknownProfile_SkippedWithWarning()
+MESSAGE: Method 'Resolve_UnknownProfile_SkippedWithWarning()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 78
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_EmptyList_FallsBackToNone()
+MESSAGE: Method 'Resolve_EmptyList_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 88
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_NullList_FallsBackToNone()
+MESSAGE: Method 'Resolve_NullList_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 97
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_AllUnknownProfiles_FallsBackToNone()
+MESSAGE: Method 'Resolve_AllUnknownProfiles_FallsBackToNone()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 106
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_CaseInsensitive()
+MESSAGE: Method 'Resolve_CaseInsensitive()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 116
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: Resolve_WhitespaceEntries_Skipped()
+MESSAGE: Method 'Resolve_WhitespaceEntries_Skipped()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Security/SecurityProfileResolverTests.cs
+LINE: 125
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: ValidProfileNames_ContainsExpectedEntries()
+MESSAGE: Method 'ValidProfileNames_ContainsExpectedEntries()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 136
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_WhenConnected_ReturnsHealthyStatus()
+MESSAGE: Method 'GetHealthData_WhenConnected_ReturnsHealthyStatus()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 147
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_WhenDisconnected_ReturnsUnhealthyStatus()
+MESSAGE: Method 'GetHealthData_WhenDisconnected_ReturnsUnhealthyStatus()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 163
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_NoRedundancy_ServiceLevel255WhenHealthy()
+MESSAGE: Method 'GetHealthData_NoRedundancy_ServiceLevel255WhenHealthy()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 175
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_WithRedundancy_IncludesRoleAndServiceLevel()
+MESSAGE: Method 'GetHealthData_WithRedundancy_IncludesRoleAndServiceLevel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 187
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_SecondaryRole_LowerServiceLevel()
+MESSAGE: Method 'GetHealthData_SecondaryRole_LowerServiceLevel()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 196
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_ContainsUptime()
+MESSAGE: Method 'GetHealthData_ContainsUptime()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 205
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GetHealthData_ContainsTimestamp()
+MESSAGE: Method 'GetHealthData_ContainsTimestamp()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 214
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GenerateHealthJson_ContainsExpectedFields()
+MESSAGE: Method 'GenerateHealthJson_ContainsExpectedFields()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 229
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GenerateHealthHtml_ContainsStatusBadge()
+MESSAGE: Method 'GenerateHealthHtml_ContainsStatusBadge()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 240
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GenerateHealthHtml_ContainsComponentCards()
+MESSAGE: Method 'GenerateHealthHtml_ContainsComponentCards()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 251
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GenerateHealthHtml_WithRedundancy_ShowsRoleAndMode()
+MESSAGE: Method 'GenerateHealthHtml_WithRedundancy_ShowsRoleAndMode()' is missing XML documentation.
+
+---
+
+FILE: /Users/dohertj2/Desktop/lmxopcua/tests/ZB.MOM.WW.LmxOpcUa.Tests/Status/StatusReportServiceTests.cs
+LINE: 261
+CATEGORY: MissingDoc
+SEVERITY: Error
+MEMBER: Method
+SIGNATURE: GenerateHealthHtml_ContainsAutoRefresh()
+MESSAGE: Method 'GenerateHealthHtml_ContainsAutoRefresh()' is missing XML documentation.
+
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
index 98cfbca..3c541ce 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/CommandBase.cs
@@ -17,30 +17,56 @@ public abstract class CommandBase : ICommand
private readonly IOpcUaClientServiceFactory _factory;
+ ///
+ /// Initializes a CLI command with the shared OPC UA client factory used to create per-command sessions.
+ ///
+ /// The factory that creates the shared client service for the command execution.
protected CommandBase(IOpcUaClientServiceFactory factory)
{
_factory = factory;
}
+ ///
+ /// Gets the primary OPC UA endpoint URL the command should connect to.
+ ///
[CommandOption("url", 'u', Description = "OPC UA server endpoint URL", IsRequired = true)]
public string Url { get; init; } = default!;
+ ///
+ /// Gets the optional username used for authenticated OPC UA sessions.
+ ///
[CommandOption("username", 'U', Description = "Username for authentication")]
public string? Username { get; init; }
+ ///
+ /// Gets the optional password paired with for authenticated OPC UA sessions.
+ ///
[CommandOption("password", 'P', Description = "Password for authentication")]
public string? Password { get; init; }
+ ///
+ /// Gets the transport security mode requested by the operator for this CLI session.
+ ///
[CommandOption("security", 'S',
Description = "Transport security: none, sign, encrypt, signandencrypt (default: none)")]
public string Security { get; init; } = "none";
+ ///
+ /// Gets the optional comma-separated failover endpoints that should be tried if the primary endpoint is unavailable.
+ ///
[CommandOption("failover-urls", 'F', Description = "Comma-separated failover endpoint URLs for redundancy")]
public string? FailoverUrls { get; init; }
+ ///
+ /// Gets a value indicating whether verbose Serilog output should be enabled for troubleshooting.
+ ///
[CommandOption("verbose", Description = "Enable verbose/debug logging")]
public bool Verbose { get; init; }
+ ///
+ /// Executes the command-specific workflow against the configured OPC UA endpoint.
+ ///
+ /// The CLI console used for output and cancellation handling.
public abstract ValueTask ExecuteAsync(IConsole console);
///
@@ -70,6 +96,7 @@ public abstract class CommandBase : ICommand
/// Creates a new , connects it using the common options,
/// and returns both the service and the connection info.
///
+ /// The cancellation token that aborts connection setup for the command.
protected async Task<(IOpcUaClientService Service, ConnectionInfo Info)> CreateServiceAndConnectAsync(
CancellationToken ct)
{
@@ -94,4 +121,4 @@ public abstract class CommandBase : ICommand
Log.Logger = config.CreateLogger();
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/AlarmsCommand.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/AlarmsCommand.cs
index 32f38fc..dabd1ce 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/AlarmsCommand.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/AlarmsCommand.cs
@@ -8,19 +8,36 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
[Command("alarms", Description = "Subscribe to alarm events")]
public class AlarmsCommand : CommandBase
{
+ ///
+ /// Creates the alarm-monitoring command used to stream OPC UA condition events to the terminal.
+ ///
+ /// The factory that creates the shared client service for the command run.
public AlarmsCommand(IOpcUaClientServiceFactory factory) : base(factory)
{
}
+ ///
+ /// Gets the optional source node whose alarm events should be monitored instead of the server root.
+ ///
[CommandOption("node", 'n', Description = "Node ID to monitor for events (default: Server node)")]
public string? NodeId { get; init; }
+ ///
+ /// Gets the publishing interval, in milliseconds, for the alarm subscription.
+ ///
[CommandOption("interval", 'i', Description = "Publishing interval in milliseconds")]
public int Interval { get; init; } = 1000;
+ ///
+ /// Gets a value indicating whether retained alarm conditions should be refreshed immediately after subscribing.
+ ///
[CommandOption("refresh", Description = "Request a ConditionRefresh after subscribing")]
public bool Refresh { get; init; }
+ ///
+ /// Connects to the server, subscribes to alarm events, and streams operator-facing alarm state changes to the console.
+ ///
+ /// The CLI console used for output and cancellation handling.
public override async ValueTask ExecuteAsync(IConsole console)
{
ConfigureLogging();
@@ -83,4 +100,4 @@ public class AlarmsCommand : CommandBase
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/BrowseCommand.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/BrowseCommand.cs
index 9fbfbaf..550db46 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/BrowseCommand.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/BrowseCommand.cs
@@ -9,19 +9,36 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
[Command("browse", Description = "Browse the OPC UA address space")]
public class BrowseCommand : CommandBase
{
+ ///
+ /// Creates the browse command used to inspect the server address space from the terminal.
+ ///
+ /// The factory that creates the shared client service for the command run.
public BrowseCommand(IOpcUaClientServiceFactory factory) : base(factory)
{
}
+ ///
+ /// Gets the optional starting node for the browse, defaulting to the Objects folder.
+ ///
[CommandOption("node", 'n', Description = "Node ID to browse (default: Objects folder)")]
public string? NodeId { get; init; }
+ ///
+ /// Gets the maximum browse depth the command should traverse.
+ ///
[CommandOption("depth", 'd', Description = "Maximum browse depth")]
public int Depth { get; init; } = 1;
+ ///
+ /// Gets a value indicating whether child nodes should be traversed recursively.
+ ///
[CommandOption("recursive", 'r', Description = "Browse recursively (uses --depth as max depth)")]
public bool Recursive { get; init; }
+ ///
+ /// Connects to the server and prints a tree view of the requested address-space branch.
+ ///
+ /// The CLI console used for output and cancellation handling.
public override async ValueTask ExecuteAsync(IConsole console)
{
ConfigureLogging();
@@ -77,4 +94,4 @@ public class BrowseCommand : CommandBase
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ConnectCommand.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ConnectCommand.cs
index 20da987..2d90f70 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ConnectCommand.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ConnectCommand.cs
@@ -7,10 +7,18 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
[Command("connect", Description = "Test connection to an OPC UA server")]
public class ConnectCommand : CommandBase
{
+ ///
+ /// Creates the connectivity test command used to verify endpoint reachability and negotiated security settings.
+ ///
+ /// The factory that creates the shared client service for the command run.
public ConnectCommand(IOpcUaClientServiceFactory factory) : base(factory)
{
}
+ ///
+ /// Connects to the server and prints the negotiated endpoint details for operator verification.
+ ///
+ /// The CLI console used for output and cancellation handling.
public override async ValueTask ExecuteAsync(IConsole console)
{
ConfigureLogging();
@@ -34,4 +42,4 @@ public class ConnectCommand : CommandBase
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
index 711638b..d6a58ea 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/HistoryReadCommand.cs
@@ -10,28 +10,54 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
[Command("historyread", Description = "Read historical data from a node")]
public class HistoryReadCommand : CommandBase
{
+ ///
+ /// Creates the historical-data command used to inspect raw or aggregate history for a node.
+ ///
+ /// The factory that creates the shared client service for the command run.
public HistoryReadCommand(IOpcUaClientServiceFactory factory) : base(factory)
{
}
+ ///
+ /// Gets the historized node to query.
+ ///
[CommandOption("node", 'n', Description = "Node ID (e.g. ns=2;s=MyNode)", IsRequired = true)]
public string NodeId { get; init; } = default!;
+ ///
+ /// Gets the optional history start time string supplied by the operator.
+ ///
[CommandOption("start", Description = "Start time (ISO 8601 or date string, default: 24 hours ago)")]
public string? StartTime { get; init; }
+ ///
+ /// Gets the optional history end time string supplied by the operator.
+ ///
[CommandOption("end", Description = "End time (ISO 8601 or date string, default: now)")]
public string? EndTime { get; init; }
+ ///
+ /// Gets the maximum number of raw values the command should print.
+ ///
[CommandOption("max", Description = "Maximum number of values to return")]
public int MaxValues { get; init; } = 1000;
+ ///
+ /// Gets the optional aggregate name used when the operator wants processed history instead of raw samples.
+ ///
[CommandOption("aggregate", Description = "Aggregate function: Average, Minimum, Maximum, Count, Start, End")]
public string? Aggregate { get; init; }
+ ///
+ /// Gets the aggregate bucket interval, in milliseconds, for processed history reads.
+ ///
[CommandOption("interval", Description = "Processing interval in milliseconds for aggregates")]
public double IntervalMs { get; init; } = 3600000;
+ ///
+ /// Connects to the server and prints raw or processed historical values for the requested node.
+ ///
+ /// The CLI console used for output and cancellation handling.
public override async ValueTask ExecuteAsync(IConsole console)
{
ConfigureLogging();
@@ -105,4 +131,4 @@ public class HistoryReadCommand : CommandBase
$"Unknown aggregate: '{name}'. Supported: Average, Minimum, Maximum, Count, Start, End")
};
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ReadCommand.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ReadCommand.cs
index 42dccb4..d249baa 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ReadCommand.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/ReadCommand.cs
@@ -8,13 +8,24 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
[Command("read", Description = "Read a value from a node")]
public class ReadCommand : CommandBase
{
+ ///
+ /// Creates the point-read command used to inspect the current value of a node.
+ ///
+ /// The factory that creates the shared client service for the command run.
public ReadCommand(IOpcUaClientServiceFactory factory) : base(factory)
{
}
+ ///
+ /// Gets the node whose current value should be read.
+ ///
[CommandOption("node", 'n', Description = "Node ID (e.g. ns=2;s=MyNode)", IsRequired = true)]
public string NodeId { get; init; } = default!;
+ ///
+ /// Connects to the server and prints the current value, status, and timestamps for the requested node.
+ ///
+ /// The CLI console used for output and cancellation handling.
public override async ValueTask ExecuteAsync(IConsole console)
{
ConfigureLogging();
@@ -42,4 +53,4 @@ public class ReadCommand : CommandBase
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/RedundancyCommand.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/RedundancyCommand.cs
index 0ce3661..a887910 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/RedundancyCommand.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/RedundancyCommand.cs
@@ -7,10 +7,18 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
[Command("redundancy", Description = "Read redundancy state from an OPC UA server")]
public class RedundancyCommand : CommandBase
{
+ ///
+ /// Creates the redundancy-inspection command used to display service-level and partner-server status.
+ ///
+ /// The factory that creates the shared client service for the command run.
public RedundancyCommand(IOpcUaClientServiceFactory factory) : base(factory)
{
}
+ ///
+ /// Connects to the server and prints redundancy mode, service level, and partner-server identity data.
+ ///
+ /// The CLI console used for output and cancellation handling.
public override async ValueTask ExecuteAsync(IConsole console)
{
ConfigureLogging();
@@ -42,4 +50,4 @@ public class RedundancyCommand : CommandBase
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/SubscribeCommand.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/SubscribeCommand.cs
index 90c11b8..a129298 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/SubscribeCommand.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/SubscribeCommand.cs
@@ -8,16 +8,30 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
[Command("subscribe", Description = "Monitor a node for value changes")]
public class SubscribeCommand : CommandBase
{
+ ///
+ /// Creates the live-data subscription command used to watch runtime value changes from the terminal.
+ ///
+ /// The factory that creates the shared client service for the command run.
public SubscribeCommand(IOpcUaClientServiceFactory factory) : base(factory)
{
}
+ ///
+ /// Gets the node whose live value changes should be monitored.
+ ///
[CommandOption("node", 'n', Description = "Node ID to monitor", IsRequired = true)]
public string NodeId { get; init; } = default!;
+ ///
+ /// Gets the sampling interval, in milliseconds, for the monitored item.
+ ///
[CommandOption("interval", 'i', Description = "Sampling interval in milliseconds")]
public int Interval { get; init; } = 1000;
+ ///
+ /// Connects to the server and streams live data-change notifications for the requested node.
+ ///
+ /// The CLI console used for output and cancellation handling.
public override async ValueTask ExecuteAsync(IConsole console)
{
ConfigureLogging();
@@ -61,4 +75,4 @@ public class SubscribeCommand : CommandBase
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/WriteCommand.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/WriteCommand.cs
index a836dfd..c30b2f1 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/WriteCommand.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.CLI/Commands/WriteCommand.cs
@@ -10,16 +10,30 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
[Command("write", Description = "Write a value to a node")]
public class WriteCommand : CommandBase
{
+ ///
+ /// Creates the write command used to update a node from the terminal.
+ ///
+ /// The factory that creates the shared client service for the command run.
public WriteCommand(IOpcUaClientServiceFactory factory) : base(factory)
{
}
+ ///
+ /// Gets the node whose value should be updated.
+ ///
[CommandOption("node", 'n', Description = "Node ID (e.g. ns=2;s=MyNode)", IsRequired = true)]
public string NodeId { get; init; } = default!;
+ ///
+ /// Gets the raw operator-entered value that will be converted to the node's runtime type before writing.
+ ///
[CommandOption("value", 'v', Description = "Value to write", IsRequired = true)]
public string Value { get; init; } = default!;
+ ///
+ /// Connects to the server, converts the supplied value to the node's current data type, and issues the write.
+ ///
+ /// The CLI console used for output and cancellation handling.
public override async ValueTask ExecuteAsync(IConsole console)
{
ConfigureLogging();
@@ -51,4 +65,4 @@ public class WriteCommand : CommandBase
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
index f1a5086..b54b6b8 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSessionAdapter.cs
@@ -12,20 +12,40 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
private static readonly ILogger Logger = Log.ForContext();
private readonly Session _session;
+ ///
+ /// Wraps a live OPC UA session so the shared client can issue runtime operations through a testable adapter surface.
+ ///
+ /// The connected OPC UA session used for browsing, reads, writes, history, and subscriptions.
public DefaultSessionAdapter(Session session)
{
_session = session;
}
+ ///
public bool Connected => _session.Connected;
+
+ ///
public string SessionId => _session.SessionId?.ToString() ?? string.Empty;
+
+ ///
public string SessionName => _session.SessionName ?? string.Empty;
+
+ ///
public string EndpointUrl => _session.Endpoint?.EndpointUrl ?? string.Empty;
+
+ ///
public string ServerName => _session.Endpoint?.Server?.ApplicationName?.Text ?? string.Empty;
+
+ ///
public string SecurityMode => _session.Endpoint?.SecurityMode.ToString() ?? string.Empty;
+
+ ///
public string SecurityPolicyUri => _session.Endpoint?.SecurityPolicyUri ?? string.Empty;
+
+ ///
public NamespaceTable NamespaceUris => _session.NamespaceUris;
+ ///
public void RegisterKeepAliveHandler(Action callback)
{
_session.KeepAlive += (_, e) =>
@@ -35,11 +55,13 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
};
}
+ ///
public async Task ReadValueAsync(NodeId nodeId, CancellationToken ct)
{
return await _session.ReadValueAsync(nodeId, ct);
}
+ ///
public async Task WriteValueAsync(NodeId nodeId, DataValue value, CancellationToken ct)
{
var writeValue = new WriteValue
@@ -54,6 +76,7 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
return response.Results[0];
}
+ ///
public async Task<(byte[]? ContinuationPoint, ReferenceDescriptionCollection References)> BrowseAsync(
NodeId nodeId, uint nodeClassMask, CancellationToken ct)
{
@@ -70,6 +93,7 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
return (continuationPoint, references ?? []);
}
+ ///
public async Task<(byte[]? ContinuationPoint, ReferenceDescriptionCollection References)> BrowseNextAsync(
byte[] continuationPoint, CancellationToken ct)
{
@@ -77,6 +101,7 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
return (nextCp, nextRefs ?? []);
}
+ ///
public async Task HasChildrenAsync(NodeId nodeId, CancellationToken ct)
{
var (_, _, references) = await _session.BrowseAsync(
@@ -92,6 +117,7 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
return references != null && references.Count > 0;
}
+ ///
public async Task> HistoryReadRawAsync(
NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
{
@@ -142,6 +168,7 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
return allValues;
}
+ ///
public async Task> HistoryReadAggregateAsync(
NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs,
CancellationToken ct)
@@ -182,6 +209,7 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
return allValues;
}
+ ///
public async Task CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct)
{
var subscription = new Subscription(_session.DefaultSubscription)
@@ -196,6 +224,7 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
return new DefaultSubscriptionAdapter(subscription);
}
+ ///
public async Task CloseAsync(CancellationToken ct)
{
try
@@ -208,6 +237,9 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
}
}
+ ///
+ /// Releases the wrapped OPC UA session when the shared client shuts down or swaps endpoints during failover.
+ ///
public void Dispose()
{
try
@@ -221,6 +253,7 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
_session.Dispose();
}
+ ///
public async Task?> CallMethodAsync(NodeId objectId, NodeId methodId, object[] inputArguments,
CancellationToken ct = default)
{
@@ -243,4 +276,4 @@ internal sealed class DefaultSessionAdapter : ISessionAdapter
return callResult.OutputArguments?.Select(v => v.Value).ToList();
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
index 89bb573..ad523b0 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/DefaultSubscriptionAdapter.cs
@@ -13,13 +13,19 @@ internal sealed class DefaultSubscriptionAdapter : ISubscriptionAdapter
private readonly Dictionary _monitoredItems = new();
private readonly Subscription _subscription;
+ ///
+ /// Wraps a live OPC UA subscription so client code can manage monitored items through a testable abstraction.
+ ///
+ /// The underlying OPC UA subscription that owns monitored items for this client workflow.
public DefaultSubscriptionAdapter(Subscription subscription)
{
_subscription = subscription;
}
+ ///
public uint SubscriptionId => _subscription.Id;
+ ///
public async Task AddDataChangeMonitoredItemAsync(
NodeId nodeId, int samplingIntervalMs, Action onDataChange, CancellationToken ct)
{
@@ -46,6 +52,7 @@ internal sealed class DefaultSubscriptionAdapter : ISubscriptionAdapter
return handle;
}
+ ///
public async Task RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct)
{
if (!_monitoredItems.TryGetValue(clientHandle, out var item))
@@ -58,6 +65,7 @@ internal sealed class DefaultSubscriptionAdapter : ISubscriptionAdapter
Logger.Debug("Removed monitored item handle={Handle}", clientHandle);
}
+ ///
public async Task AddEventMonitoredItemAsync(
NodeId nodeId, int samplingIntervalMs, EventFilter filter, Action onEvent, CancellationToken ct)
{
@@ -86,11 +94,13 @@ internal sealed class DefaultSubscriptionAdapter : ISubscriptionAdapter
return handle;
}
+ ///
public async Task ConditionRefreshAsync(CancellationToken ct)
{
await _subscription.ConditionRefreshAsync(ct);
}
+ ///
public async Task DeleteAsync(CancellationToken ct)
{
try
@@ -105,6 +115,9 @@ internal sealed class DefaultSubscriptionAdapter : ISubscriptionAdapter
_monitoredItems.Clear();
}
+ ///
+ /// Releases the wrapped OPC UA subscription and clears tracked monitored items held by the adapter.
+ ///
public void Dispose()
{
try
@@ -117,4 +130,4 @@ internal sealed class DefaultSubscriptionAdapter : ISubscriptionAdapter
_monitoredItems.Clear();
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
index 01ba0b6..a6e98dc 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISessionAdapter.cs
@@ -7,59 +7,134 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
///
internal interface ISessionAdapter : IDisposable
{
+ ///
+ /// Gets a value indicating whether the underlying OPC UA session is currently usable for client operations.
+ ///
bool Connected { get; }
+
+ ///
+ /// Gets the server-assigned session identifier for diagnostics and failover reporting.
+ ///
string SessionId { get; }
+
+ ///
+ /// Gets the friendly session name presented to the OPC UA server.
+ ///
string SessionName { get; }
+
+ ///
+ /// Gets the active endpoint URL that this adapter is connected to.
+ ///
string EndpointUrl { get; }
+
+ ///
+ /// Gets the server name reported by the connected OPC UA endpoint.
+ ///
string ServerName { get; }
+
+ ///
+ /// Gets the negotiated OPC UA message security mode for the session.
+ ///
string SecurityMode { get; }
+
+ ///
+ /// Gets the negotiated OPC UA security policy URI for the session.
+ ///
string SecurityPolicyUri { get; }
+
+ ///
+ /// Gets the namespace table used to resolve expanded node identifiers returned by browse operations.
+ ///
NamespaceTable NamespaceUris { get; }
///
/// Registers a keep-alive callback. The callback receives true when the session is healthy, false on failure.
///
+ /// The callback used by higher-level clients to trigger reconnect or failover behavior.
void RegisterKeepAliveHandler(Action callback);
+ ///
+ /// Reads the current value for a node from the connected OPC UA server.
+ ///
+ /// The node whose current runtime value should be read.
+ /// The cancellation token that aborts the server read if the client cancels the request.
Task ReadValueAsync(NodeId nodeId, CancellationToken ct = default);
+
+ ///
+ /// Writes a typed value to a node on the connected OPC UA server.
+ ///
+ /// The node whose value should be updated.
+ /// The typed OPC UA data value to write to the server.
+ /// The cancellation token that aborts the write if the client cancels the request.
Task WriteValueAsync(NodeId nodeId, DataValue value, CancellationToken ct = default);
///
/// Browses forward hierarchical references from the given node.
/// Returns (continuationPoint, references).
///
+ /// The starting node for the hierarchical browse.
+ /// The node classes that should be returned to the caller.
+ /// The cancellation token that aborts the browse request.
Task<(byte[]? ContinuationPoint, ReferenceDescriptionCollection References)> BrowseAsync(
NodeId nodeId, uint nodeClassMask = 0, CancellationToken ct = default);
///
/// Continues a browse from a continuation point.
///
+ /// The continuation token returned by a prior browse result page.
+ /// The cancellation token that aborts the browse-next request.
Task<(byte[]? ContinuationPoint, ReferenceDescriptionCollection References)> BrowseNextAsync(
byte[] continuationPoint, CancellationToken ct = default);
///
/// Checks whether a node has any forward hierarchical child references.
///
+ /// The node to inspect for child objects or variables.
+ /// The cancellation token that aborts the child lookup.
Task HasChildrenAsync(NodeId nodeId, CancellationToken ct = default);
///
/// Reads raw historical data.
///
+ /// The historized node whose raw samples should be retrieved.
+ /// The inclusive start of the requested history window.
+ /// The inclusive end of the requested history window.
+ /// The maximum number of raw samples to return to the client.
+ /// The cancellation token that aborts the history read.
Task> HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime,
int maxValues, CancellationToken ct = default);
///
/// Reads processed/aggregate historical data.
///
+ /// The historized node whose processed values should be retrieved.
+ /// The inclusive start of the requested processed-history window.
+ /// The inclusive end of the requested processed-history window.
+ /// The OPC UA aggregate function to evaluate over the history window.
+ /// The processing interval, in milliseconds, for each aggregate bucket.
+ /// The cancellation token that aborts the aggregate history read.
Task> HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime,
NodeId aggregateId, double intervalMs, CancellationToken ct = default);
///
/// Creates a subscription adapter for this session.
///
+ /// The requested publishing interval for monitored items on the new subscription.
+ /// The cancellation token that aborts subscription creation.
Task CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct = default);
+ ///
+ /// Calls an OPC UA method node with the provided input arguments.
+ ///
+ /// The object node that owns the target method.
+ /// The method node to invoke.
+ /// The ordered input arguments supplied to the server method call.
+ /// The cancellation token that aborts the method invocation.
Task?> CallMethodAsync(NodeId objectId, NodeId methodId, object[] inputArguments, CancellationToken ct = default);
+ ///
+ /// Closes the underlying session gracefully before the adapter is disposed or replaced during failover.
+ ///
+ /// The cancellation token that aborts the close request.
Task CloseAsync(CancellationToken ct = default);
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISubscriptionAdapter.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISubscriptionAdapter.cs
index d02ac40..a1cbba0 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISubscriptionAdapter.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/Adapters/ISubscriptionAdapter.cs
@@ -7,6 +7,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
///
internal interface ISubscriptionAdapter : IDisposable
{
+ ///
+ /// Gets the server-assigned subscription identifier for diagnostics and reconnect workflows.
+ ///
uint SubscriptionId { get; }
///
@@ -23,6 +26,8 @@ internal interface ISubscriptionAdapter : IDisposable
///
/// Removes a previously added monitored item by its client handle.
///
+ /// The client handle returned when the monitored item was created.
+ /// The cancellation token that aborts the monitored-item removal.
Task RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct = default);
///
@@ -40,10 +45,12 @@ internal interface ISubscriptionAdapter : IDisposable
///
/// Requests a condition refresh for this subscription.
///
+ /// The cancellation token that aborts the condition refresh request.
Task ConditionRefreshAsync(CancellationToken ct = default);
///
/// Removes all monitored items and deletes the subscription.
///
+ /// The cancellation token that aborts subscription deletion.
Task DeleteAsync(CancellationToken ct = default);
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
index 60224a9..7fdb7e6 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/IOpcUaClientService.cs
@@ -9,33 +9,136 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.Shared;
///
public interface IOpcUaClientService : IDisposable
{
+ ///
+ /// Gets a value indicating whether the client is currently connected to an OPC UA endpoint.
+ ///
bool IsConnected { get; }
+
+ ///
+ /// Gets the current connection metadata shown to CLI and UI operators after a successful connect or failover.
+ ///
ConnectionInfo? CurrentConnectionInfo { get; }
+
+ ///
+ /// Connects the client to the configured OPC UA endpoint set, including failover-capable endpoints when provided.
+ ///
+ /// The endpoint, security, and authentication settings used to establish the session.
+ /// The cancellation token that aborts the connect workflow.
Task ConnectAsync(ConnectionSettings settings, CancellationToken ct = default);
+
+ ///
+ /// Disconnects from the active OPC UA endpoint and tears down subscriptions owned by the client.
+ ///
+ /// The cancellation token that aborts disconnect cleanup.
Task DisconnectAsync(CancellationToken ct = default);
+ ///
+ /// Reads the current value of an OPC UA node.
+ ///
+ /// The node whose value should be retrieved.
+ /// The cancellation token that aborts the read request.
Task ReadValueAsync(NodeId nodeId, CancellationToken ct = default);
+
+ ///
+ /// Writes an operator-supplied value to an OPC UA node after applying client-side type conversion when needed.
+ ///
+ /// The node whose value should be updated.
+ /// The raw value supplied by the CLI or UI workflow.
+ /// The cancellation token that aborts the write request.
Task WriteValueAsync(NodeId nodeId, object value, CancellationToken ct = default);
+ ///
+ /// Browses the children of a node so the client can build an address-space tree for operators.
+ ///
+ /// The node to browse, or when omitted.
+ /// The cancellation token that aborts the browse request.
Task> BrowseAsync(NodeId? parentNodeId = null, CancellationToken ct = default);
+ ///
+ /// Subscribes to live data changes for a node.
+ ///
+ /// The node whose value changes should be monitored.
+ /// The monitored-item sampling and publishing interval in milliseconds.
+ /// The cancellation token that aborts subscription creation.
Task SubscribeAsync(NodeId nodeId, int intervalMs = 1000, CancellationToken ct = default);
+
+ ///
+ /// Removes a previously created live-data subscription for a node.
+ ///
+ /// The node whose live-data subscription should be removed.
+ /// The cancellation token that aborts the unsubscribe request.
Task UnsubscribeAsync(NodeId nodeId, CancellationToken ct = default);
+ ///
+ /// Subscribes to OPC UA alarm and condition events for a source node or the server root.
+ ///
+ /// The event source to monitor, or the server object when omitted.
+ /// The publishing interval in milliseconds for the alarm subscription.
+ /// The cancellation token that aborts alarm subscription creation.
Task SubscribeAlarmsAsync(NodeId? sourceNodeId = null, int intervalMs = 1000, CancellationToken ct = default);
+
+ ///
+ /// Removes the active alarm subscription.
+ ///
+ /// The cancellation token that aborts alarm subscription cleanup.
Task UnsubscribeAlarmsAsync(CancellationToken ct = default);
+
+ ///
+ /// Requests retained alarm conditions again so a client can repopulate its alarm list after reconnecting.
+ ///
+ /// The cancellation token that aborts the condition refresh request.
Task RequestConditionRefreshAsync(CancellationToken ct = default);
+
+ ///
+ /// Acknowledges an active condition using the event identifier returned by an alarm notification.
+ ///
+ /// The condition node associated with the alarm event being acknowledged.
+ /// The event identifier returned by the OPC UA server for the alarm event.
+ /// The operator acknowledgment comment to write with the method call.
+ /// The cancellation token that aborts the acknowledgment request.
Task AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment, CancellationToken ct = default);
+ ///
+ /// Reads raw historical samples for a historized node.
+ ///
+ /// The historized node whose samples should be read.
+ /// The inclusive start of the requested history range.
+ /// The inclusive end of the requested history range.
+ /// The maximum number of raw values to return.
+ /// The cancellation token that aborts the history read.
Task> HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime,
int maxValues = 1000, CancellationToken ct = default);
+ ///
+ /// Reads aggregate historical values for a historized node using an OPC UA aggregate function.
+ ///
+ /// The historized node whose processed values should be read.
+ /// The inclusive start of the requested processed-history range.
+ /// The inclusive end of the requested processed-history range.
+ /// The aggregate function the operator selected for processed history.
+ /// The processing interval, in milliseconds, for each aggregate bucket.
+ /// The cancellation token that aborts the processed history request.
Task> HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime,
AggregateType aggregate, double intervalMs = 3600000, CancellationToken ct = default);
+ ///
+ /// Reads redundancy status data such as redundancy mode, service level, and partner endpoint URIs.
+ ///
+ /// The cancellation token that aborts redundancy inspection.
Task GetRedundancyInfoAsync(CancellationToken ct = default);
+ ///
+ /// Raised when a subscribed node produces a new live data value.
+ ///
event EventHandler? DataChanged;
+
+ ///
+ /// Raised when an alarm or condition event is received from the server.
+ ///
event EventHandler? AlarmEvent;
+
+ ///
+ /// Raised when the client changes connection state during connect, disconnect, or failover.
+ ///
event EventHandler? ConnectionStateChanged;
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
index 4a10f78..e809250 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.Shared/OpcUaClientService.cs
@@ -38,6 +38,9 @@ public sealed class OpcUaClientService : IOpcUaClientService
///
/// Creates a new OpcUaClientService with the specified adapter dependencies.
///
+ /// Builds the application configuration and certificate settings for the client session.
+ /// Selects the best matching endpoint for the requested URL and security mode.
+ /// Creates the underlying OPC UA session used for runtime operations.
internal OpcUaClientService(
IApplicationConfigurationFactory configFactory,
IEndpointDiscovery endpointDiscovery,
@@ -59,13 +62,22 @@ public sealed class OpcUaClientService : IOpcUaClientService
{
}
+ ///
public event EventHandler? DataChanged;
+
+ ///
public event EventHandler? AlarmEvent;
+
+ ///
public event EventHandler? ConnectionStateChanged;
+ ///
public bool IsConnected => _state == ConnectionState.Connected && _session?.Connected == true;
+
+ ///
public ConnectionInfo? CurrentConnectionInfo { get; private set; }
+ ///
public async Task ConnectAsync(ConnectionSettings settings, CancellationToken ct = default)
{
ThrowIfDisposed();
@@ -99,6 +111,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
}
}
+ ///
public async Task DisconnectAsync(CancellationToken ct = default)
{
if (_state == ConnectionState.Disconnected)
@@ -140,6 +153,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
}
}
+ ///
public async Task ReadValueAsync(NodeId nodeId, CancellationToken ct = default)
{
ThrowIfDisposed();
@@ -147,6 +161,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
return await _session!.ReadValueAsync(nodeId, ct);
}
+ ///
public async Task WriteValueAsync(NodeId nodeId, object value, CancellationToken ct = default)
{
ThrowIfDisposed();
@@ -164,6 +179,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
return await _session!.WriteValueAsync(nodeId, dataValue, ct);
}
+ ///
public async Task> BrowseAsync(NodeId? parentNodeId = null,
CancellationToken ct = default)
{
@@ -200,6 +216,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
return results;
}
+ ///
public async Task SubscribeAsync(NodeId nodeId, int intervalMs = 1000, CancellationToken ct = default)
{
ThrowIfDisposed();
@@ -218,6 +235,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
Logger.Debug("Subscribed to data changes on {NodeId}", nodeId);
}
+ ///
public async Task UnsubscribeAsync(NodeId nodeId, CancellationToken ct = default)
{
ThrowIfDisposed();
@@ -232,6 +250,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
Logger.Debug("Unsubscribed from data changes on {NodeId}", nodeId);
}
+ ///
public async Task SubscribeAlarmsAsync(NodeId? sourceNodeId = null, int intervalMs = 1000,
CancellationToken ct = default)
{
@@ -252,6 +271,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
Logger.Debug("Subscribed to alarm events on {NodeId}", monitorNode);
}
+ ///
public async Task UnsubscribeAlarmsAsync(CancellationToken ct = default)
{
ThrowIfDisposed();
@@ -265,6 +285,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
Logger.Debug("Unsubscribed from alarm events");
}
+ ///
public async Task RequestConditionRefreshAsync(CancellationToken ct = default)
{
ThrowIfDisposed();
@@ -277,6 +298,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
Logger.Debug("Condition refresh requested");
}
+ ///
public async Task AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment,
CancellationToken ct = default)
{
@@ -299,6 +321,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
return StatusCodes.Good;
}
+ ///
public async Task> HistoryReadRawAsync(
NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues = 1000, CancellationToken ct = default)
{
@@ -307,6 +330,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
return await _session!.HistoryReadRawAsync(nodeId, startTime, endTime, maxValues, ct);
}
+ ///
public async Task> HistoryReadAggregateAsync(
NodeId nodeId, DateTime startTime, DateTime endTime, AggregateType aggregate,
double intervalMs = 3600000, CancellationToken ct = default)
@@ -317,6 +341,7 @@ public sealed class OpcUaClientService : IOpcUaClientService
return await _session!.HistoryReadAggregateAsync(nodeId, startTime, endTime, aggregateNodeId, intervalMs, ct);
}
+ ///
public async Task GetRedundancyInfoAsync(CancellationToken ct = default)
{
ThrowIfDisposed();
@@ -357,6 +382,9 @@ public sealed class OpcUaClientService : IOpcUaClientService
return new RedundancyInfo(redundancyMode, serviceLevel, serverUris, applicationUri);
}
+ ///
+ /// Releases the current session and any active monitored-item subscriptions held by the client service.
+ ///
public void Dispose()
{
if (_disposed) return;
@@ -667,4 +695,4 @@ public sealed class OpcUaClientService : IOpcUaClientService
if (_state != ConnectionState.Connected || _session == null)
throw new InvalidOperationException("Not connected to an OPC UA server.");
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
index 56387cc..75f6136 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.UI/Services/UserSettings.cs
@@ -7,14 +7,53 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
///
public sealed class UserSettings
{
+ ///
+ /// Gets or sets the last OPC UA endpoint URL entered by the user.
+ ///
public string EndpointUrl { get; set; } = "opc.tcp://localhost:4840";
+
+ ///
+ /// Gets or sets the persisted username for authenticated sessions.
+ ///
public string? Username { get; set; }
+
+ ///
+ /// Gets or sets the persisted password for authenticated sessions.
+ ///
public string? Password { get; set; }
+
+ ///
+ /// Gets or sets the transport security mode selected by the user.
+ ///
public SecurityMode SecurityMode { get; set; } = SecurityMode.None;
+
+ ///
+ /// Gets or sets the raw failover endpoint list entered in the UI.
+ ///
public string? FailoverUrls { get; set; }
+
+ ///
+ /// Gets or sets the persisted session timeout, in seconds, for new client connections.
+ ///
public int SessionTimeoutSeconds { get; set; } = 60;
+
+ ///
+ /// Gets or sets a value indicating whether untrusted server certificates should be auto-accepted.
+ ///
public bool AutoAcceptCertificates { get; set; } = true;
+
+ ///
+ /// Gets or sets the certificate store path used for client certificates and trust lists.
+ ///
public string? CertificateStorePath { get; set; }
+
+ ///
+ /// Gets or sets the node IDs that should be re-subscribed when the UI reconnects.
+ ///
public List SubscribedNodes { get; set; } = [];
+
+ ///
+ /// Gets or sets the alarm source node that should be restored when the UI reconnects.
+ ///
public string? AlarmSourceNodeId { get; set; }
}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
index b96a617..2fa23e2 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/AlarmEventViewModel.cs
@@ -7,6 +7,19 @@ namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
///
public class AlarmEventViewModel : ObservableObject
{
+ ///
+ /// Creates an alarm row model from an OPC UA condition event so the alarms tab can display and acknowledge it.
+ ///
+ /// The source object or variable name associated with the alarm.
+ /// The OPC UA condition name reported by the server.
+ /// The alarm severity value presented to the operator.
+ /// The alarm message text shown in the UI.
+ /// Indicates whether the server is retaining the alarm condition.
+ /// Indicates whether the alarm is currently active.
+ /// Indicates whether the alarm has already been acknowledged.
+ /// The event timestamp associated with the alarm state.
+ /// The OPC UA event identifier used for acknowledgment calls.
+ /// The condition node identifier used when acknowledging the alarm.
public AlarmEventViewModel(
string sourceName,
string conditionName,
@@ -31,15 +44,54 @@ public class AlarmEventViewModel : ObservableObject
ConditionNodeId = conditionNodeId;
}
+ ///
+ /// Gets the source object or variable name associated with the alarm.
+ ///
public string SourceName { get; }
+
+ ///
+ /// Gets the OPC UA condition name reported for the alarm event.
+ ///
public string ConditionName { get; }
+
+ ///
+ /// Gets the severity value shown to the operator.
+ ///
public ushort Severity { get; }
+
+ ///
+ /// Gets the alarm message text shown in the UI.
+ ///
public string Message { get; }
+
+ ///
+ /// Gets a value indicating whether the server is retaining the condition.
+ ///
public bool Retain { get; }
+
+ ///
+ /// Gets a value indicating whether the alarm is currently active.
+ ///
public bool ActiveState { get; }
+
+ ///
+ /// Gets a value indicating whether the alarm has already been acknowledged.
+ ///
public bool AckedState { get; }
+
+ ///
+ /// Gets the event timestamp displayed for the alarm row.
+ ///
public DateTime Time { get; }
+
+ ///
+ /// Gets the OPC UA event identifier needed to acknowledge the alarm.
+ ///
public byte[]? EventId { get; }
+
+ ///
+ /// Gets the condition node identifier used for acknowledgment method calls.
+ ///
public string? ConditionNodeId { get; }
/// Whether this alarm can be acknowledged (active, not yet acked, has EventId).
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
index 78a0fd3..87aeb8d 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/MainWindowViewModel.cs
@@ -58,6 +58,12 @@ public partial class MainWindowViewModel : ObservableObject
[ObservableProperty] private string? _username;
+ ///
+ /// Creates the main shell view model that coordinates connection state, browsing, subscriptions, alarms, history, and persisted settings.
+ ///
+ /// Creates the shared OPC UA client service used by all panels.
+ /// Marshals service callbacks back onto the UI thread.
+ /// Loads and saves persisted user connection settings.
public MainWindowViewModel(IOpcUaClientServiceFactory factory, IUiDispatcher dispatcher,
ISettingsService? settingsService = null)
{
@@ -71,21 +77,49 @@ public partial class MainWindowViewModel : ObservableObject
/// All available security modes.
public IReadOnlyList SecurityModes { get; } = Enum.GetValues();
+ ///
+ /// Gets a value indicating whether the shell is currently connected to an OPC UA endpoint.
+ ///
public bool IsConnected => ConnectionState == ConnectionState.Connected;
/// The currently selected tree nodes (supports multi-select).
public ObservableCollection SelectedTreeNodes { get; } = [];
+ ///
+ /// Gets the browse-tree panel view model for the address-space explorer.
+ ///
public BrowseTreeViewModel? BrowseTree { get; private set; }
+
+ ///
+ /// Gets the read/write panel view model for point operations against the selected node.
+ ///
public ReadWriteViewModel? ReadWrite { get; private set; }
+
+ ///
+ /// Gets the subscriptions panel view model for live data monitoring.
+ ///
public SubscriptionsViewModel? Subscriptions { get; private set; }
+
+ ///
+ /// Gets the alarms panel view model for active-condition monitoring and acknowledgment.
+ ///
public AlarmsViewModel? Alarms { get; private set; }
+
+ ///
+ /// Gets the history panel view model for raw and aggregate history queries.
+ ///
public HistoryViewModel? History { get; private set; }
+ ///
+ /// Gets the subscriptions tab header, including the current active subscription count when nonzero.
+ ///
public string SubscriptionsTabHeader => SubscriptionCount > 0
? $"Subscriptions ({SubscriptionCount})"
: "Subscriptions";
+ ///
+ /// Gets the alarms tab header, including the current active alarm count when nonzero.
+ ///
public string AlarmsTabHeader => ActiveAlarmCount > 0
? $"Alarms ({ActiveAlarmCount})"
: "Alarms";
@@ -355,6 +389,9 @@ public partial class MainWindowViewModel : ObservableObject
_savedAlarmSourceNodeId = s.AlarmSourceNodeId;
}
+ ///
+ /// Persists the current connection, subscription, and alarm-monitoring settings for the next UI session.
+ ///
public void SaveSettings()
{
_settingsService.Save(new UserSettings
@@ -381,4 +418,4 @@ public partial class MainWindowViewModel : ObservableObject
.Where(u => !string.IsNullOrEmpty(u))
.ToArray();
}
-}
\ No newline at end of file
+}
diff --git a/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs b/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
index 33862c7..84ccc20 100644
--- a/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
+++ b/src/ZB.MOM.WW.LmxOpcUa.Client.UI/ViewModels/SubscriptionsViewModel.cs
@@ -31,6 +31,11 @@ public partial class SubscriptionsViewModel : ObservableObject
[ObservableProperty] private int _subscriptionCount;
+ ///
+ /// Creates the subscriptions panel view model used to manage live data subscriptions and ad hoc writes from the UI.
+ ///
+ /// The shared client service that performs subscribe, unsubscribe, read, and write operations.
+ /// Marshals data-change callbacks back onto the UI thread.
public SubscriptionsViewModel(IOpcUaClientService service, IUiDispatcher dispatcher)
{
_service = service;
@@ -123,6 +128,8 @@ public partial class SubscriptionsViewModel : ObservableObject
///
/// Subscribes to a node by ID (used by context menu). Skips if already subscribed.
///
+ /// The node ID to subscribe to from the browse tree or persisted settings.
+ /// The monitored-item interval, in milliseconds, for the subscription.
public async Task AddSubscriptionForNodeAsync(string nodeIdStr, int intervalMs = 1000)
{
if (!IsConnected || string.IsNullOrWhiteSpace(nodeIdStr)) return;
@@ -151,6 +158,9 @@ public partial class SubscriptionsViewModel : ObservableObject
/// Subscribes to a node and all its Variable descendants recursively.
/// Object nodes are browsed for children; Variable nodes are subscribed directly.
///
+ /// The root node whose variables should be subscribed recursively.
+ /// The node class of the starting node so variables can be subscribed immediately.
+ /// The monitored-item interval, in milliseconds, used for created subscriptions.
public Task AddSubscriptionRecursiveAsync(string nodeIdStr, string nodeClass, int intervalMs = 1000)
{
return AddSubscriptionRecursiveAsync(nodeIdStr, nodeClass, intervalMs, maxDepth: 10, currentDepth: 0);
@@ -193,6 +203,7 @@ public partial class SubscriptionsViewModel : ObservableObject
///
/// Restores subscriptions from a saved list of node IDs.
///
+ /// The node IDs persisted from a prior UI session.
public async Task RestoreSubscriptionsAsync(IEnumerable nodeIds)
{
foreach (var nodeId in nodeIds)
@@ -203,6 +214,8 @@ public partial class SubscriptionsViewModel : ObservableObject
/// Reads the current value of a node to determine its type, validates that the raw
/// input can be parsed to that type, writes the value, and returns (success, message).
///
+ /// The node ID the operator wants to write.
+ /// The raw text value entered by the operator.
public async Task<(bool Success, string Message)> ValidateAndWriteAsync(string nodeIdStr, string rawValue)
{
try
@@ -259,4 +272,4 @@ public partial class SubscriptionsViewModel : ObservableObject
{
_service.DataChanged -= OnDataChanged;
}
-}
\ No newline at end of file
+}
diff --git a/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs b/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
index 030489f..fe46aba 100644
--- a/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
+++ b/tests/ZB.MOM.WW.LmxOpcUa.Client.CLI.Tests/Fakes/FakeOpcUaClientService.cs
@@ -69,14 +69,22 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
public Exception? WriteException { get; set; }
public Exception? ConditionRefreshException { get; set; }
- // IOpcUaClientService implementation
+ ///
public bool IsConnected => ConnectCalled && !DisconnectCalled;
+
+ ///
public ConnectionInfo? CurrentConnectionInfo => ConnectCalled ? ConnectionInfoResult : null;
+ ///
public event EventHandler? DataChanged;
+
+ ///
public event EventHandler? AlarmEvent;
+
+ ///
public event EventHandler? ConnectionStateChanged;
+ ///
public Task ConnectAsync(ConnectionSettings settings, CancellationToken ct = default)
{
ConnectCalled = true;
@@ -85,12 +93,14 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(ConnectionInfoResult);
}
+ ///
public Task DisconnectAsync(CancellationToken ct = default)
{
DisconnectCalled = true;
return Task.CompletedTask;
}
+ ///
public Task ReadValueAsync(NodeId nodeId, CancellationToken ct = default)
{
ReadNodeIds.Add(nodeId);
@@ -98,6 +108,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(ReadValueResult);
}
+ ///
public Task WriteValueAsync(NodeId nodeId, object value, CancellationToken ct = default)
{
WriteValues.Add((nodeId, value));
@@ -105,36 +116,42 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(WriteStatusCodeResult);
}
+ ///
public Task> BrowseAsync(NodeId? parentNodeId = null, CancellationToken ct = default)
{
BrowseNodeIds.Add(parentNodeId);
return Task.FromResult(BrowseResults);
}
+ ///
public Task SubscribeAsync(NodeId nodeId, int intervalMs = 1000, CancellationToken ct = default)
{
SubscribeCalls.Add((nodeId, intervalMs));
return Task.CompletedTask;
}
+ ///
public Task UnsubscribeAsync(NodeId nodeId, CancellationToken ct = default)
{
UnsubscribeCalls.Add(nodeId);
return Task.CompletedTask;
}
+ ///
public Task SubscribeAlarmsAsync(NodeId? sourceNodeId = null, int intervalMs = 1000, CancellationToken ct = default)
{
SubscribeAlarmsCalls.Add((sourceNodeId, intervalMs));
return Task.CompletedTask;
}
+ ///
public Task UnsubscribeAlarmsAsync(CancellationToken ct = default)
{
UnsubscribeAlarmsCalled = true;
return Task.CompletedTask;
}
+ ///
public Task RequestConditionRefreshAsync(CancellationToken ct = default)
{
RequestConditionRefreshCalled = true;
@@ -142,12 +159,14 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.CompletedTask;
}
+ ///
public Task AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment,
CancellationToken ct = default)
{
return Task.FromResult(new StatusCode(StatusCodes.Good));
}
+ ///
public Task> HistoryReadRawAsync(
NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues = 1000, CancellationToken ct = default)
{
@@ -155,6 +174,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(HistoryReadResult);
}
+ ///
public Task> HistoryReadAggregateAsync(
NodeId nodeId, DateTime startTime, DateTime endTime, AggregateType aggregate,
double intervalMs = 3600000, CancellationToken ct = default)
@@ -163,12 +183,16 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(HistoryReadResult);
}
+ ///
public Task GetRedundancyInfoAsync(CancellationToken ct = default)
{
GetRedundancyInfoCalled = true;
return Task.FromResult(RedundancyInfoResult);
}
+ ///
+ /// Marks the fake client as disposed so CLI command tests can assert cleanup behavior.
+ ///
public void Dispose()
{
DisposeCalled = true;
@@ -191,4 +215,4 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
{
ConnectionStateChanged?.Invoke(this, new ConnectionStateChangedEventArgs(oldState, newState, endpointUrl));
}
-}
\ No newline at end of file
+}
diff --git a/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs b/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
index 7ac57da..c3a1a10 100644
--- a/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
+++ b/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSessionAdapter.cs
@@ -3,12 +3,22 @@ using ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests.Fakes;
+///
+/// Test double for used to simulate reads, writes, browsing, history, and failover callbacks.
+///
internal sealed class FakeSessionAdapter : ISessionAdapter
{
private readonly List _createdSubscriptions = [];
private Action? _keepAliveCallback;
+ ///
+ /// Gets a value indicating whether the fake session has been closed through the client disconnect path.
+ ///
public bool Closed { get; private set; }
+
+ ///
+ /// Gets a value indicating whether the fake session has been disposed.
+ ///
public bool Disposed { get; private set; }
public int ReadCount { get; private set; }
public int WriteCount { get; private set; }
@@ -38,27 +48,47 @@ internal sealed class FakeSessionAdapter : ISessionAdapter
public bool ThrowOnHistoryReadAggregate { get; set; }
///
- /// The next FakeSubscriptionAdapter to return from CreateSubscriptionAsync.
- /// If null, a new one is created automatically.
+ /// Gets or sets the next fake subscription returned when the client creates a monitored-item subscription.
+ /// If unset, the fake builds a new subscription automatically.
///
public FakeSubscriptionAdapter? NextSubscription { get; set; }
+ ///
+ /// Gets the fake subscriptions created by this session so tests can inspect replay and cleanup behavior.
+ ///
public IReadOnlyList CreatedSubscriptions => _createdSubscriptions;
+ ///
public bool Connected { get; set; } = true;
+
+ ///
public string SessionId { get; set; } = "ns=0;i=12345";
+
+ ///
public string SessionName { get; set; } = "FakeSession";
+
+ ///
public string EndpointUrl { get; set; } = "opc.tcp://localhost:4840";
+
+ ///
public string ServerName { get; set; } = "FakeServer";
+
+ ///
public string SecurityMode { get; set; } = "None";
+
+ ///
public string SecurityPolicyUri { get; set; } = "http://opcfoundation.org/UA/SecurityPolicy#None";
+
+ ///
public NamespaceTable NamespaceUris { get; set; } = new();
+ ///
public void RegisterKeepAliveHandler(Action callback)
{
_keepAliveCallback = callback;
}
+ ///
public Task ReadValueAsync(NodeId nodeId, CancellationToken ct)
{
ReadCount++;
@@ -71,6 +101,7 @@ internal sealed class FakeSessionAdapter : ISessionAdapter
return Task.FromResult(ReadResponse ?? new DataValue(new Variant(0), StatusCodes.Good));
}
+ ///
public Task WriteValueAsync(NodeId nodeId, DataValue value, CancellationToken ct)
{
WriteCount++;
@@ -79,6 +110,7 @@ internal sealed class FakeSessionAdapter : ISessionAdapter
return Task.FromResult(WriteResponse);
}
+ ///
public Task<(byte[]? ContinuationPoint, ReferenceDescriptionCollection References)> BrowseAsync(
NodeId nodeId, uint nodeClassMask, CancellationToken ct)
{
@@ -88,6 +120,7 @@ internal sealed class FakeSessionAdapter : ISessionAdapter
return Task.FromResult((BrowseContinuationPoint, BrowseResponse));
}
+ ///
public Task<(byte[]? ContinuationPoint, ReferenceDescriptionCollection References)> BrowseNextAsync(
byte[] continuationPoint, CancellationToken ct)
{
@@ -95,12 +128,14 @@ internal sealed class FakeSessionAdapter : ISessionAdapter
return Task.FromResult((BrowseNextContinuationPoint, BrowseNextResponse));
}
+ ///
public Task HasChildrenAsync(NodeId nodeId, CancellationToken ct)
{
HasChildrenCount++;
return Task.FromResult(HasChildrenResponse);
}
+ ///
public Task> HistoryReadRawAsync(
NodeId nodeId, DateTime startTime, DateTime endTime, int maxValues, CancellationToken ct)
{
@@ -110,6 +145,7 @@ internal sealed class FakeSessionAdapter : ISessionAdapter
return Task.FromResult>(HistoryReadRawResponse);
}
+ ///
public Task> HistoryReadAggregateAsync(
NodeId nodeId, DateTime startTime, DateTime endTime, NodeId aggregateId, double intervalMs,
CancellationToken ct)
@@ -120,6 +156,7 @@ internal sealed class FakeSessionAdapter : ISessionAdapter
return Task.FromResult>(HistoryReadAggregateResponse);
}
+ ///
public Task CreateSubscriptionAsync(int publishingIntervalMs, CancellationToken ct)
{
var sub = NextSubscription ?? new FakeSubscriptionAdapter();
@@ -128,12 +165,14 @@ internal sealed class FakeSessionAdapter : ISessionAdapter
return Task.FromResult(sub);
}
+ ///
public Task?> CallMethodAsync(NodeId objectId, NodeId methodId, object[] inputArguments,
CancellationToken ct = default)
{
return Task.FromResult?>(null);
}
+ ///
public Task CloseAsync(CancellationToken ct)
{
Closed = true;
@@ -141,6 +180,9 @@ internal sealed class FakeSessionAdapter : ISessionAdapter
return Task.CompletedTask;
}
+ ///
+ /// Marks the fake session as disposed so tests can verify cleanup after disconnect or failover.
+ ///
public void Dispose()
{
Disposed = true;
@@ -154,4 +196,4 @@ internal sealed class FakeSessionAdapter : ISessionAdapter
{
_keepAliveCallback?.Invoke(isGood);
}
-}
\ No newline at end of file
+}
diff --git a/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs b/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
index 19305ff..8ec7295 100644
--- a/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
+++ b/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/Fakes/FakeSubscriptionAdapter.cs
@@ -3,6 +3,9 @@ using ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests.Fakes;
+///
+/// Test double for used to drive monitored-item behavior in shared-client tests.
+///
internal sealed class FakeSubscriptionAdapter : ISubscriptionAdapter
{
private readonly
@@ -10,8 +13,19 @@ internal sealed class FakeSubscriptionAdapter : ISubscriptionAdapter
)> _items = new();
private uint _nextHandle = 100;
+ ///
+ /// Gets a value indicating whether the fake subscription has been deleted.
+ ///
public bool Deleted { get; private set; }
+
+ ///
+ /// Gets a value indicating whether a condition refresh was requested by the client under test.
+ ///
public bool ConditionRefreshCalled { get; private set; }
+
+ ///
+ /// Gets or sets a value indicating whether condition refresh should throw to simulate unsupported servers.
+ ///
public bool ThrowOnConditionRefresh { get; set; }
public int AddDataChangeCount { get; private set; }
public int AddEventCount { get; private set; }
@@ -22,8 +36,10 @@ internal sealed class FakeSubscriptionAdapter : ISubscriptionAdapter
///
public IReadOnlyCollection ActiveHandles => _items.Keys.ToList();
+ ///
public uint SubscriptionId { get; set; } = 42;
+ ///
public Task AddDataChangeMonitoredItemAsync(NodeId nodeId, int samplingIntervalMs,
Action onDataChange, CancellationToken ct)
{
@@ -33,6 +49,7 @@ internal sealed class FakeSubscriptionAdapter : ISubscriptionAdapter
return Task.FromResult(handle);
}
+ ///
public Task RemoveMonitoredItemAsync(uint clientHandle, CancellationToken ct)
{
RemoveCount++;
@@ -40,6 +57,7 @@ internal sealed class FakeSubscriptionAdapter : ISubscriptionAdapter
return Task.CompletedTask;
}
+ ///
public Task AddEventMonitoredItemAsync(NodeId nodeId, int samplingIntervalMs, EventFilter filter,
Action onEvent, CancellationToken ct)
{
@@ -49,6 +67,7 @@ internal sealed class FakeSubscriptionAdapter : ISubscriptionAdapter
return Task.FromResult(handle);
}
+ ///
public Task ConditionRefreshAsync(CancellationToken ct)
{
ConditionRefreshCalled = true;
@@ -57,6 +76,7 @@ internal sealed class FakeSubscriptionAdapter : ISubscriptionAdapter
return Task.CompletedTask;
}
+ ///
public Task DeleteAsync(CancellationToken ct)
{
Deleted = true;
@@ -64,6 +84,9 @@ internal sealed class FakeSubscriptionAdapter : ISubscriptionAdapter
return Task.CompletedTask;
}
+ ///
+ /// Clears tracked monitored items when the fake subscription is disposed by the client under test.
+ ///
public void Dispose()
{
_items.Clear();
@@ -85,4 +108,4 @@ internal sealed class FakeSubscriptionAdapter : ISubscriptionAdapter
{
if (_items.TryGetValue(handle, out var item) && item.EventCallback != null) item.EventCallback(eventFields);
}
-}
\ No newline at end of file
+}
diff --git a/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs b/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
index 00f1363..b689bc2 100644
--- a/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
+++ b/tests/ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
@@ -6,6 +6,9 @@ using ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests.Fakes;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests;
+///
+/// Verifies the shared OPC UA client service behaviors for connection management, browsing, subscriptions, history, alarms, and redundancy.
+///
public class OpcUaClientServiceTests : IDisposable
{
private readonly FakeApplicationConfigurationFactory _configFactory = new();
@@ -18,6 +21,9 @@ public class OpcUaClientServiceTests : IDisposable
_service = new OpcUaClientService(_configFactory, _endpointDiscovery, _sessionFactory);
}
+ ///
+ /// Releases the shared client service after each test so session and subscription state do not leak between scenarios.
+ ///
public void Dispose()
{
_service.Dispose();
@@ -34,6 +40,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Connection tests ---
+ ///
+ /// Verifies that a valid connection request returns populated connection metadata and marks the client as connected.
+ ///
[Fact]
public async Task ConnectAsync_ValidSettings_ReturnsConnectionInfo()
{
@@ -45,6 +54,9 @@ public class OpcUaClientServiceTests : IDisposable
_service.CurrentConnectionInfo.ShouldBe(info);
}
+ ///
+ /// Verifies that invalid connection settings fail validation before any OPC UA session is created.
+ ///
[Fact]
public async Task ConnectAsync_InvalidSettings_ThrowsBeforeCreatingSession()
{
@@ -55,6 +67,9 @@ public class OpcUaClientServiceTests : IDisposable
_service.IsConnected.ShouldBeFalse();
}
+ ///
+ /// Verifies that server and security details from the session are copied into the exposed connection info.
+ ///
[Fact]
public async Task ConnectAsync_PopulatesConnectionInfo()
{
@@ -77,6 +92,9 @@ public class OpcUaClientServiceTests : IDisposable
info.SessionName.ShouldBe("TestSession");
}
+ ///
+ /// Verifies that connection-state transitions are raised for the connecting and connected phases.
+ ///
[Fact]
public async Task ConnectAsync_RaisesConnectionStateChangedEvents()
{
@@ -92,6 +110,9 @@ public class OpcUaClientServiceTests : IDisposable
events[1].NewState.ShouldBe(ConnectionState.Connected);
}
+ ///
+ /// Verifies that a failed session creation leaves the client in the disconnected state.
+ ///
[Fact]
public async Task ConnectAsync_SessionFactoryFails_TransitionsToDisconnected()
{
@@ -105,6 +126,9 @@ public class OpcUaClientServiceTests : IDisposable
events.Last().NewState.ShouldBe(ConnectionState.Disconnected);
}
+ ///
+ /// Verifies that username and password settings are passed through to the session-creation pipeline.
+ ///
[Fact]
public async Task ConnectAsync_WithUsername_PassesThroughToFactory()
{
@@ -120,6 +144,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Disconnect tests ---
+ ///
+ /// Verifies that disconnect closes the active session and clears exposed connection state.
+ ///
[Fact]
public async Task DisconnectAsync_WhenConnected_ClosesSession()
{
@@ -133,6 +160,9 @@ public class OpcUaClientServiceTests : IDisposable
_service.CurrentConnectionInfo.ShouldBeNull();
}
+ ///
+ /// Verifies that disconnect is safe to call when no server session is active.
+ ///
[Fact]
public async Task DisconnectAsync_WhenNotConnected_IsIdempotent()
{
@@ -140,6 +170,9 @@ public class OpcUaClientServiceTests : IDisposable
_service.IsConnected.ShouldBeFalse();
}
+ ///
+ /// Verifies that repeated disconnect calls do not throw after cleanup has already run.
+ ///
[Fact]
public async Task DisconnectAsync_CalledTwice_IsIdempotent()
{
@@ -150,6 +183,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Read tests ---
+ ///
+ /// Verifies that a connected client can read the current value of a node through the session adapter.
+ ///
[Fact]
public async Task ReadValueAsync_WhenConnected_ReturnsValue()
{
@@ -166,6 +202,9 @@ public class OpcUaClientServiceTests : IDisposable
session.ReadCount.ShouldBe(1);
}
+ ///
+ /// Verifies that reads are rejected when the client is not connected to a server.
+ ///
[Fact]
public async Task ReadValueAsync_WhenDisconnected_Throws()
{
@@ -173,6 +212,9 @@ public class OpcUaClientServiceTests : IDisposable
_service.ReadValueAsync(new NodeId("ns=2;s=MyNode")));
}
+ ///
+ /// Verifies that session-level read failures are surfaced to callers instead of being swallowed.
+ ///
[Fact]
public async Task ReadValueAsync_SessionThrows_PropagatesException()
{
@@ -186,6 +228,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Write tests ---
+ ///
+ /// Verifies that writes succeed through the session adapter when the client is connected.
+ ///
[Fact]
public async Task WriteValueAsync_WhenConnected_WritesValue()
{
@@ -203,6 +248,9 @@ public class OpcUaClientServiceTests : IDisposable
session.WriteCount.ShouldBe(1);
}
+ ///
+ /// Verifies that string inputs are coerced to the node's current data type before writing.
+ ///
[Fact]
public async Task WriteValueAsync_StringValue_CoercesToTargetType()
{
@@ -219,6 +267,9 @@ public class OpcUaClientServiceTests : IDisposable
session.ReadCount.ShouldBe(1); // Read for type inference
}
+ ///
+ /// Verifies that non-string values are written directly without an extra type-inference read.
+ ///
[Fact]
public async Task WriteValueAsync_NonStringValue_WritesDirectly()
{
@@ -232,6 +283,9 @@ public class OpcUaClientServiceTests : IDisposable
session.ReadCount.ShouldBe(0); // No read for non-string values
}
+ ///
+ /// Verifies that writes are rejected when the client is disconnected.
+ ///
[Fact]
public async Task WriteValueAsync_WhenDisconnected_Throws()
{
@@ -241,6 +295,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Browse tests ---
+ ///
+ /// Verifies that browse results are mapped into the client browse model used by CLI and UI consumers.
+ ///
[Fact]
public async Task BrowseAsync_WhenConnected_ReturnsMappedResults()
{
@@ -267,6 +324,9 @@ public class OpcUaClientServiceTests : IDisposable
results[0].HasChildren.ShouldBeFalse(); // Variable nodes don't check HasChildren
}
+ ///
+ /// Verifies that a null browse root defaults to the OPC UA Objects folder.
+ ///
[Fact]
public async Task BrowseAsync_NullParent_UsesObjectsFolder()
{
@@ -282,6 +342,9 @@ public class OpcUaClientServiceTests : IDisposable
session.BrowseCount.ShouldBe(1);
}
+ ///
+ /// Verifies that object nodes trigger child-detection checks so the client can mark expandable branches.
+ ///
[Fact]
public async Task BrowseAsync_ObjectNode_ChecksHasChildren()
{
@@ -307,6 +370,9 @@ public class OpcUaClientServiceTests : IDisposable
session.HasChildrenCount.ShouldBe(1);
}
+ ///
+ /// Verifies that browse continuation points are followed so multi-page address-space branches are fully returned.
+ ///
[Fact]
public async Task BrowseAsync_WithContinuationPoint_FollowsIt()
{
@@ -342,6 +408,9 @@ public class OpcUaClientServiceTests : IDisposable
session.BrowseNextCount.ShouldBe(1);
}
+ ///
+ /// Verifies that browse requests are rejected when the client is disconnected.
+ ///
[Fact]
public async Task BrowseAsync_WhenDisconnected_Throws()
{
@@ -350,6 +419,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Subscribe tests ---
+ ///
+ /// Verifies that subscribing to a node creates a monitored item on a data-change subscription.
+ ///
[Fact]
public async Task SubscribeAsync_CreatesSubscription()
{
@@ -363,6 +435,9 @@ public class OpcUaClientServiceTests : IDisposable
session.CreatedSubscriptions[0].AddDataChangeCount.ShouldBe(1);
}
+ ///
+ /// Verifies that duplicate subscribe requests for the same node do not create duplicate monitored items.
+ ///
[Fact]
public async Task SubscribeAsync_DuplicateNode_IsIdempotent()
{
@@ -376,6 +451,9 @@ public class OpcUaClientServiceTests : IDisposable
session.CreatedSubscriptions[0].AddDataChangeCount.ShouldBe(1);
}
+ ///
+ /// Verifies that data-change notifications from the subscription are raised through the shared client event.
+ ///
[Fact]
public async Task SubscribeAsync_RaisesDataChangedEvent()
{
@@ -398,6 +476,9 @@ public class OpcUaClientServiceTests : IDisposable
received.Value.Value.ShouldBe(99);
}
+ ///
+ /// Verifies that unsubscribing removes the corresponding monitored item from the active subscription.
+ ///
[Fact]
public async Task UnsubscribeAsync_RemovesMonitoredItem()
{
@@ -412,6 +493,9 @@ public class OpcUaClientServiceTests : IDisposable
fakeSub.RemoveCount.ShouldBe(1);
}
+ ///
+ /// Verifies that unsubscribing an unknown node is treated as a safe no-op.
+ ///
[Fact]
public async Task UnsubscribeAsync_WhenNotSubscribed_DoesNotThrow()
{
@@ -423,6 +507,9 @@ public class OpcUaClientServiceTests : IDisposable
// Should not throw
}
+ ///
+ /// Verifies that data subscriptions cannot be created while the client is disconnected.
+ ///
[Fact]
public async Task SubscribeAsync_WhenDisconnected_Throws()
{
@@ -432,6 +519,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Alarm subscription tests ---
+ ///
+ /// Verifies that alarm subscription requests create an event monitored item on the session.
+ ///
[Fact]
public async Task SubscribeAlarmsAsync_CreatesEventSubscription()
{
@@ -445,6 +535,9 @@ public class OpcUaClientServiceTests : IDisposable
session.CreatedSubscriptions[0].AddEventCount.ShouldBe(1);
}
+ ///
+ /// Verifies that duplicate alarm-subscription requests do not create duplicate event subscriptions.
+ ///
[Fact]
public async Task SubscribeAlarmsAsync_Duplicate_IsIdempotent()
{
@@ -458,6 +551,9 @@ public class OpcUaClientServiceTests : IDisposable
session.CreatedSubscriptions.Count.ShouldBe(1);
}
+ ///
+ /// Verifies that OPC UA event notifications are mapped into the shared client alarm event model.
+ ///
[Fact]
public async Task SubscribeAlarmsAsync_RaisesAlarmEvent()
{
@@ -503,6 +599,9 @@ public class OpcUaClientServiceTests : IDisposable
received.AckedState.ShouldBeFalse();
}
+ ///
+ /// Verifies that removing alarm monitoring deletes the underlying event subscription.
+ ///
[Fact]
public async Task UnsubscribeAlarmsAsync_DeletesSubscription()
{
@@ -517,6 +616,9 @@ public class OpcUaClientServiceTests : IDisposable
fakeSub.Deleted.ShouldBeTrue();
}
+ ///
+ /// Verifies that removing alarms is safe even when no alarm subscription exists.
+ ///
[Fact]
public async Task UnsubscribeAlarmsAsync_WhenNoSubscription_DoesNotThrow()
{
@@ -527,6 +629,9 @@ public class OpcUaClientServiceTests : IDisposable
await _service.UnsubscribeAlarmsAsync(); // Should not throw
}
+ ///
+ /// Verifies that condition refresh requests are forwarded to the active alarm subscription.
+ ///
[Fact]
public async Task RequestConditionRefreshAsync_CallsAdapter()
{
@@ -541,6 +646,9 @@ public class OpcUaClientServiceTests : IDisposable
fakeSub.ConditionRefreshCalled.ShouldBeTrue();
}
+ ///
+ /// Verifies that condition refresh fails fast when no alarm subscription is active.
+ ///
[Fact]
public async Task RequestConditionRefreshAsync_NoAlarmSubscription_Throws()
{
@@ -552,6 +660,9 @@ public class OpcUaClientServiceTests : IDisposable
_service.RequestConditionRefreshAsync());
}
+ ///
+ /// Verifies that alarm subscriptions cannot be created while disconnected.
+ ///
[Fact]
public async Task SubscribeAlarmsAsync_WhenDisconnected_Throws()
{
@@ -561,6 +672,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- History read tests ---
+ ///
+ /// Verifies that raw history reads return the session-provided values.
+ ///
[Fact]
public async Task HistoryReadRawAsync_ReturnsValues()
{
@@ -580,6 +694,9 @@ public class OpcUaClientServiceTests : IDisposable
session.HistoryReadRawCount.ShouldBe(1);
}
+ ///
+ /// Verifies that raw history reads are rejected while disconnected.
+ ///
[Fact]
public async Task HistoryReadRawAsync_WhenDisconnected_Throws()
{
@@ -587,6 +704,9 @@ public class OpcUaClientServiceTests : IDisposable
_service.HistoryReadRawAsync(new NodeId("ns=2;s=Temp"), DateTime.UtcNow.AddHours(-1), DateTime.UtcNow));
}
+ ///
+ /// Verifies that raw-history failures from the session are propagated to callers.
+ ///
[Fact]
public async Task HistoryReadRawAsync_SessionThrows_PropagatesException()
{
@@ -598,6 +718,9 @@ public class OpcUaClientServiceTests : IDisposable
_service.HistoryReadRawAsync(new NodeId("ns=2;s=Temp"), DateTime.UtcNow.AddHours(-1), DateTime.UtcNow));
}
+ ///
+ /// Verifies that aggregate history reads return the processed values from the session adapter.
+ ///
[Fact]
public async Task HistoryReadAggregateAsync_ReturnsValues()
{
@@ -617,6 +740,9 @@ public class OpcUaClientServiceTests : IDisposable
session.HistoryReadAggregateCount.ShouldBe(1);
}
+ ///
+ /// Verifies that aggregate history reads are rejected while disconnected.
+ ///
[Fact]
public async Task HistoryReadAggregateAsync_WhenDisconnected_Throws()
{
@@ -626,6 +752,9 @@ public class OpcUaClientServiceTests : IDisposable
AggregateType.Average));
}
+ ///
+ /// Verifies that aggregate-history failures from the session are propagated to callers.
+ ///
[Fact]
public async Task HistoryReadAggregateAsync_SessionThrows_PropagatesException()
{
@@ -641,6 +770,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Redundancy tests ---
+ ///
+ /// Verifies that redundancy mode, service level, and server URIs are read from the standard OPC UA redundancy nodes.
+ ///
[Fact]
public async Task GetRedundancyInfoAsync_ReturnsInfo()
{
@@ -670,6 +802,9 @@ public class OpcUaClientServiceTests : IDisposable
info.ApplicationUri.ShouldBe("urn:server1");
}
+ ///
+ /// Verifies that missing optional redundancy arrays do not prevent a redundancy snapshot from being returned.
+ ///
[Fact]
public async Task GetRedundancyInfoAsync_MissingOptionalArrays_ReturnsGracefully()
{
@@ -697,6 +832,9 @@ public class OpcUaClientServiceTests : IDisposable
info.ApplicationUri.ShouldBeEmpty();
}
+ ///
+ /// Verifies that redundancy inspection is rejected while disconnected.
+ ///
[Fact]
public async Task GetRedundancyInfoAsync_WhenDisconnected_Throws()
{
@@ -706,6 +844,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Failover tests ---
+ ///
+ /// Verifies that a keep-alive failure moves the client to a configured failover endpoint.
+ ///
[Fact]
public async Task KeepAliveFailure_TriggersFailover()
{
@@ -734,6 +875,9 @@ public class OpcUaClientServiceTests : IDisposable
e.EndpointUrl == "opc.tcp://backup:4840");
}
+ ///
+ /// Verifies that connection metadata is refreshed to reflect the newly active failover endpoint.
+ ///
[Fact]
public async Task KeepAliveFailure_UpdatesConnectionInfo()
{
@@ -757,6 +901,9 @@ public class OpcUaClientServiceTests : IDisposable
_service.CurrentConnectionInfo.ServerName.ShouldBe("BackupServer");
}
+ ///
+ /// Verifies that the client falls back to disconnected when every failover endpoint is unreachable.
+ ///
[Fact]
public async Task KeepAliveFailure_AllEndpointsFail_TransitionsToDisconnected()
{
@@ -775,6 +922,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Dispose tests ---
+ ///
+ /// Verifies that dispose releases the underlying session and clears exposed connection state.
+ ///
[Fact]
public async Task Dispose_CleansUpResources()
{
@@ -788,12 +938,18 @@ public class OpcUaClientServiceTests : IDisposable
_service.CurrentConnectionInfo.ShouldBeNull();
}
+ ///
+ /// Verifies that dispose is safe to call even when no connection was established.
+ ///
[Fact]
public void Dispose_WhenNotConnected_DoesNotThrow()
{
_service.Dispose(); // Should not throw
}
+ ///
+ /// Verifies that public operations reject use after the shared client has been disposed.
+ ///
[Fact]
public async Task OperationsAfterDispose_Throw()
{
@@ -807,6 +963,9 @@ public class OpcUaClientServiceTests : IDisposable
// --- Factory tests ---
+ ///
+ /// Verifies that the factory creates a usable shared OPC UA client service instance.
+ ///
[Fact]
public void OpcUaClientServiceFactory_CreatesService()
{
@@ -816,4 +975,4 @@ public class OpcUaClientServiceTests : IDisposable
service.ShouldBeAssignableTo();
service.Dispose();
}
-}
\ No newline at end of file
+}
diff --git a/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs b/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
index 8c1905f..3af5627 100644
--- a/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
+++ b/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/Fakes/FakeOpcUaClientService.cs
@@ -6,27 +6,81 @@ using BrowseResult = ZB.MOM.WW.LmxOpcUa.Client.Shared.Models.BrowseResult;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Tests.Fakes;
///
-/// Fake IOpcUaClientService for unit testing.
+/// Test double for the shared OPC UA client service used by UI view-model tests.
+/// It lets tests script connection, browse, history, redundancy, and alarm behavior without a live server.
///
public sealed class FakeOpcUaClientService : IOpcUaClientService
{
// Configurable responses
+ ///
+ /// Gets or sets the connection metadata returned when a UI test performs a successful connect.
+ ///
public ConnectionInfo? ConnectResult { get; set; }
+
+ ///
+ /// Gets or sets the exception thrown to simulate a failed connect workflow in the UI.
+ ///
public Exception? ConnectException { get; set; }
+
+ ///
+ /// Gets or sets the default browse results returned when no parent-specific branch is configured.
+ ///
public IReadOnlyList BrowseResults { get; set; } = [];
+
+ ///
+ /// Gets or sets browse results keyed by parent node so tree-navigation tests can model multiple address-space branches.
+ ///
public Dictionary> BrowseResultsByParent { get; set; } = new();
+
+ ///
+ /// Gets or sets the exception thrown to simulate browse failures in the UI tree.
+ ///
public Exception? BrowseException { get; set; }
+ ///
+ /// Gets or sets the current value returned by point-read tests.
+ ///
public DataValue ReadResult { get; set; } =
new(new Variant(42), StatusCodes.Good, DateTime.UtcNow, DateTime.UtcNow);
+ ///
+ /// Gets or sets the exception thrown to simulate point-read failures in the UI.
+ ///
public Exception? ReadException { get; set; }
+
+ ///
+ /// Gets or sets the status code returned by write operations in UI tests.
+ ///
public StatusCode WriteResult { get; set; } = StatusCodes.Good;
+
+ ///
+ /// Gets or sets the exception thrown to simulate failed write workflows in the UI.
+ ///
public Exception? WriteException { get; set; }
+
+ ///
+ /// Gets or sets the redundancy snapshot returned when the UI inspects server redundancy state.
+ ///
public RedundancyInfo? RedundancyResult { get; set; }
+
+ ///
+ /// Gets or sets the exception thrown to simulate redundancy lookup failures.
+ ///
public Exception? RedundancyException { get; set; }
+
+ ///
+ /// Gets or sets the raw historical values returned to history-view tests.
+ ///
public IReadOnlyList HistoryRawResult { get; set; } = [];
+
+ ///
+ /// Gets or sets the aggregate historical values returned to history-view tests.
+ ///
public IReadOnlyList HistoryAggregateResult { get; set; } = [];
+
+ ///
+ /// Gets or sets the exception thrown to simulate historical-data failures in the UI.
+ ///
public Exception? HistoryException { get; set; }
// Call tracking
@@ -54,13 +108,22 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
public NodeId? LastUnsubscribeNodeId { get; private set; }
public AggregateType? LastAggregateType { get; private set; }
+ ///
public bool IsConnected { get; set; }
+
+ ///
public ConnectionInfo? CurrentConnectionInfo { get; set; }
+ ///
public event EventHandler? DataChanged;
+
+ ///
public event EventHandler? AlarmEvent;
+
+ ///
public event EventHandler? ConnectionStateChanged;
+ ///
public Task ConnectAsync(ConnectionSettings settings, CancellationToken ct = default)
{
ConnectCallCount++;
@@ -71,6 +134,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(ConnectResult!);
}
+ ///
public Task DisconnectAsync(CancellationToken ct = default)
{
DisconnectCallCount++;
@@ -79,6 +143,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.CompletedTask;
}
+ ///
public Task ReadValueAsync(NodeId nodeId, CancellationToken ct = default)
{
ReadCallCount++;
@@ -87,6 +152,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(ReadResult);
}
+ ///
public Task WriteValueAsync(NodeId nodeId, object value, CancellationToken ct = default)
{
WriteCallCount++;
@@ -96,6 +162,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(WriteResult);
}
+ ///
public Task> BrowseAsync(NodeId? parentNodeId = null, CancellationToken ct = default)
{
BrowseCallCount++;
@@ -108,6 +175,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(BrowseResults);
}
+ ///
public Task SubscribeAsync(NodeId nodeId, int intervalMs = 1000, CancellationToken ct = default)
{
SubscribeCallCount++;
@@ -116,6 +184,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.CompletedTask;
}
+ ///
public Task UnsubscribeAsync(NodeId nodeId, CancellationToken ct = default)
{
UnsubscribeCallCount++;
@@ -123,18 +192,21 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.CompletedTask;
}
+ ///
public Task SubscribeAlarmsAsync(NodeId? sourceNodeId = null, int intervalMs = 1000, CancellationToken ct = default)
{
SubscribeAlarmsCallCount++;
return Task.CompletedTask;
}
+ ///
public Task UnsubscribeAlarmsAsync(CancellationToken ct = default)
{
UnsubscribeAlarmsCallCount++;
return Task.CompletedTask;
}
+ ///
public Task RequestConditionRefreshAsync(CancellationToken ct = default)
{
RequestConditionRefreshCallCount++;
@@ -145,6 +217,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
public Exception? AcknowledgeException { get; set; }
public int AcknowledgeCallCount { get; private set; }
+ ///
public Task AcknowledgeAlarmAsync(string conditionNodeId, byte[] eventId, string comment,
CancellationToken ct = default)
{
@@ -153,6 +226,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(AcknowledgeResult);
}
+ ///
public Task> HistoryReadRawAsync(NodeId nodeId, DateTime startTime, DateTime endTime,
int maxValues = 1000, CancellationToken ct = default)
{
@@ -161,6 +235,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(HistoryRawResult);
}
+ ///
public Task> HistoryReadAggregateAsync(NodeId nodeId, DateTime startTime, DateTime endTime,
AggregateType aggregate, double intervalMs = 3600000, CancellationToken ct = default)
{
@@ -170,6 +245,7 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(HistoryAggregateResult);
}
+ ///
public Task GetRedundancyInfoAsync(CancellationToken ct = default)
{
GetRedundancyInfoCallCount++;
@@ -177,24 +253,35 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(RedundancyResult!);
}
+ ///
+ /// Releases fake service resources at the end of a UI test run.
+ ///
public void Dispose()
{
// No-op for testing
}
- // Methods to raise events from tests
+ ///
+ /// Raises a simulated data-change notification so UI tests can validate live update handling.
+ ///
public void RaiseDataChanged(DataChangedEventArgs args)
{
DataChanged?.Invoke(this, args);
}
+ ///
+ /// Raises a simulated alarm event so UI tests can validate alarm-list behavior.
+ ///
public void RaiseAlarmEvent(AlarmEventArgs args)
{
AlarmEvent?.Invoke(this, args);
}
+ ///
+ /// Raises a simulated connection-state transition so UI tests can validate status presentation and failover behavior.
+ ///
public void RaiseConnectionStateChanged(ConnectionStateChangedEventArgs args)
{
ConnectionStateChanged?.Invoke(this, args);
}
-}
\ No newline at end of file
+}
diff --git a/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs b/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
index df5bbbc..de7385b 100644
--- a/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
+++ b/tests/ZB.MOM.WW.LmxOpcUa.Client.UI.Tests/MainWindowViewModelTests.cs
@@ -9,6 +9,9 @@ using ConnectionState = ZB.MOM.WW.LmxOpcUa.Client.Shared.Models.ConnectionState;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Tests;
+///
+/// Verifies the main UI shell behavior for connection state, settings persistence, browsing, subscriptions, and history navigation.
+///
public class MainWindowViewModelTests
{
private readonly FakeOpcUaClientService _service;
@@ -39,6 +42,9 @@ public class MainWindowViewModelTests
_vm = new MainWindowViewModel(factory, dispatcher, _settingsService);
}
+ ///
+ /// Verifies that the shell starts disconnected with the default endpoint and status text.
+ ///
[Fact]
public void DefaultState_IsDisconnected()
{
@@ -48,18 +54,27 @@ public class MainWindowViewModelTests
_vm.StatusMessage.ShouldBe("Disconnected");
}
+ ///
+ /// Verifies that the connect command is available before a session is established.
+ ///
[Fact]
public void ConnectCommand_CanExecute_WhenDisconnected()
{
_vm.ConnectCommand.CanExecute(null).ShouldBeTrue();
}
+ ///
+ /// Verifies that disconnect is disabled until a server session is active.
+ ///
[Fact]
public void DisconnectCommand_CannotExecute_WhenDisconnected()
{
_vm.DisconnectCommand.CanExecute(null).ShouldBeFalse();
}
+ ///
+ /// Verifies that a successful connect command updates the shell into the connected state.
+ ///
[Fact]
public async Task ConnectCommand_TransitionsToConnected()
{
@@ -70,6 +85,9 @@ public class MainWindowViewModelTests
_service.ConnectCallCount.ShouldBe(1);
}
+ ///
+ /// Verifies that the initial browse tree is loaded after a successful connect.
+ ///
[Fact]
public async Task ConnectCommand_LoadsRootNodes()
{
@@ -79,6 +97,9 @@ public class MainWindowViewModelTests
_vm.BrowseTree.RootNodes[0].DisplayName.ShouldBe("Root");
}
+ ///
+ /// Verifies that redundancy details are fetched and exposed after connecting.
+ ///
[Fact]
public async Task ConnectCommand_FetchesRedundancyInfo()
{
@@ -89,6 +110,9 @@ public class MainWindowViewModelTests
_vm.RedundancyInfo.ServiceLevel.ShouldBe((byte)200);
}
+ ///
+ /// Verifies that the session label shows the connected server and session identity.
+ ///
[Fact]
public async Task ConnectCommand_SetsSessionLabel()
{
@@ -98,6 +122,9 @@ public class MainWindowViewModelTests
_vm.SessionLabel.ShouldContain("TestSession");
}
+ ///
+ /// Verifies that disconnect returns the shell to the disconnected state.
+ ///
[Fact]
public async Task DisconnectCommand_TransitionsToDisconnected()
{
@@ -109,6 +136,9 @@ public class MainWindowViewModelTests
_service.DisconnectCallCount.ShouldBe(1);
}
+ ///
+ /// Verifies that disconnect clears session-specific UI state such as browse data and redundancy details.
+ ///
[Fact]
public async Task Disconnect_ClearsStateAndChildren()
{
@@ -121,6 +151,9 @@ public class MainWindowViewModelTests
_vm.SubscriptionCount.ShouldBe(0);
}
+ ///
+ /// Verifies that connection-state events from the client update the shell status text and state.
+ ///
[Fact]
public async Task ConnectionStateChangedEvent_UpdatesState()
{
@@ -134,6 +167,9 @@ public class MainWindowViewModelTests
_vm.StatusMessage.ShouldBe("Reconnecting...");
}
+ ///
+ /// Verifies that selecting a tree node updates the dependent read/write and history panels.
+ ///
[Fact]
public async Task SelectedTreeNode_PropagatesToChildViewModels()
{
@@ -146,6 +182,9 @@ public class MainWindowViewModelTests
_vm.History.SelectedNodeId.ShouldBe(node.NodeId);
}
+ ///
+ /// Verifies that a successful connect propagates connected state into the child tabs.
+ ///
[Fact]
public async Task ConnectCommand_PropagatesIsConnectedToChildViewModels()
{
@@ -157,6 +196,9 @@ public class MainWindowViewModelTests
_vm.History.IsConnected.ShouldBeTrue();
}
+ ///
+ /// Verifies that disconnect propagates disconnected state into the child tabs.
+ ///
[Fact]
public async Task DisconnectCommand_PropagatesIsConnectedFalseToChildViewModels()
{
@@ -169,6 +211,9 @@ public class MainWindowViewModelTests
_vm.History.IsConnected.ShouldBeFalse();
}
+ ///
+ /// Verifies that failed connection attempts restore the disconnected shell state and surface the error text.
+ ///
[Fact]
public async Task ConnectFailure_RevertsToDisconnected()
{
@@ -180,6 +225,9 @@ public class MainWindowViewModelTests
_vm.StatusMessage.ShouldContain("Connection refused");
}
+ ///
+ /// Verifies that connection-state transitions raise property-changed notifications for UI binding updates.
+ ///
[Fact]
public async Task PropertyChanged_FiredForConnectionState()
{
@@ -195,6 +243,9 @@ public class MainWindowViewModelTests
changed.ShouldContain(nameof(MainWindowViewModel.ConnectionState));
}
+ ///
+ /// Verifies that the shell initializes advanced connection settings with the expected defaults.
+ ///
[Fact]
public void DefaultState_HasCorrectAdvancedSettings()
{
@@ -205,6 +256,9 @@ public class MainWindowViewModelTests
_vm.CertificateStorePath.ShouldContain("pki");
}
+ ///
+ /// Verifies that failover endpoint text is parsed into connection settings on connect.
+ ///
[Fact]
public async Task ConnectCommand_MapsFailoverUrlsToSettings()
{
@@ -218,6 +272,9 @@ public class MainWindowViewModelTests
_service.LastConnectionSettings.FailoverUrls[1].ShouldBe("opc.tcp://backup2:4840");
}
+ ///
+ /// Verifies that empty failover text is normalized to no configured failover endpoints.
+ ///
[Fact]
public async Task ConnectCommand_MapsEmptyFailoverUrlsToNull()
{
@@ -228,6 +285,9 @@ public class MainWindowViewModelTests
_service.LastConnectionSettings!.FailoverUrls.ShouldBeNull();
}
+ ///
+ /// Verifies that the configured session timeout is passed into the connection settings.
+ ///
[Fact]
public async Task ConnectCommand_MapsSessionTimeoutToSettings()
{
@@ -238,6 +298,9 @@ public class MainWindowViewModelTests
_service.LastConnectionSettings!.SessionTimeoutSeconds.ShouldBe(120);
}
+ ///
+ /// Verifies that the auto-accept certificate toggle is passed into the connection settings.
+ ///
[Fact]
public async Task ConnectCommand_MapsAutoAcceptCertificatesToSettings()
{
@@ -248,6 +311,9 @@ public class MainWindowViewModelTests
_service.LastConnectionSettings!.AutoAcceptCertificates.ShouldBeFalse();
}
+ ///
+ /// Verifies that a custom certificate store path is passed into the connection settings.
+ ///
[Fact]
public async Task ConnectCommand_MapsCertificateStorePathToSettings()
{
@@ -258,6 +324,9 @@ public class MainWindowViewModelTests
_service.LastConnectionSettings!.CertificateStorePath.ShouldBe("/custom/pki/path");
}
+ ///
+ /// Verifies that subscribing selected nodes adds subscriptions and switches the shell to the subscriptions tab.
+ ///
[Fact]
public async Task SubscribeSelectedNodesCommand_SubscribesAndSwitchesToTab()
{
@@ -275,6 +344,9 @@ public class MainWindowViewModelTests
_vm.SelectedTabIndex.ShouldBe(1);
}
+ ///
+ /// Verifies that subscribing selected nodes is a no-op when nothing is selected.
+ ///
[Fact]
public async Task SubscribeSelectedNodesCommand_DoesNothing_WhenNoSelection()
{
@@ -285,6 +357,9 @@ public class MainWindowViewModelTests
_vm.Subscriptions.ActiveSubscriptions.ShouldBeEmpty();
}
+ ///
+ /// Verifies that the history command targets the selected node and switches the shell to the history tab.
+ ///
[Fact]
public async Task ViewHistoryForSelectedNodeCommand_SetsNodeAndSwitchesToTab()
{
@@ -299,6 +374,9 @@ public class MainWindowViewModelTests
_vm.SelectedTabIndex.ShouldBe(3);
}
+ ///
+ /// Verifies that history actions are enabled when a variable node is selected.
+ ///
[Fact]
public async Task UpdateHistoryEnabledForSelection_TrueForVariableNode()
{
@@ -313,6 +391,9 @@ public class MainWindowViewModelTests
_vm.IsHistoryEnabledForSelection.ShouldBeTrue();
}
+ ///
+ /// Verifies that history actions stay disabled when an object node rather than a variable is selected.
+ ///
[Fact]
public async Task UpdateHistoryEnabledForSelection_FalseForObjectNode()
{
@@ -327,6 +408,9 @@ public class MainWindowViewModelTests
_vm.IsHistoryEnabledForSelection.ShouldBeFalse();
}
+ ///
+ /// Verifies that history actions stay disabled when no server connection is active.
+ ///
[Fact]
public void UpdateHistoryEnabledForSelection_FalseWhenDisconnected()
{
@@ -335,12 +419,18 @@ public class MainWindowViewModelTests
_vm.IsHistoryEnabledForSelection.ShouldBeFalse();
}
+ ///
+ /// Verifies that saved user settings are loaded during shell construction.
+ ///
[Fact]
public void Constructor_LoadsSettingsFromService()
{
_settingsService.LoadCallCount.ShouldBe(1);
}
+ ///
+ /// Verifies that persisted connection and security settings are applied to the shell on startup.
+ ///
[Fact]
public void Constructor_AppliesSavedSettings()
{
@@ -376,6 +466,9 @@ public class MainWindowViewModelTests
vm.CertificateStorePath.ShouldBe("/custom/path");
}
+ ///
+ /// Verifies that successful connections persist the current connection settings.
+ ///
[Fact]
public async Task ConnectCommand_SavesSettingsOnSuccess()
{
@@ -390,6 +483,9 @@ public class MainWindowViewModelTests
_settingsService.LastSaved.Username.ShouldBe("admin");
}
+ ///
+ /// Verifies that failed connection attempts do not overwrite saved settings.
+ ///
[Fact]
public async Task ConnectCommand_DoesNotSaveOnFailure()
{
@@ -400,6 +496,9 @@ public class MainWindowViewModelTests
_settingsService.SaveCallCount.ShouldBe(0);
}
+ ///
+ /// Verifies that active subscriptions are persisted when the shell disconnects.
+ ///
[Fact]
public async Task ConnectCommand_SavesSubscribedNodes()
{
@@ -416,6 +515,9 @@ public class MainWindowViewModelTests
_settingsService.LastSaved!.SubscribedNodes.ShouldContain("ns=2;s=TestSub");
}
+ ///
+ /// Verifies that saved subscriptions are restored after reconnecting the shell.
+ ///
[Fact]
public async Task ConnectCommand_RestoresSavedSubscriptions()
{
@@ -437,4 +539,4 @@ public class MainWindowViewModelTests
vm.Subscriptions.ActiveSubscriptions[1].NodeId.ShouldBe("ns=2;s=Restored2");
vm.SubscriptionCount.ShouldBe(2);
}
-}
\ No newline at end of file
+}