private void UpdateIconInfoAndAutomationName()

in src/AccessibilityInsights.SharedUx/ViewModels/HierarchyNodeViewModel.cs [302:358]


        private void UpdateIconInfoAndAutomationName(bool isLiveMode)
        {
            this.IconVisibility = Visibility.Collapsed;
            string automationNameFormat = Resources.HierarchyNodeViewModel_AutomationNameDefaultFormat;

            if (!isLiveMode)
            {
                if (this.Element.TestStatus == ScanStatus.Fail)
                {
                    this.IconBack = FabricIcon.AlertSolid;
                    this.IconSizeBack = NormalIconSizeBack;
                    this.IconVisibility = Visibility.Visible;
                    automationNameFormat = Resources.HierarchyNodeViewModel_AutomationNameFailedResultsFormat;
                }
                else if(this.Element.TestStatus == ScanStatus.ScanNotSupported)
                {
                    this.IconBack = FabricIcon.MapDirections;
                    this.IconSizeBack = NormalIconSizeBack;
                    this.IconVisibility = Visibility.Visible;
                    automationNameFormat = Resources.HierarchyNodeViewModel_AutomationNameNotSupportResultsFormat;
                }
                else if (this.Element.TestStatus == ScanStatus.Uncertain && this.ShowUncertain)
                {
                    this.IconBack = FabricIcon.IncidentTriangle;
                    this.IconSizeBack = NormalIconSizeBack;
                    this.IconVisibility = Visibility.Visible;
                    automationNameFormat = Resources.HierarchyNodeViewModel_AutomationNameUncertainResultsFormat;
                }
                else
                {
                    // no result or all pass, we need to use aggregated data.
                    this.IconBack = FabricIcon.DOM;
                    this.IconSizeBack = TreeIconSizeBack;

                    if (this.AggregateStatusCounts[(int)ScanStatus.Fail] > 0)
                    {
                        this.IconFront = FabricIcon.AlertSolid;
                        automationNameFormat = Resources.HierarchyNodeViewModel_AutomationNameFailedResultsInDescendentsFormat;
                    }
                    else if (this.AggregateStatusCounts[(int)ScanStatus.Uncertain] > 0 && this.ShowUncertain)
                    {
                        this.IconFront = FabricIcon.IncidentTriangle;
                        automationNameFormat = Resources.HierarchyNodeViewModel_AutomationNameUncertainResultsInDescendentsFormat;
                    }
                    else
                    {
                        this.IconBack = default(FabricIcon);
                        automationNameFormat = Resources.HierarchyNodeViewModel_AutomationNameNoFailedOrUncertainResultsInDescendentsFormat;
                    }

                    this.IconVisibility = this.IsExpanded == false && this.IconBack != default(FabricIcon) ? Visibility.Visible : Visibility.Collapsed;
                }
            }

            this.AutomationName = string.Format(CultureInfo.InvariantCulture, automationNameFormat,
                this.Element.Glimpse);
        }