Esempio n. 1
0
        public void Upsert_All_Frames_At_The_Current_Position()
        {
            var options = new IndexOptions()
            {
                MemoryRanges = new []
                {
                    new MemoryRange(0x100, 0x200),
                }
            };
            var indexMethod = new IndexMethod();
            var sc          = new ServerClientBuilder();

            sc.WithUpsertFrames(() =>
            {
            });
            sc.WithAddMemoryRange();
            var ttf = new TimeTravelFacadeBuilder();

            ttf.WithPositions(new PositionsResult(new[]
            {
                new PositionsRecord(1, new Position(1, 1), true),
                new PositionsRecord(2, new Position(1, 1), false),
            }));
            var dbg = new DebugEngineProxyBuilder();

            dbg.WithReadVirtualMemory(new byte[] { 0x00, 0x11 });
            indexMethod.ServerClient     = sc.Build();
            indexMethod.TimeTravelFacade = ttf.Build();
            indexMethod.DebugEngineProxy = dbg.Build();

            indexMethod.UpsertCurrentPosition(options);
            sc.Mock.Verify(client => client.UpsertFrames(It.Is <IEnumerable <Frame> >(frames => frames.Count() == 2)), Times.Once);
            sc.Mock.Verify(client => client.AddMemoryRange(It.IsAny <MemoryChunk>()), Times.Once);
        }