Esempio n. 1
0
def test_datetime_multi_type():
    today = now()
    field = MultiType("datetime", today)
    assert field.type == "datetime"
    assert field.value == today

    field = MultiType("datetime", str(today))

    assert field.type == "datetime"
    assert field.value == today
Esempio n. 2
0
def test_int_multi_type():
    field_1 = MultiType("int", 10)
    field_2 = MultiType("int", 10.5)
    field_3 = MultiType("int", "10")

    assert field_1.type == "int"
    assert field_2.type == "int"
    assert field_3.type == "int"

    assert field_1.value == 10
    assert field_2.value == 10
    assert field_3.value == 10
Esempio n. 3
0
def test_float_multi_type():
    field_1 = MultiType("float", 10)
    field_2 = MultiType("float", 10.5)
    field_3 = MultiType("float", "10")
    field_4 = MultiType("float", "10.5")

    assert field_1.type == "float"
    assert field_2.type == "float"
    assert field_3.type == "float"
    assert field_4.type == "float"

    assert field_1.value == 10.0
    assert field_2.value == 10.5
    assert field_3.value == 10.0
    assert field_4.value == 10.5
Esempio n. 4
0
def test_dato_procesado_model_float(basic_models: Tuple[Plc, Area, Fila, Dato]):
    plc, area, fila, dato = basic_models
    dato_procesado = DatoProcesado.objects.create(
        plc=plc,
        area=area,
        fila=fila,
        raw_dato=dato,
        name="test",
        date=now(),
        dato=MultiType("float", 10.5)
    )
    assert dato_procesado.dato.value == 10.5
Esempio n. 5
0
def test_dato_procesado_model_datetime(basic_models: Tuple[Plc, Area, Fila, Dato]):
    plc, area, fila, dato = basic_models
    today = now()
    dato_procesado = DatoProcesado.objects.create(
        plc=plc,
        area=area,
        fila=fila,
        raw_dato=dato,
        name="test",
        date=now(),
        dato=MultiType("datetime", str(today))
    )
    assert dato_procesado.dato.value == today
Esempio n. 6
0
def test_dato_procesado_model_bool(basic_models: Tuple[Plc, Area, Fila, Dato]):
    plc, area, fila, dato = basic_models

    dato_procesado = DatoProcesado.objects.create(
        plc=plc,
        area=area,
        fila=fila,
        raw_dato=dato,
        name="test",
        date=now(),
        dato=MultiType("bool", "True")
    )
    assert dato_procesado.dato.value == True
    assert dato_procesado.dato.type == "bool"
def initial_data():
    plc = Plc.objects.create(ip="127.0.0.1", rack=0, slot=0, port=1012)
    area = Area.objects.create(plc=plc,
                               nombre="area 1",
                               numero=1,
                               offset=10,
                               area=Area.DB)
    fila = Fila.objects.create(name="fila 1",
                               area=area,
                               byte=0,
                               bit=0,
                               tipo_dato=Fila.BOOL)
    dato = Dato.objects.create(area=area, dato=bytearray(10))
    dato_procesado = DatoProcesado.objects.create(plc=plc,
                                                  area=area,
                                                  fila=fila,
                                                  raw_dato=dato,
                                                  date=now(),
                                                  dato=MultiType(type="bool",
                                                                 value="True"))
Esempio n. 8
0
def test_bool_multi_type():
    field_1 = MultiType("bool", True)
    field_2 = MultiType("bool", False)
    field_3 = MultiType("bool", "False")
    field_4 = MultiType("bool", "false")
    field_5 = MultiType("bool", 0)
    field_6 = MultiType("bool", 1)

    
    assert field_1.type == "bool"
    assert field_2.type == "bool"
    assert field_3.type == "bool"
    assert field_4.type == "bool"
    assert field_5.type == "bool"
    assert field_6.type == "bool"

    assert field_1.value == True
    assert field_2.value == False
    assert field_3.value == False
    assert field_4.value == False
    assert field_5.value == False
    assert field_6.value == True
def basic_models() -> Tuple[Plc, Area, Fila, Dato]:
    plc = Plc.objects.create(ip=ip, rack=rack, slot=slot, port=port, nombre="test plc")
    area = Area.objects.create(plc=plc, area=Area.DB, nombre="area 1", numero=1, offset=10)
    fila = Fila.objects.create(area=area, name="fila 1", byte=0, bit=0, tipo_dato=Fila.INT)
    fila_2 = Fila.objects.create(area=area, name="fila 2", byte=2, bit=0, tipo_dato=Fila.INT)
    dato_1 = Dato.objects.create(area=area, dato=bytearray([100]))
    dato_2 = Dato.objects.create(area=area, dato=bytearray([150]))
    dato_3 = Dato.objects.create(area=area, dato=bytearray([200]))
    dato_4 = Dato.objects.create(area=area, dato=bytearray([0, 0, 200]))
    DatoProcesado.objects.create(area=area, plc=plc, fila=fila, raw_dato=dato_1, date=now(), dato=MultiType("int", 100))
    DatoProcesado.objects.create(area=area, plc=plc, fila=fila, raw_dato=dato_2, date=now() + timedelta(seconds=10), dato=MultiType("int", 150))
    DatoProcesado.objects.create(area=area, plc=plc, fila=fila, raw_dato=dato_3, date=now() + timedelta(seconds=20), dato=MultiType("int", 200))
    DatoProcesado.objects.create(area=area, plc=plc, fila=fila_2, raw_dato=dato_4, date=now(), dato=MultiType("int", 0))