mixed_units.nbt 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # Degrees, minutes, seconds (DMS)
  2. ## United states capitol coordinates
  3. assert_eq(38° + 53′ + 23″, 38.8897°, 1e-4°)
  4. assert_eq(-(77° + 0′ + 32″), -77.0089°, 1e-4°)
  5. assert_eq("{38.8897° -> DMS}", "{[38°, 53′, 22.92″]}")
  6. assert_eq("{-77.0089° -> DMS}", "{[-77°, -0′, -32.04″]}")
  7. ## Stuttgart
  8. assert_eq(48° + 46′ + 32″, 48.7756°, 1e-4°)
  9. assert_eq(9° + 10′ + 58″, 9.1828°, 1e-4°)
  10. assert_eq("{48.7756° -> DMS}", "{[48°, 46′, 32.16″]}")
  11. assert_eq("{9.1828° -> DMS}", "{[9°, 10′, 58.08″]}")
  12. # Degrees, decimal minutes (DM)
  13. assert_eq("{38.8897° -> DM}", "{[38°, 53.382′]}")
  14. assert_eq("{-77.0089° -> DM}", "{[-77°, -0.534′]}")
  15. # Feet and inches
  16. assert_eq("{5.5 ft -> feet_and_inches}", "{[5 ft, 6 in]}")
  17. assert_eq("{6.75 ft -> feet_and_inches}", "{[6 ft, 9 in]}")
  18. assert_eq("{-5.5 ft -> feet_and_inches}", "{[-5 ft, -6 in]}")
  19. assert_eq("{0 -> feet_and_inches}", "{[0 ft, 0 in]}")
  20. assert_eq("{1 ft -> feet_and_inches}", "{[1 ft, 0 in]}")
  21. assert_eq("{2.345 inch -> feet_and_inches}", "{[0 ft, 2.345 in]}")
  22. # Pounds and ounces
  23. assert_eq("{5 lb -> pounds_and_ounces}", "{[5 lb, 0 oz]}")
  24. assert_eq("{5.5 lb -> pounds_and_ounces}", "{[5 lb, 8 oz]}")
  25. assert_eq("{6.75 lb -> pounds_and_ounces}", "{[6 lb, 12 oz]}")
  26. assert_eq("{-5.5 lb -> pounds_and_ounces}", "{[-5 lb, -8 oz]}")
  27. # Unit list
  28. let test1 = 12 m + 34 cm + 5 mm + 678 µm
  29. assert_eq(test1 |> unit_list([m]) |> head, test1)
  30. assert_eq(test1 |> unit_list([m, cm]) |> sum, test1)
  31. assert_eq(test1 |> unit_list([m, cm, mm]) |> sum, test1)
  32. assert_eq(test1 |> unit_list([m, cm, mm, µm]) |> sum, test1)
  33. let test2 = 12 degree + 34 arcminute + 5 arcsec
  34. assert_eq(test2 |> unit_list([degree]) |> head, test2)
  35. assert_eq(test2 |> unit_list([degree, arcmin]) |> sum, test2)
  36. assert_eq(test2 |> unit_list([degree, arcmin, arcsec]) |> sum, test2)