[ 'EH123456', [ ['id' => 109, 'value' => 3], ['ObservationId' => 110, 'Value' => 30], ], ], ], ['EH123456']); self::assertSame([ ['Seriennummer' => 'EH123456', 'ID' => 109, 'Wert' => 3], ['Seriennummer' => 'EH123456', 'ID' => 110, 'Wert' => 30], ], $beobachtungen); } public function testNichtAbonnierteStationenUndUnbekannteIdsWerdenIgnoriert(): void { $beobachtungen = EaseeGatewayProtokoll::extrahiereBeobachtungen([ [ 'serialNumber' => 'EH999999', 'id' => 109, 'value' => 3, ], [ 'serialNumber' => 'EH123456', 'id' => 999, 'value' => 1, ], ], ['EH123456']); self::assertSame([], $beobachtungen); } public function testRestBeobachtungenVerwendenAngefragteSeriennummer(): void { $beobachtungen = EaseeGatewayProtokoll::extrahiereBeobachtungen([ ['id' => 109, 'value' => 1], ['observationId' => 110, 'value' => 30], ], ['EU2FGKEU'], 'EU2FGKEU'); self::assertSame([ ['Seriennummer' => 'EU2FGKEU', 'ID' => 109, 'Wert' => 1], ['Seriennummer' => 'EU2FGKEU', 'ID' => 110, 'Wert' => 30], ], $beobachtungen); } public function testFreigabediagnoseWirdAusBeobachtungenExtrahiert(): void { $beobachtungen = EaseeGatewayProtokoll::extrahiereBeobachtungen([ 'serialNumber' => 'EH123456', 'observations' => [ ['id' => 42, 'value' => true], ['id' => 43, 'value' => true], ['id' => 96, 'value' => 55], ], ], ['EH123456']); self::assertSame([ ['Seriennummer' => 'EH123456', 'ID' => 42, 'Wert' => true], ['Seriennummer' => 'EH123456', 'ID' => 43, 'Wert' => true], ['Seriennummer' => 'EH123456', 'ID' => 96, 'Wert' => 55], ], $beobachtungen); } public function testSeriennummerWirdNormalisiert(): void { self::assertSame( 'EH123456', EaseeGatewayProtokoll::seriennummer(' eh123456 ') ); } }