static void Main(string[] args) { //setup our DI var serviceProvider = new ServiceCollection() .AddLogging() .AddSensorEvaluator(factory => factory.RegisterSensor("crazy", (name, refs, calc) => new CrazySensor(name))) .BuildServiceProvider(); var logFile = File.ReadAllText(@"logs.txt"); Console.WriteLine(SensorEvaluator.EvaluateLogFile(logFile)); }
public void Context() { _output = SensorEvaluator.EvaluateLogFile( @"reference 70.0 45.0 6 thermometer temp-1 2007-04-05T22:00 72.4 2007-04-05T22:01 76.0 2007-04-05T22:02 79.1 2007-04-05T22:03 75.6 2007-04-05T22:04 71.2 2007-04-05T22:05 71.4 2007-04-05T22:06 69.2 2007-04-05T22:07 65.2 2007-04-05T22:08 62.8 2007-04-05T22:09 61.4 2007-04-05T22:10 64.0 2007-04-05T22:11 67.5 2007-04-05T22:12 69.4 thermometer temp-2 2007-04-05T22:01 69.5 2007-04-05T22:02 70.1 2007-04-05T22:03 71.3 2007-04-05T22:04 71.5 2007-04-05T22:05 69.8 humidity hum-1 2007-04-05T22:04 45.2 2007-04-05T22:05 45.3 2007-04-05T22:06 45.1 humidity hum-2 2007-04-05T22:04 44.4 2007-04-05T22:05 43.9 2007-04-05T22:06 44.9 2007-04-05T22:07 43.8 2007-04-05T22:08 42.1 monoxide mon-1 2007-04-05T22:04 5 2007-04-05T22:05 7 2007-04-05T22:06 9 monoxide mon-2 2007-04-05T22:04 2 2007-04-05T22:05 4 2007-04-05T22:06 10 2007-04-05T22:07 8 2007-04-05T22:08 6 "); }
public void StaticEvaluateLogFile_ShouldCallEvaluateOnInstancePassedToInitialize() { // Adding the following assertion since we're testing static behavior, spreading the tests // around caused random success so putting this one here to ensure behavior Assert.That(() => SensorEvaluator.EvaluateLogFile("blah"), Throws.InvalidOperationException); const string HELLO_WORLD = "hello world"; var mockSensor = new Mock <ISensorEvaluator>(MockBehavior.Strict); mockSensor .Setup(s => s.Evaluate(It.Is <string>(p => p == HELLO_WORLD))) .Returns(HELLO_WORLD); SensorEvaluator.Initialize(mockSensor.Object); var actual = SensorEvaluator.EvaluateLogFile(HELLO_WORLD); Assert.That(actual, Is.EqualTo(HELLO_WORLD)); mockSensor.Verify(s => s.Evaluate(It.Is <string>(p => p == HELLO_WORLD)), Times.Once); }
public async Task <ActionResult <string> > Evaluate() { var logFile = await new StreamReader(Request.Body).ReadToEndAsync(); return(Ok(SensorEvaluator.EvaluateLogFile(logFile))); }