public OnMetric ( CCMEngine.ccMetric metric, object context ) : void | ||
metric | CCMEngine.ccMetric | |
context | object | |
return | void |
public void OnMetric(ccMetric metric, object context)
{
lock (this.synchLock)
{
if (!ShouldFilter(metric))
{
bool inserted = false;
for (int i = 0; i < this.metrics.Count; ++i)
{
if (metric.CCM > this.metrics[i].CCM)
{
this.metrics.Insert(i, metric);
inserted = true;
break;
}
}
if (!inserted)
this.metrics.Add(metric);
if (this.metrics.Count > this.numMetrics)
this.metrics.RemoveAt(this.numMetrics);
}
}
}
public void CanContainMultipleMetricsWithSameCCM() { SortedListener l = new SortedListener(2, new List<string>(), 0); l.OnMetric(new ccMetric("a.cpp", "Foo::Bar", 3, 0), null); l.OnMetric(new ccMetric("b.cpp", "Foo::Bar2", 3, 0), null); Assert.AreEqual(2, l.Metrics.Count); Assert.AreEqual(3, l.Metrics[0].CCM); Assert.AreEqual(3, l.Metrics[1].CCM); }