SPB Git

spb/wp37_uqo

Public
1.3 KB · 23 lines python
1from src.cleaning.units import parse_size, parse_price_label, unit_price23def test_sizes():4    assert parse_size("450 g").qty == 450 and parse_size("450 g").base == "g"5    assert parse_size("2 L").qty == 2000 and parse_size("2 L").base == "ml"6    assert parse_size("12 x 355 ml").qty == 12 * 3557    assert parse_size("1,36 kg").qty == 13608    assert parse_size("6 un").base == "un" and parse_size("6 un").qty == 69    assert parse_size("Vendu individuellement").base == "un"10    s = parse_size("Une barquette contient en moyenne 1250 g"); assert s.qty == 1250 and s.approx11    s = parse_size("", "Lait 2% 2 L"); assert s.qty == 2000 and s.source == "name"12    s = parse_size("1,2 - 1,5 kg"); assert abs(s.qty - 1350) < 1e-6 and s.approx13    assert parse_size("") is None and parse_size(None, None) is None1415def test_labels_and_unit_price():16    pl = parse_price_label("6,57 $ / kg"); assert pl.per_weight_unit == "kg"17    assert unit_price(6.57, None, pl) == (0.657, "100 g")18    pl = parse_price_label("2 / 5,00 $"); assert pl.multibuy_n == 2 and pl.multibuy_total == 5.019    assert unit_price(4.99, parse_size("500 g")) == (0.998, "100 g")20    assert unit_price(3.0, parse_size("6 un")) == (0.5, "un")21    assert unit_price(None, parse_size("500 g")) is None22    assert unit_price(4.99, None) is None23
Files · 89317422cb4dbea4320a6406686df61364732b72
Menu

Theme