From 2b2b42ee2aacd27cd74c9ea4796d50686efab14e Mon Sep 17 00:00:00 2001 From: SoulKa Date: Tue, 16 Jan 2024 11:53:46 +0100 Subject: [PATCH] add Sense() test --- aht20/aht20_test.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 aht20/aht20_test.go diff --git a/aht20/aht20_test.go b/aht20/aht20_test.go new file mode 100644 index 0000000..ef833bd --- /dev/null +++ b/aht20/aht20_test.go @@ -0,0 +1,36 @@ +package aht20 + +import ( + "periph.io/x/conn/v3/i2c" + "periph.io/x/conn/v3/i2c/i2ctest" + "periph.io/x/conn/v3/physic" + "testing" +) + +func TestDev_Sense(t *testing.T) { + bus := i2ctest.Playback{ + Ops: []i2ctest.IO{ + // Trigger measurement + {Addr: deviceAddress, W: argsMeasure}, + // Read measurement + {Addr: deviceAddress, R: []byte{0x18, 0x75, 0x52, 0x05, 0x8E, 0x40, 0x7F}}, + }, + } + dev := Dev{d: &i2c.Dev{Bus: &bus, Addr: deviceAddress}, opts: DefaultOpts} + e := physic.Env{} + if err := dev.Sense(&e); err != nil { + t.Fatal(err) + } + if expected := 19445800781*physic.NanoKelvin + physic.ZeroCelsius; e.Temperature != expected { + t.Fatalf("temperature %s(%d) != %s(%d)", expected, expected, e.Temperature, e.Temperature) + } + if expected := 4582824 * physic.TenthMicroRH; e.Humidity != expected { + t.Fatalf("humidity %s(%d) != %s(%d)", expected, expected, e.Humidity, e.Humidity) + } + if expected := 0 * physic.Pascal; e.Pressure != expected { + t.Fatalf("pressure %s(%d) != %s(%d)", expected, expected, e.Pressure, e.Pressure) + } + if err := bus.Close(); err != nil { + t.Fatal(err) + } +}