Exemplo n.º 1
0
        public void CollectedValuesArePlotted()
        {
            var values = Enumerable.Range(0, 5).Select(x => DateTime.MinValue.AddHours(x)).Select(x => new DataValueAdapter(x, null)).ToList();
            var probeReader = new MockProbeReader(values);

            var dataLogger = new Mock<IDataLoggerAdapter>();
            dataLogger.Setup(x => x.Plot(It.IsAny<IEnumerable<DataValueAdapter>>()))
                .Callback<IEnumerable<DataValueAdapter>>(plottedValues => Assert.That(plottedValues, Is.EqualTo(values)));
            var dataPlotter = new ThreadSafeDataPlotter(new[] { probeReader }, dataLogger.Object);

            dataPlotter.Collect(5);
            dataLogger.Verify(d => d.Plot(It.IsAny<IEnumerable<DataValueAdapter>>()));
        }
Exemplo n.º 2
0
        public void CollectsValuesDespiteNonTerminatingProbeReaders()
        {
            var values = Enumerable.Range(0, 5).Select(x => DateTime.MinValue.AddHours(x)).Select(x => new DataValueAdapter(x, null)).ToList();
            var probeReader = new MockProbeReader(values);
            var hangingProbeReader = new Mock<IProbeReaderAdapter>();
            hangingProbeReader.Setup(x => x.Read()).Returns(Hang());
            var probeReaderAdapters = new[] { hangingProbeReader.Object, probeReader, hangingProbeReader.Object};

            var dataLogger = new Mock<IDataLoggerAdapter>();
            dataLogger.Setup(x => x.Plot(It.IsAny<IEnumerable<DataValueAdapter>>()))
                .Callback<IEnumerable<DataValueAdapter>>(plottedValues => Assert.That(plottedValues, Is.EqualTo(values)));

            var dataPlotter = new ThreadSafeDataPlotter(probeReaderAdapters, dataLogger.Object);

            dataPlotter.Collect(5);
            dataLogger.Verify(d => d.Plot(It.IsAny<IEnumerable<DataValueAdapter>>()));
        }