Opc.Ua.ServerTest.BrowseTest.DoBrowseResultMaskTest C# (CSharp) Method

DoBrowseResultMaskTest() private method

Verifies that the server does no ignore the BrowseResultMask.
private DoBrowseResultMaskTest ( ) : bool
return bool
        private bool DoBrowseResultMaskTest()
        {
            // follow tree from each starting node.
            bool success = true;
                     
            double increment = MaxProgress/AvailableNodes.Count;
            double position  = 0;
            
            Log("Starting BrowseResultMaskTest for {0} Nodes ({1}% Coverage)", AvailableNodes.Values.Count, Configuration.Coverage);
            
            int counter = 0;

            foreach (Node node in AvailableNodes.Values)
            {          
                if (!CheckCoverage(ref counter))
                {
                    continue;
                }
                
                try
                {
                    BrowseDescription nodeToBrowse = new BrowseDescription();
                    
                    nodeToBrowse.NodeId = node.NodeId;
                    nodeToBrowse.BrowseDirection = BrowseDirection.Both;
                    nodeToBrowse.IncludeSubtypes = true;
                    nodeToBrowse.NodeClassMask = 0;
                    nodeToBrowse.ReferenceTypeId = ReferenceTypeIds.References;
                    nodeToBrowse.ResultMask = (uint)BrowseResultMask.None;
                    
                    ReferenceDescriptionCollection references = new ReferenceDescriptionCollection();
                    
                    if (!Browse(node, nodeToBrowse, references))
                    {
                        success = false;
                        break;
                    }
                }
                catch (Exception e)
                {
                    success = false;
                    Log(e, "BrowseResultMaskTest Failed for Node '{0}'. NodeId = {1}", node, node.NodeId);
                }

                position += increment;
                ReportProgress(position);
            }   
         
            return success;
        }