public NatvisCollectionEntity.Factory CreateNatvisCollectionFactory(
            NatvisExpressionEvaluator evaluator, NatvisSizeParser sizeParser,
            NatvisStringFormatter stringFormatter)
        {
            var itemFactory           = new ItemEntity.Factory(GetNatvisDiagnosticLogger(), evaluator);
            var indexListItemsFactory = new IndexListItemsEntity.Factory(
                GetNatvisDiagnosticLogger(), evaluator, sizeParser);
            var arrayItemsFactory =
                new ArrayItemsEntity.Factory(GetNatvisDiagnosticLogger(), evaluator, sizeParser);
            var syntheticItemFactory = new SyntheticItemEntity.Factory(GetNatvisDiagnosticLogger(),
                                                                       evaluator, stringFormatter);
            var expandedItemFactory =
                new ExpandedItemEntity.Factory(GetNatvisDiagnosticLogger(), evaluator);
            var linkedListItemsFactory = new LinkedListItemsEntity.Factory(
                GetNatvisDiagnosticLogger(), evaluator, sizeParser);
            var treeItemsFactory =
                new TreeItemsEntity.Factory(GetNatvisDiagnosticLogger(), evaluator, sizeParser);

            var customListItemsFactory = new CustomListItemsEntity.Factory(
                GetNatvisDiagnosticLogger(), evaluator, GetVariableNameTransformer());

            return(new NatvisCollectionEntity.Factory(
                       itemFactory, syntheticItemFactory, expandedItemFactory, indexListItemsFactory,
                       arrayItemsFactory, linkedListItemsFactory, treeItemsFactory, customListItemsFactory,
                       GetNatvisDiagnosticLogger(), GetCustomListsEnabled));
        }
        public void SetUp()
        {
            _compRoot       = new MediumTestDebugEngineFactoryCompRoot(new JoinableTaskContext());
            _varInfoFactory = _compRoot.GetLldbVariableInformationFactory();

            _nLogSpy = _compRoot.GetNatvisDiagnosticLogSpy();
            _nLogSpy.Attach();

            _evaluator = _compRoot.GetNatvisExpressionEvaluator();
        }
        public virtual NatvisExpressionEvaluator GetNatvisExpressionEvaluator()
        {
            if (_natvisExpressionEvaluator == null)
            {
                _natvisExpressionEvaluator = new NatvisExpressionEvaluator(
                    GetNatvisDiagnosticLogger(), new VsExpressionCreator(), GetVsiService().Options,
                    GetExpressionEvaluationRecorder(), GetTimeSource());
            }

            return(_natvisExpressionEvaluator);
        }
        public void SetUp()
        {
            _compRoot = new MediumTestDebugEngineFactoryCompRoot(new JoinableTaskContext());
            ((OptionPageGrid)_compRoot.GetVsiService().Options).ExpressionEvaluationEngine =
                ExpressionEvaluationEngineFlag.LLDB;

            _varInfoFactory = _compRoot.GetLldbVariableInformationFactory();

            _nLogSpy = _compRoot.GetNatvisDiagnosticLogSpy();
            _nLogSpy.Attach();

            _evaluator = _compRoot.GetNatvisExpressionEvaluator();
        }
        public void SetUp()
        {
            _optionPageGrid = OptionPageGrid.CreateForTesting();
            _optionPageGrid.NatvisLoggingLevel = NatvisLoggingLevelFeatureFlag.VERBOSE;

            var taskContext    = new JoinableTaskContext();
            var serviceManager = new FakeServiceManager(taskContext);

            serviceManager.AddService(typeof(YetiVSIService), new YetiVSIService(_optionPageGrid));
            _compRoot = new MediumTestDebugEngineFactoryCompRoot(
                serviceManager, taskContext, new GameletClientStub.Factory(),
                TestDummyGenerator.Create <IWindowsRegistry>());

            _varInfoFactory = _compRoot.GetLldbVariableInformationFactory();

            _nLogSpy = _compRoot.GetNatvisDiagnosticLogSpy();
            _nLogSpy.Attach();

            _evaluator = _compRoot.GetNatvisExpressionEvaluator();
        }