internal static DialogDebugAdapter MakeDebugger(IDebugTransport transport)
        {
            var codeModel = new CodeModel();
            var sourceMap = new DebuggerSourceMap(codeModel);
            var events    = new Events <DialogEvents>();
            var coercion  = new Coercion();
            var dataModel = new DataModel(coercion);
            var debugger  = new DialogDebugAdapter(transport, sourceMap, sourceMap, () => { }, events, codeModel, dataModel, NullLogger.Instance, coercion);

            return(debugger);
        }
        public void DebuggerSourceMap_Equals_Null_Source()
        {
            var stackFrame = new StackFrame
            {
                Id     = 1,
                Name   = "TestFrame",
                Source = null
            };

            Assert.True(DebuggerSourceMap.Equals(stackFrame, null));
        }
Example #3
0
        public void DebuggingBotAdapterExtensions_UseDebugger()
        {
            var        codeModel = new CodeModel();
            ISourceMap sourceMap = new DebuggerSourceMap(codeModel);

            var adapter = new BotFrameworkAdapter(new SimpleCredentialProvider());

            Assert.Single(adapter.MiddlewareSet);

            adapter.UseDebugger(3982, sourceMap);

            Assert.Equal(2, adapter.MiddlewareSet.Count());
        }
        public void DebuggerSourceMap_Assign_Item()
        {
            var stackFrame = new StackFrame
            {
                Id   = 1,
                Name = "TestFrame"
            };

            DebuggerSourceMap.Assign(stackFrame, "item", "more");

            Assert.Equal("item", stackFrame.Item);
            Assert.Equal("more", stackFrame.More);
        }
        public void DebuggerSourceMap_Add_InvalidPath_Throws()
        {
            var        codeModel = new CodeModel();
            ISourceMap sourceMap = new DebuggerSourceMap(codeModel);

            var sourceRange = new SourceRange
            {
                Path = "test.path"
            };

            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                sourceMap.Add("test-item", sourceRange);
            });
        }
        public void DebuggerSourceMap_SetBreakpoints_Function()
        {
            var          codeModel      = new CodeModel();
            IBreakpoints sourceMap      = new DebuggerSourceMap(codeModel);
            var          breakpointList = new List <FunctionBreakpoint>
            {
                new FunctionBreakpoint {
                    Name = "test-breakpoint"
                }
            };

            var breakpoints = sourceMap.SetBreakpoints(breakpointList);

            Assert.Equal(1, breakpoints.Count);
        }
        public void DebuggerSourceMap_Assign_Null_SourceRange()
        {
            var stackFrame = new StackFrame
            {
                Id   = 1,
                Name = "TestFrame"
            };

            DebuggerSourceMap.Assign(stackFrame, null);

            Assert.Null(stackFrame.Designer);
            Assert.Null(stackFrame.Source);
            Assert.Null(stackFrame.Line);
            Assert.Null(stackFrame.EndLine);
            Assert.Null(stackFrame.Column);
            Assert.Null(stackFrame.EndColumn);
        }
        public void DialogDebugAdapter_Constructor_Default_Values()
        {
            var          codeModel   = new CodeModel();
            IBreakpoints breakpoints = new DebuggerSourceMap(codeModel);

            var adapter = new DialogDebugAdapter(
                new DebugTransport(3983, null),
                DebugSupport.SourceMap,
                breakpoints,
                null,
                null,
                null,
                null,
                null);

            Assert.NotNull(adapter);
        }
        public void DebuggerSourceMap_Add()
        {
            var          codeModel = new CodeModel();
            ISourceMap   sourceMap = new DebuggerSourceMap(codeModel);
            const string item      = "test-item";

            var sourceRange = new SourceRange
            {
                Designer   = "testDesigner",
                Path       = "/test/path",
                StartPoint = new SourcePoint(0, 0),
                EndPoint   = new SourcePoint(10, 10)
            };

            sourceMap.Add(item, sourceRange);

            Assert.True(sourceMap.TryGetValue(item, out _));
        }
        public void DebuggerSourceMap_Equals_False()
        {
            var stackFrame = new StackFrame
            {
                Id     = 1,
                Name   = "TestFrame",
                Source = new Source("test.source.path")
            };
            var sourceRange = new SourceRange
            {
                Designer   = "testDesigner",
                Path       = "test.path",
                StartPoint = new SourcePoint(0, 0),
                EndPoint   = new SourcePoint(10, 10)
            };

            Assert.False(DebuggerSourceMap.Equals(stackFrame, sourceRange));
        }
        public void DialogDebugAdapter_Constructor_Null_sourceMap_Throws()
        {
            var          codeModel   = new CodeModel();
            IBreakpoints breakpoints = new DebuggerSourceMap(codeModel);

            Assert.Throws <ArgumentNullException>(() =>
            {
                var adapter = new DialogDebugAdapter(
                    new DebugTransport(3984, null),
                    null,
                    breakpoints,
                    null,
                    null,
                    null,
                    null,
                    null);
            });
        }
        public void DebuggerSourceMap_Equals_True_With_Resources()
        {
            var stackFrame = new StackFrame
            {
                Id   = 1,
                Name = "TestFrame"
            };
            var sourceRange = new SourceRange
            {
                Designer   = "testDesigner",
                Path       = "path/test.dialog",
                StartPoint = new SourcePoint(0, 0),
                EndPoint   = new SourcePoint(10, 10)
            };

            DebuggerSourceMap.Assign(stackFrame, sourceRange);

            Assert.True(DebuggerSourceMap.Equals(stackFrame, sourceRange));
        }
        public void DebuggerSourceMap_SetBreakpoints_Source()
        {
            var          codeModel      = new CodeModel();
            IBreakpoints sourceMap      = new DebuggerSourceMap(codeModel);
            var          breakpointList = new List <SourceBreakpoint>
            {
                new SourceBreakpoint {
                    Line = 1
                }
            };

            var source = new Source("/test-path")
            {
                Name = "testSource"
            };

            var breakpoints = sourceMap.SetBreakpoints(source, breakpointList);

            Assert.Single(breakpoints);
        }
        public void DebuggerSourceMap_Add_With_Remove()
        {
            var          codeModel = new CodeModel();
            ISourceMap   sourceMap = new DebuggerSourceMap(codeModel);
            const string item      = "test-item";

            var sourceRange = new SourceRange
            {
                Designer   = "testDesigner",
                Path       = "/test/path",
                StartPoint = new SourcePoint(0, 0),
                EndPoint   = new SourcePoint(10, 10)
            };

            // Add the item to the map.
            sourceMap.Add(item, sourceRange);
            Assert.True(sourceMap.TryGetValue(item, out _));

            // Add the same item so it removes it from the map before adding it again.
            sourceMap.Add(item, sourceRange);
            Assert.True(sourceMap.TryGetValue(item, out _));
        }
        public void DebuggerSourceMap_Assign_SourceRange()
        {
            var stackFrame = new StackFrame
            {
                Id   = 1,
                Name = "TestFrame"
            };
            var sourceRange = new SourceRange
            {
                Designer   = "testDesigner",
                Path       = "test.path",
                StartPoint = new SourcePoint(0, 0),
                EndPoint   = new SourcePoint(10, 10)
            };

            DebuggerSourceMap.Assign(stackFrame, sourceRange);

            Assert.Equal(sourceRange.Designer, stackFrame.Designer);
            Assert.Equal(sourceRange.Path, stackFrame.Source.Path);
            Assert.Equal(sourceRange.StartPoint.LineIndex, stackFrame.Line);
            Assert.Equal(sourceRange.EndPoint.LineIndex, stackFrame.EndLine);
            Assert.Equal(sourceRange.StartPoint.CharIndex, stackFrame.Column);
            Assert.Equal(sourceRange.EndPoint.CharIndex, stackFrame.EndColumn);
        }