public void Test_VerifyAverageBetweenDataContextSwitch() { SampleAggregator uut = new SampleAggregator(); uint count = 200; uint value = 10; var samples = GenerateSamples(count, value, value); List<AggregatedSample> aggregatedSamples = new List<AggregatedSample>(); uut.DataAggregatedEvent += sampleString => { aggregatedSamples.Add(ConvertToSample(sampleString)); }; uut.AggregateData(samples, FeatureVectorType.AverageContextSwitch); Assert.AreEqual<int>((int)(count / value), aggregatedSamples.Count); uint expectedValue = (value * (value - 1)) / (value - 1); // foreach (AggregatedSample s in aggregatedSamples) { Assert.AreEqual<uint>(expectedValue, s.EventValue1); Assert.AreEqual<uint>(expectedValue, s.EventValue2); Assert.AreEqual<uint>(expectedValue, s.EventValue3); Assert.AreEqual<uint>(expectedValue, s.EventValue4); Assert.AreEqual<uint>(expectedValue, s.EventValue5); Assert.AreEqual<uint>(expectedValue, s.EventValue6); } }
public void Test_VerifyBinningWorks() { SampleAggregator uut = new SampleAggregator(); uint count = 1000; uint value = 10; var samples = GenerateDifferentSamples(count, value, 50); List<string> aggregatedSamples = new List<string>(); uut.DataAggregatedEvent += sampleString => { aggregatedSamples.Add(sampleString); }; uut.AggregateData(samples, FeatureVectorType.Histogram); }
public void Test_VerifySumBetweenDataContextSwitchWithSampleCountDimension() { SampleAggregator uut = new SampleAggregator(); uint count = 520; uint value = 10; var samples = GenerateSamples(count, value, value); List<AggregatedSample> aggregatedSamples = new List<AggregatedSample>(); uut.DataAggregatedEvent += sampleString => { aggregatedSamples.Add(ConvertToSample(sampleString)); }; uut.AggregateData(samples, FeatureVectorType.SummedContextSwitchWithTotalCountIncluded); Assert.AreEqual<int>((int)(count / value), aggregatedSamples.Count); uint expectedValue = value * (value - 1); foreach (AggregatedSample s in aggregatedSamples) { Assert.AreEqual<uint>(expectedValue, s.EventValue1); Assert.AreEqual<uint>(expectedValue, s.EventValue2); Assert.AreEqual<uint>(expectedValue, s.EventValue3); Assert.AreEqual<uint>(expectedValue, s.EventValue4); Assert.AreEqual<uint>(expectedValue, s.EventValue5); Assert.AreEqual<uint>(expectedValue, s.EventValue6); Assert.AreEqual<uint>(value - 1, s.SampleCountBetweenContextSwitches); } }