public void AddCoverageBlock_Adds_BlockToCurrentMethodToReport()
        {
            //arrange
            receiver.EnterAssembly(0, "DomainName", "AssemblyName", "ModuleName");
            receiver.EnterTypedef("TypedefName", 0);
            receiver.EnterMethod("MethodName", "MethodSig", 0, 0, 0, 0, 0);
            var blockData = new BLOCK_DATA {
                position = 99, visitCount = 0, blockLen = 0
            };

            //act
            receiver.AddCoverageBlock(blockData);

            //assert
            Assert.AreEqual(1, receiver.Report.Assemblies[0].Types[0].Methods[0].Blocks.Count);
            Assert.AreEqual(99, receiver.Report.Assemblies[0].Types[0].Methods[0].Blocks[0].Offset);
        }
Example #2
0
        /// <summary>
        /// Called when receiving a report about an instrumented block
        /// </summary>
        /// <param name="blockData"></param>
        public void AddCoverageBlock(BLOCK_DATA blockData)
        {
            var block = (currentMethod.Blocks.Count > 0) ? currentMethod.Blocks.Find(x => x.Offset == blockData.position) : null;

            if (block != null)
            {
                //block.Length = blockData.blockLen;
                block.VisitCount = blockData.visitCount;
            }
            else
            {
                currentMethod.Blocks.Add(new MethodBlock
                {
                    File   = 0,
                    Offset = blockData.position,
                    //Length = blockData.blockLen,
                    VisitCount = blockData.visitCount,
                    Start      = new Position(),
                    End        = new Position(),
                });
            }
        }
        public void AddCoverageBlock_Adds_BlockToCurrentMethodToReport()
        {
            //arrange
            receiver.EnterAssembly(0, "DomainName", "AssemblyName", "ModuleName");
            receiver.EnterTypedef("TypedefName", 0);
            receiver.EnterMethod("MethodName", "MethodSig", 0, 0, 0, 0, 0);
            var blockData = new BLOCK_DATA { position = 99, visitCount = 0, blockLen = 0 };

            //act
            receiver.AddCoverageBlock(blockData);

            //assert
            Assert.AreEqual(1, receiver.Report.Assemblies[0].Types[0].Methods[0].Blocks.Count);
            Assert.AreEqual(99, receiver.Report.Assemblies[0].Types[0].Methods[0].Blocks[0].Offset);
        }
 /// <summary>
 /// Called when receiving a report about an instrumented block
 /// </summary>
 /// <param name="blockData"></param>
 public void AddCoverageBlock(BLOCK_DATA blockData)
 {
     var block = (currentMethod.Blocks.Count > 0) ? currentMethod.Blocks.Find(x => x.Offset == blockData.position) : null;
     if (block != null)
     {
         //block.Length = blockData.blockLen;
         block.VisitCount = blockData.visitCount;
     }
     else
     {
         currentMethod.Blocks.Add(new MethodBlock
         {
             File = 0,
             Offset = blockData.position,
             //Length = blockData.blockLen,
             VisitCount = blockData.visitCount,
             Start = new Position(),
             End = new Position(),
         });
     }
 }