{
  "cases": [
    {
      "id": "us-gallons-per-minute-to-litres-per-minute",
      "inputs": {
        "value": "2",
        "from_unit_id": "cx:gpm_us",
        "to_unit_id": "cx:L_min",
        "quantity_kind": "volume_flow_rate",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "473176473",
          "denominator": "62500000",
          "pi_power": 0
        },
        "decimal": "7.570823568e0",
        "binary64_hex": "401e4885f9316256",
        "binary64_status": "finite"
      },
      "source": "https://nvlpubs.nist.gov/nistpubs/hb/2026/NIST.HB.44-2026.pdf",
      "derivation": "Use 231 cubic inches per US liquid gallon and 0.0254 m per inch. The common per-minute basis cancels."
    },
    {
      "id": "cubic-feet-per-minute-to-cubic-metres-per-hour",
      "inputs": {
        "value": "10",
        "from_unit_id": "cx:cfm",
        "to_unit_id": "cx:m3_h",
        "quantity_kind": "volume_flow_rate",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "165919023",
          "denominator": "9765625",
          "pi_power": 0
        },
        "decimal": "1.69901079552e1",
        "binary64_hex": "4030fd77b70717eb",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "Multiply by (0.3048 m/ft)^3 and by 60 minutes per hour."
    },
    {
      "id": "cubic-metres-per-second-to-litres-per-second",
      "inputs": {
        "value": "0.0025",
        "from_unit_id": "cx:m3_s",
        "to_unit_id": "cx:L_s",
        "quantity_kind": "volume_flow_rate",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "5",
          "denominator": "2",
          "pi_power": 0
        },
        "decimal": "2.5e0",
        "binary64_hex": "4004000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "One cubic metre contains 1000 litres, with the same time denominator."
    },
    {
      "id": "litres-per-minute-to-millilitres-per-minute",
      "inputs": {
        "value": "0.125",
        "from_unit_id": "cx:L_min",
        "to_unit_id": "cx:mL_min",
        "quantity_kind": "volume_flow_rate",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "125",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.25e2",
        "binary64_hex": "405f400000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Multiply the numerator by 1000 millilitres per litre."
    },
    {
      "id": "kilograms-per-hour-to-kilograms-per-second",
      "inputs": {
        "value": "90",
        "from_unit_id": "cx:kg_h",
        "to_unit_id": "cx:kg_s",
        "quantity_kind": "mass_flow_rate",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "40",
          "pi_power": 0
        },
        "decimal": "2.5e-2",
        "binary64_hex": "3f9999999999999a",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Divide by 3600 seconds per hour."
    },
    {
      "id": "grams-per-second-to-kilograms-per-hour",
      "inputs": {
        "value": "7.5",
        "from_unit_id": "cx:g_s",
        "to_unit_id": "cx:kg_h",
        "quantity_kind": "mass_flow_rate",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "27",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "2.7e1",
        "binary64_hex": "403b000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Multiply by 3600 seconds per hour and divide by 1000 grams per kilogram."
    },
    {
      "id": "grams-per-cubic-centimetre-density",
      "inputs": {
        "value": "1.25",
        "from_unit_id": "cx:g_cm3",
        "to_unit_id": "cx:kg_m3",
        "quantity_kind": "mass_density",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1250",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.25e3",
        "binary64_hex": "4093880000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "A gram is 0.001 kg and a cubic centimetre is one millionth of a cubic metre."
    },
    {
      "id": "pounds-per-cubic-foot-density",
      "inputs": {
        "value": "1",
        "from_unit_id": "cx:lb_ft3",
        "to_unit_id": "cx:g_L",
        "quantity_kind": "mass_density",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "28349523125",
          "denominator": "1769802912",
          "pi_power": 0
        },
        "decimal": "1.601846337396013957965507065455659e1",
        "binary64_hex": "403004ba04035526",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "Divide the exact pound mass in kg by the cubed international foot in metres. A kg/m³ and a g/L have equal scale."
    },
    {
      "id": "milligrams-to-micrograms-per-litre",
      "inputs": {
        "value": "0.025",
        "from_unit_id": "cx:mg_L",
        "to_unit_id": "cx:ug_L",
        "quantity_kind": "mass_concentration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "25",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "2.5e1",
        "binary64_hex": "4039000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "The litre denominator stays fixed and one milligram contains 1000 micrograms."
    },
    {
      "id": "grams-to-milligrams-per-litre",
      "inputs": {
        "value": "0.125",
        "from_unit_id": "cx:g_L",
        "to_unit_id": "cx:mg_L",
        "quantity_kind": "mass_concentration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "125",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.25e2",
        "binary64_hex": "405f400000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Multiply grams by 1000 milligrams per gram."
    },
    {
      "id": "grams-per-cubic-centimetre-concentration",
      "inputs": {
        "value": "0.001",
        "from_unit_id": "cx:g_cm3",
        "to_unit_id": "cx:kg_m3",
        "quantity_kind": "mass_concentration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1e0",
        "binary64_hex": "3ff0000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "The units also support mass concentration. Multiply by 1000 kg/m³ per g/cm³ within that kind."
    },
    {
      "id": "moles-per-litre-to-moles-per-cubic-metre",
      "inputs": {
        "value": "0.125",
        "from_unit_id": "cx:mol_L",
        "to_unit_id": "cx:mol_m3",
        "quantity_kind": "amount_concentration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "125",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.25e2",
        "binary64_hex": "405f400000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "One cubic metre contains 1000 litres, so the denominator contributes a factor of 1000."
    },
    {
      "id": "millimoles-to-moles-per-litre",
      "inputs": {
        "value": "6.25",
        "from_unit_id": "cx:mmol_L",
        "to_unit_id": "cx:mol_L",
        "quantity_kind": "amount_concentration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "160",
          "pi_power": 0
        },
        "decimal": "6.25e-3",
        "binary64_hex": "3f7999999999999a",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Use exactly one thousandth of a mole per millimole."
    },
    {
      "id": "micromoles-to-millimoles-per-litre",
      "inputs": {
        "value": "750",
        "from_unit_id": "cx:umol_L",
        "to_unit_id": "cx:mmol_L",
        "quantity_kind": "amount_concentration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "3",
          "denominator": "4",
          "pi_power": 0
        },
        "decimal": "7.5e-1",
        "binary64_hex": "3fe8000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "One millimole is 1000 micromoles."
    },
    {
      "id": "grams-to-kilograms-per-mole",
      "inputs": {
        "value": "18.01528",
        "from_unit_id": "cx:g_mol",
        "to_unit_id": "cx:kg_mol",
        "quantity_kind": "molar_mass",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "225191",
          "denominator": "12500000",
          "pi_power": 0
        },
        "decimal": "1.801528e-2",
        "binary64_hex": "3f927298f9b68fca",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Convert the mass numerator from grams to kilograms with the mole denominator fixed."
    },
    {
      "id": "pascal-seconds-to-millipascal-seconds",
      "inputs": {
        "value": "0.002",
        "from_unit_id": "cx:Pa_s",
        "to_unit_id": "cx:mPa_s",
        "quantity_kind": "dynamic_viscosity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "2",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "2e0",
        "binary64_hex": "4000000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Multiply by 1000 millipascal-seconds per pascal-second."
    },
    {
      "id": "micropascal-seconds-to-millipascal-seconds",
      "inputs": {
        "value": "1250",
        "from_unit_id": "cx:uPa_s",
        "to_unit_id": "cx:mPa_s",
        "quantity_kind": "dynamic_viscosity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "5",
          "denominator": "4",
          "pi_power": 0
        },
        "decimal": "1.25e0",
        "binary64_hex": "3ff4000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Divide by 1000 micropascal-seconds per millipascal-second."
    },
    {
      "id": "poise-to-pascal-seconds",
      "inputs": {
        "value": "2.5",
        "from_unit_id": "cx:P",
        "to_unit_id": "cx:Pa_s",
        "quantity_kind": "dynamic_viscosity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "4",
          "pi_power": 0
        },
        "decimal": "2.5e-1",
        "binary64_hex": "3fd0000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "One poise is exactly 0.1 pascal-second."
    },
    {
      "id": "centipoise-to-poise",
      "inputs": {
        "value": "60",
        "from_unit_id": "cx:cP",
        "to_unit_id": "cx:P",
        "quantity_kind": "dynamic_viscosity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "3",
          "denominator": "5",
          "pi_power": 0
        },
        "decimal": "6e-1",
        "binary64_hex": "3fe3333333333333",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "The centi prefix means exactly one hundredth."
    },
    {
      "id": "square-metres-to-square-millimetres-per-second",
      "inputs": {
        "value": "0.000025",
        "from_unit_id": "cx:m2_s",
        "to_unit_id": "cx:mm2_s",
        "quantity_kind": "kinematic_viscosity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "25",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "2.5e1",
        "binary64_hex": "4039000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Square the length scale of 1000 millimetres per metre."
    },
    {
      "id": "stokes-to-square-metres-per-second",
      "inputs": {
        "value": "2.5",
        "from_unit_id": "cx:St",
        "to_unit_id": "cx:m2_s",
        "quantity_kind": "kinematic_viscosity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "4000",
          "pi_power": 0
        },
        "decimal": "2.5e-4",
        "binary64_hex": "3f30624dd2f1a9fc",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "One stokes is one square centimetre per second, or exactly 10^-4 square metres per second."
    },
    {
      "id": "centistokes-to-square-millimetres-per-second",
      "inputs": {
        "value": "12.5",
        "from_unit_id": "cx:cSt",
        "to_unit_id": "cx:mm2_s",
        "quantity_kind": "kinematic_viscosity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "25",
          "denominator": "2",
          "pi_power": 0
        },
        "decimal": "1.25e1",
        "binary64_hex": "4029000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "A centistokes is 10^-6 m²/s, the same scale as one square millimetre per second."
    },
    {
      "id": "millinewtons-per-metre-surface-tension",
      "inputs": {
        "value": "72.8",
        "from_unit_id": "cx:mN_m",
        "to_unit_id": "cx:N_m_surface",
        "quantity_kind": "surface_tension",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "91",
          "denominator": "1250",
          "pi_power": 0
        },
        "decimal": "7.28e-2",
        "binary64_hex": "3fb2a305532617c2",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "The force numerator scales by 10^-3 with the same length denominator."
    },
    {
      "id": "milliwatts-to-watts-per-metre-kelvin",
      "inputs": {
        "value": "125",
        "from_unit_id": "cx:mW_m_K",
        "to_unit_id": "cx:W_m_K",
        "quantity_kind": "thermal_conductivity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "8",
          "pi_power": 0
        },
        "decimal": "1.25e-1",
        "binary64_hex": "3fc0000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Apply the milli prefix to the watt numerator while keeping both denominator factors."
    },
    {
      "id": "celsius-interval-per-watt-to-kelvin-per-watt",
      "inputs": {
        "value": "2.75",
        "from_unit_id": "cx:delta_degC_W",
        "to_unit_id": "cx:K_W",
        "quantity_kind": "thermal_resistance",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "11",
          "denominator": "4",
          "pi_power": 0
        },
        "decimal": "2.75e0",
        "binary64_hex": "4006000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "One Celsius interval equals one kelvin interval. No temperature-point offset applies."
    },
    {
      "id": "kilojoules-to-joules-per-kilogram-kelvin",
      "inputs": {
        "value": "4.184",
        "from_unit_id": "cx:kJ_kg_K",
        "to_unit_id": "cx:J_kg_K",
        "quantity_kind": "specific_heat_capacity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "4184",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "4.184e3",
        "binary64_hex": "40b0580000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Multiply the energy numerator by 1000 with mass and temperature-interval denominators fixed."
    },
    {
      "id": "kilojoules-to-joules-per-kelvin",
      "inputs": {
        "value": "0.325",
        "from_unit_id": "cx:kJ_K",
        "to_unit_id": "cx:J_K",
        "quantity_kind": "heat_capacity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "325",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "3.25e2",
        "binary64_hex": "4074500000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Apply the kilo factor within heat capacity."
    },
    {
      "id": "kilojoules-to-joules-per-kilogram",
      "inputs": {
        "value": "1.75",
        "from_unit_id": "cx:kJ_kg",
        "to_unit_id": "cx:J_kg",
        "quantity_kind": "specific_energy",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1750",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.75e3",
        "binary64_hex": "409b580000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Apply the kilo factor within energy per mass."
    },
    {
      "id": "inverse-kelvin-to-parts-per-million-per-kelvin",
      "inputs": {
        "value": "-0.00001",
        "from_unit_id": "cx:per_K",
        "to_unit_id": "cx:ppm_K",
        "quantity_kind": "temperature_coefficient",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "-10",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "-1e1",
        "binary64_hex": "c024000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Multiply by 10^6 to express the signed coefficient in parts per million per kelvin."
    },
    {
      "id": "parts-per-million-per-celsius-interval-to-inverse-kelvin",
      "inputs": {
        "value": "25",
        "from_unit_id": "cx:ppm_delta_degC",
        "to_unit_id": "cx:per_K",
        "quantity_kind": "temperature_coefficient",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "40000",
          "pi_power": 0
        },
        "decimal": "2.5e-5",
        "binary64_hex": "3efa36e2eb1c432d",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Use a factor of 10^-6 for parts per million and equal Celsius and kelvin interval scales."
    },
    {
      "id": "inverse-celsius-interval-to-parts-per-million",
      "inputs": {
        "value": "0.000375",
        "from_unit_id": "cx:per_delta_degC",
        "to_unit_id": "cx:ppm_delta_degC",
        "quantity_kind": "temperature_coefficient",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "375",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "3.75e2",
        "binary64_hex": "4077700000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Multiply by 10^6 while retaining the same Celsius interval denominator."
    },
    {
      "id": "inches-fourth-to-millimetres-fourth",
      "inputs": {
        "value": "2",
        "from_unit_id": "cx:in4",
        "to_unit_id": "cx:mm4",
        "quantity_kind": "area_moment",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "520289282",
          "denominator": "625",
          "pi_power": 0
        },
        "decimal": "8.324628512e5",
        "binary64_hex": "4129679db3d07c85",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "Raise 25.4 millimetres per inch to the fourth power, then multiply by two."
    },
    {
      "id": "feet-fourth-to-inches-fourth",
      "inputs": {
        "value": "1",
        "from_unit_id": "cx:ft4",
        "to_unit_id": "cx:in4",
        "quantity_kind": "area_moment",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "20736",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "2.0736e4",
        "binary64_hex": "40d4400000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "Raise the exact length factor of 12 inches per foot to the fourth power."
    },
    {
      "id": "centimetres-fourth-to-metres-fourth",
      "inputs": {
        "value": "2.5",
        "from_unit_id": "cx:cm4",
        "to_unit_id": "cx:m4",
        "quantity_kind": "area_moment",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "40000000",
          "pi_power": 0
        },
        "decimal": "2.5e-8",
        "binary64_hex": "3e5ad7f29abcaf48",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Raise the centimetre-to-metre factor of 10^-2 to the fourth power."
    },
    {
      "id": "millimetres-fourth-to-centimetres-fourth",
      "inputs": {
        "value": "12500",
        "from_unit_id": "cx:mm4",
        "to_unit_id": "cx:cm4",
        "quantity_kind": "area_moment",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "5",
          "denominator": "4",
          "pi_power": 0
        },
        "decimal": "1.25e0",
        "binary64_hex": "3ff4000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Raise the millimetre-to-centimetre factor of 1/10 to the fourth power."
    },
    {
      "id": "dynamic-viscosity-is-not-kinematic",
      "inputs": {
        "value": "1",
        "from_unit_id": "cx:cP",
        "to_unit_id": "cx:cSt",
        "quantity_kind": "kinematic_viscosity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "error": {
          "code": "QUANTITY_KIND_MISMATCH",
          "field": "quantity_kind"
        }
      },
      "source": "https://www.calculatorx.com/developers/units#execution",
      "derivation": "Converting a dynamic viscosity to a kinematic viscosity requires fluid density as a separate input."
    },
    {
      "id": "volume-flow-is-not-mass-flow",
      "inputs": {
        "value": "1",
        "from_unit_id": "cx:L_s",
        "to_unit_id": "cx:kg_s",
        "quantity_kind": "mass_flow_rate",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "error": {
          "code": "QUANTITY_KIND_MISMATCH",
          "field": "quantity_kind"
        }
      },
      "source": "https://www.calculatorx.com/developers/units#execution",
      "derivation": "Volume flow and mass flow require a density relationship beyond unit scaling."
    },
    {
      "id": "heat-capacity-is-not-specific-heat-capacity",
      "inputs": {
        "value": "1",
        "from_unit_id": "cx:J_K",
        "to_unit_id": "cx:J_kg_K",
        "quantity_kind": "specific_heat_capacity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "error": {
          "code": "QUANTITY_KIND_MISMATCH",
          "field": "quantity_kind"
        }
      },
      "source": "https://www.calculatorx.com/developers/units#execution",
      "derivation": "Specific heat capacity introduces a mass denominator that a unit rescaling cannot supply."
    },
    {
      "id": "thermal-resistance-has-no-point-role",
      "inputs": {
        "value": "1",
        "from_unit_id": "cx:delta_degC_W",
        "to_unit_id": "cx:K_W",
        "quantity_kind": "thermal_resistance",
        "role": "point",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "error": {
          "code": "UNIT_ROLE_MISMATCH",
          "field": "role"
        }
      },
      "source": "https://www.calculatorx.com/developers/units#execution",
      "derivation": "Thermal resistance is a scalar quantity whose unit contains a temperature interval."
    }
  ]
}
