public void ProcessRecords_BatchRecordsEndMidBatch_ProcessedProperly() { var config = new DataCollectorConfiguration { MsmqQueueName = "unittest-2-" + DateTime.Now.ToString("u") }; var q = new MsmqRecordRepository(new DatasourceRecordSerializer(), config); var dummyData = PushDummyRecords(q, 5); var processed = new List <IEnumerable <DatasourceRecord> >(); q.ProcessRecords(processed.Add, 2); Assert.AreEqual(3, processed.Count); Assert.AreEqual(2, processed[0].Count()); Assert.IsTrue(dummyData[0].Equivalent(processed[0].ToArray()[0])); Assert.IsTrue(dummyData[1].Equivalent(processed[0].ToArray()[1])); Assert.AreEqual(2, processed[1].Count()); Assert.IsTrue(dummyData[2].Equivalent(processed[1].ToArray()[0])); Assert.IsTrue(dummyData[3].Equivalent(processed[1].ToArray()[1])); Assert.AreEqual(1, processed[2].Count()); Assert.IsTrue(dummyData[4].Equivalent(processed[2].ToArray()[0])); }
public RandomDatasource(DataCollectorConfiguration configuration) { _min = (double)configuration.RandomDatasourceMin; _max = (double)configuration.RandomDatasourceMax; Id = configuration.RandomDatasourceDeviceID; Schedule = configuration.RandomDatasourceSchedule;//configuration.RandomDatasourceIntervalSeconds }
public void ProcessRecords_InvalidBatchSize_RaiseException() { var config = new DataCollectorConfiguration { MsmqQueueName = "unittest-3-" + DateTime.Now.ToString("u") }; var q = new MsmqRecordRepository(new DatasourceRecordSerializer(), config); var processed = new List <IEnumerable <DatasourceRecord> >(); q.ProcessRecords(processed.Add, 0); }
public void ProcessRecords_NoRecords_DontBomb() { var config = new DataCollectorConfiguration { MsmqQueueName = "unittest-3-" + DateTime.Now.ToString("u") }; var q = new MsmqRecordRepository(new DatasourceRecordSerializer(), config); var processed = new List <IEnumerable <DatasourceRecord> >(); q.ProcessRecords(processed.Add, 999); Assert.AreEqual(0, processed.Count); }
public ItemLoadedDatasource(ITimer timer, DataCollectorConfiguration configuration) { _timer = timer; _variation = configuration.ItemProducedTimeVariation; _rate = configuration.ItemProducedSampleRate; _rand = new Random(); _maxitems = configuration.ItemProducedMax; _timer.Tick += (sender, args) => StartRead(); _timer.Change(TimeSpan.Zero, TimeSpan.FromSeconds(_rate) + TimeSpan.FromSeconds((_rand.NextDouble() - 0.5) * _variation)); Id = configuration.ItemProducedDeviceID; }
public void StartRead_CreatesValue() { var config = new DataCollectorConfiguration { RandomDatasourceMin = 10, RandomDatasourceMax = 20 }; var r = new RandomDatasource(config); DataReceivedEventArgs <decimal> args = null; r.DataReceived += (s, a) => args = a; r.StartRead(); Assert.IsTrue(args.Value > 10); Assert.IsTrue(args.Value < 20); }
public void ProcessRecords_RecordsWithoutBatching_ProcessedProperly() { var config = new DataCollectorConfiguration { MsmqQueueName = "unittest-1-" + DateTime.Now.ToString("u") }; var q = new MsmqRecordRepository(new DatasourceRecordSerializer(), config); var dummyData = PushDummyRecords(q, 5); var processed = new List <IEnumerable <DatasourceRecord> >(); q.ProcessRecords(processed.Add, 999); Assert.AreEqual(1, processed.Count); Assert.AreEqual(5, processed[0].Count()); //Sometimes we do unspeakable things in unit tests Assert.IsTrue(dummyData[0].Equivalent(processed[0].ToArray()[0])); Assert.IsTrue(dummyData[1].Equivalent(processed[0].ToArray()[1])); Assert.IsTrue(dummyData[2].Equivalent(processed[0].ToArray()[2])); Assert.IsTrue(dummyData[3].Equivalent(processed[0].ToArray()[3])); Assert.IsTrue(dummyData[4].Equivalent(processed[0].ToArray()[4])); }
public CPUDatasource(DataCollectorConfiguration configuration) { Id = configuration.CPUDeviceID; Schedule = configuration.CPUDeviceSchedule; //configuration.CPUSampleRateSeconds }
public ApiHost(DataCollectorConfiguration configuration, IContainer controllerResolver) { _configuration = configuration; _controllerResolver = controllerResolver; }