import os
import numpy as np
from avenieca.config.broker import Broker
from avenieca.data import Signal
from avenieca.utils.signal import get_state_as_list, get_state_as_array
from avenieca.consumer import Consumer
config = Broker(
url=os.environ["KAFKA_URL"],
sub_topic="left_wheel",
group="test",
pub_topic="output"
)
signal = Signal(
valence=9.0,
state=[0.2, 0.3, 0.8]
)
# Basic handler
def handler(data):
valence = data["valence"]
state = data["state"]
assert valence == 10
assert state == "[0.2, 0.3, 0.8]"
client = Consumer(config=config)
client.consume(handler, True) # Pass in handler
# Handler with get_state_as_list
def handler1(data):
assert data["valence"] == 10
assert data["state"] == "[0.2, 0.3, 0.8]"
get_state_as_list(data)
assert data["state"] == [0.2, 0.3, 0.8]
# Handler with get_state_as_array
def handler2(data):
assert data["valence"] == 10
assert data["state"] == "[0.2, 0.3, 0.8]"
get_state_as_array(data)
assert True, np.array_equal(data["state"], np.array([0.2, 0.3, 0.8]))