{
  "_note": "Prueffaelle parseQuantityMilli (Inventur zaehlen an der Kasse): eingetippter Text, Einheit und gespeicherte Mengenregel des Artikels (rule: piece | decimal | null) -> Tausendstel der Basiseinheit oder null. Stueckware (rule, ohne rule die Vorgabe der Einheit nach quantityRuleForUnit, auch ohne Einheit) nur ganze Zahlen ohne Trenner. Punkt mit genau drei Ziffern und Ganzteil ungleich 0 ist bei jeder Einheit null (Tausenderpunkt oder Dezimalpunkt?). Von Hand gepflegt; der Dart-Zwilling prueft dieselben Faelle.",
  "cases": [
    { "text": "12", "unit": "Stk", "rule": null, "expected": 12000 },
    { "text": "0", "unit": "Stk", "rule": null, "expected": 0 },
    { "text": "00012", "unit": "Stk", "rule": null, "expected": 12000 },
    { "text": " 7 ", "unit": "Stk", "rule": null, "expected": 7000 },
    { "text": "37", "unit": null, "rule": null, "expected": 37000 },
    { "text": "12,5", "unit": "Stk", "rule": null, "expected": null },
    { "text": "12,0", "unit": "Stk", "rule": null, "expected": null },
    { "text": "1.000", "unit": "Stk", "rule": null, "expected": null },
    { "text": "1,5", "unit": null, "rule": null, "expected": null },
    { "text": "250", "unit": "g", "rule": null, "expected": 250000 },
    { "text": "2,5", "unit": "g", "rule": null, "expected": null },
    { "text": "0,25", "unit": "kg", "rule": null, "expected": 250 },
    { "text": "0,250", "unit": "kg", "rule": null, "expected": 250 },
    { "text": "1.5", "unit": "kg", "rule": null, "expected": 1500 },
    { "text": "0,001", "unit": "kg", "rule": null, "expected": 1 },
    { "text": "1,2340", "unit": "kg", "rule": null, "expected": 1234 },
    { "text": "1,2345", "unit": "kg", "rule": null, "expected": null },
    { "text": "1.000", "unit": "kg", "rule": null, "expected": null },
    { "text": ",5", "unit": "kg", "rule": null, "expected": 500 },
    { "text": "5,", "unit": "kg", "rule": null, "expected": 5000 },
    { "text": "1,25", "unit": "l", "rule": null, "expected": 1250 },
    { "text": "2,75", "unit": "m", "rule": null, "expected": 2750 },
    { "text": "", "unit": "kg", "rule": null, "expected": null },
    { "text": " ", "unit": "kg", "rule": null, "expected": null },
    { "text": ",", "unit": "kg", "rule": null, "expected": null },
    { "text": "-1", "unit": "kg", "rule": null, "expected": null },
    { "text": "+1", "unit": "kg", "rule": null, "expected": null },
    { "text": "1e3", "unit": "kg", "rule": null, "expected": null },
    { "text": "1 000", "unit": "kg", "rule": null, "expected": null },
    { "text": "1,2,3", "unit": "kg", "rule": null, "expected": null },
    { "text": "0x10", "unit": "Stk", "rule": null, "expected": null },
    { "text": "zwölf", "unit": "Stk", "rule": null, "expected": null },
    { "text": "9007199254740", "unit": "Stk", "rule": null, "expected": 9007199254740000 },
    { "text": "9007199254741", "unit": "Stk", "rule": null, "expected": null },
    { "text": "12.500", "unit": "kg", "rule": null, "expected": null },
    { "text": "1.200", "unit": "m", "rule": null, "expected": null },
    { "text": "1,000", "unit": "kg", "rule": null, "expected": 1000 },
    { "text": "1,200", "unit": "m", "rule": null, "expected": 1200 },
    { "text": "0.500", "unit": "kg", "rule": null, "expected": 500 },
    { "text": ".500", "unit": "kg", "rule": null, "expected": 500 },
    { "text": "00.500", "unit": "kg", "rule": null, "expected": 500 },
    { "text": "1.25", "unit": "kg", "rule": null, "expected": 1250 },
    { "text": "1.50", "unit": "l", "rule": null, "expected": 1500 },
    { "text": "2,5", "unit": "Stk", "rule": "decimal", "expected": 2500 },
    { "text": "2,5", "unit": "Rolle", "rule": "decimal", "expected": 2500 },
    { "text": "1.5", "unit": null, "rule": "decimal", "expected": 1500 },
    { "text": "1.000", "unit": "Stk", "rule": "decimal", "expected": null },
    { "text": "0,5", "unit": "kg", "rule": "piece", "expected": null },
    { "text": "3", "unit": "kg", "rule": "piece", "expected": 3000 },
    { "text": "12", "unit": "Stk", "rule": "piece", "expected": 12000 }
  ]
}
