コード例 #1
0
        public void can_calulate_total_time_under_properly_for_single_item()
        {
            var count = new CountsAndTimes();

            count.ProcessNewEntry(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 10
            });
            Assert.AreEqual(10, count.TotalTimeUnder);
        }
コード例 #2
0
        public void can_calulate_total_time_properly_for_single_item_with_no_children()
        {
            var count = new CountsAndTimes();

            count.ProcessNewEntry(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 10
            });
            Assert.AreEqual(10, count.TotalTime);
            Assert.AreEqual(10, count.MaxTime);
            Assert.AreEqual(10, count.MinTime);
            Assert.AreEqual(10, count.AverageTime);
        }
コード例 #3
0
        public void updates_count_when_removing_a_sample()
        {
            var count = new CountsAndTimes();

            count.ProcessNewEntry(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 10
            });
            count.RemoveEntry(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 10
            });
            Assert.AreEqual(0, count.TimesCalled);
        }
コード例 #4
0
        public void updates_avg_when_removing_a_sample()
        {
            var count = new CountsAndTimes();

            count.ProcessNewEntry(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 10
            });
            count.RemoveEntry(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 10
            });
            Assert.AreEqual(double.NaN, count.AverageTime);
        }
コード例 #5
0
        public void does_change_min_under_lower_if_lower()
        {
            var count = new CountsAndTimes();

            count.ProcessNewEntry(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 10
            });
            count.ProcessNewEntry(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 6
            });
            Assert.AreEqual(6, count.MinTimeUnder);
        }
コード例 #6
0
        public void does_not_change_max_under_if_not_higher()
        {
            var count = new CountsAndTimes();

            count.ProcessNewEntry(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 10
            });
            count.ProcessNewEntry(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 6
            });
            Assert.AreEqual(10, count.MaxTimeUnder);
        }
コード例 #7
0
        public void can_calulate_total_time_properly_for_single_item_with_single_child()
        {
            var count = new CountsAndTimes();
            var chain = new CallChain("TEST", "TESTR", 1)
            {
                StartTime = 0, EndTime = 10
            };

            chain.Children.Add(new CallChain("TEST1", "TESTR", 3)
            {
                StartTime = 3, EndTime = 5
            });
            count.ProcessNewEntry(chain);
            Assert.AreEqual(8, count.TotalTime);
            Assert.AreEqual(8, count.MaxTime);
            Assert.AreEqual(8, count.MinTime);
            Assert.AreEqual(8, count.AverageTime);
        }
コード例 #8
0
        public void does_not_include_children_that_are_itself_when_counting_with_multiple_children()
        {
            var count = new CountsAndTimes();
            var chain = new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 0, EndTime = 10
            };

            chain.Children.Add(new CallChain("TEST", "TESTR", 3)
            {
                StartTime = 3, EndTime = 5
            });
            chain.Children.Add(new CallChain("TEST1", "TESTR", 3)
            {
                StartTime = 5, EndTime = 7
            });
            count.ProcessNewEntry(chain);
            Assert.AreEqual(8, count.TotalTime);
            Assert.AreEqual(8, count.MaxTime);
            Assert.AreEqual(8, count.MinTime);
            Assert.AreEqual(8, count.AverageTime);
        }