static public void OneFieldTest() { String sensor_id = "28-0000055f1020"; var sensor = new SensorDS18B20(sensor_id); Double temperature = 36.6; DateTime timestamp = DateTime.Now; var measurement = new DS18B20Measurement(sensor, temperature, timestamp); var config = new ConfigurationMock("API key", 1, new Dictionary <Int32, String> { { 1, sensor_id } }); var measurement_list = new List <Measurement> { measurement }; ThingSpeakFeed result = ConverterMeasurement2ThingSpeakFeed.Convert(measurement_list, config); // First field should contain temperature Assert.That(result.Field1, Is.EqualTo(temperature.ToString())); // Other fields should be empty // TODO: add a helper function to make an array instead of all there FieldN properties? Assert.That(result.Field2, Is.Null); Assert.That(result.Field3, Is.Null); Assert.That(result.Field4, Is.Null); Assert.That(result.Field5, Is.Null); Assert.That(result.Field6, Is.Null); Assert.That(result.Field7, Is.Null); Assert.That(result.Field8, Is.Null); Assert.That(result.CreatedAt, Is.EqualTo(timestamp).Within(1).Seconds); //TODO add verification for other fields if needed }
public static void TempAsDoubleConstructorTest() { var sensor = new SensorDS18B20("28-0000055f311a"); Double temp = 20.0; DateTime timestamp = DateTime.Now; var measurement = new DS18B20Measurement(sensor, temp, timestamp); Assert.That(measurement.Sensor, Is.EqualTo(sensor)); Assert.That(measurement.Value, Is.EqualTo(temp)); Assert.That(measurement.Timestamp, Is.EqualTo(timestamp)); }
public static void TempAsGoodFileContentsConstructorTest() { var sensor = new SensorDS18B20("28-0000055f311a"); String file_contents = "50 05 ff ff f0 ff ff ff 5c : crc=5c YES" + Environment.NewLine + "50 05 ff ff f0 ff ff ff 5c t=25000"; Double expected_temp = 25.0; DateTime timestamp = DateTime.Now; var measurement = new DS18B20Measurement(sensor, file_contents, timestamp); Assert.That(measurement.Sensor, Is.EqualTo(sensor)); Assert.That(measurement.Value, Is.EqualTo(expected_temp)); Assert.That(measurement.Timestamp, Is.EqualTo(timestamp)); }
static public void SuccessfullReadOfPositiveTemperatureTest() { String file_contents = "50 05 ff ff f0 ff ff ff 5c : crc=5c YES" + Environment.NewLine + "50 05 ff ff f0 ff ff ff 5c t=25123"; var fileSystem = new MockFileSystem(new Dictionary <string, MockFileData> { { @"/sys/bus/w1/devices/28-0000055f311a/w1_slave", new MockFileData(file_contents) } }); var sensor = new SensorDS18B20("28-0000055f311a", fileSystem); List <Measurement> measurements = sensor.ReadMeasurements(); Assert.That(measurements.Count, Is.EqualTo(1)); DS18B20Measurement measurement = (DS18B20Measurement)measurements[0]; Assert.That(measurement.Value, Is.EqualTo(25.123)); //TODO add verification of timestamp Assert.That(measurement.Sensor, Is.EqualTo(sensor)); }