Any numeric
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import Testing
|
||||
|
||||
@testable import Units // Assuming your library is in a module named 'Units'
|
||||
@testable import Units
|
||||
|
||||
@Test func unitCreationSubscriptTests() async throws {
|
||||
// Test creating UnitValue using string subscript on numeric literals
|
||||
@@ -8,13 +8,17 @@ import Testing
|
||||
#expect(tenKilosByString != nil)
|
||||
#expect(tenKilosByString?.value == 10.0)
|
||||
#expect(tenKilosByString?.unit == .kilogram)
|
||||
print("Created 10 kg by string subscript: \(String(describing: tenKilosByString))")
|
||||
print(
|
||||
"Created 10 kg by string subscript: \(String(describing: tenKilosByString))"
|
||||
)
|
||||
|
||||
let fiveMetersByString = 5.0["m"]
|
||||
#expect(fiveMetersByString != nil)
|
||||
#expect(fiveMetersByString?.value == 5.0)
|
||||
#expect(fiveMetersByString?.unit == .meter)
|
||||
print("Created 5 m by string subscript: \(String(describing: fiveMetersByString))")
|
||||
print(
|
||||
"Created 5 m by string subscript: \(String(describing: fiveMetersByString))"
|
||||
)
|
||||
|
||||
// Test creating UnitValue using enum subscript on numeric literals
|
||||
let twentyLitersByEnum = 20.0[.liter]
|
||||
@@ -61,13 +65,17 @@ import Testing
|
||||
#expect(miles != nil)
|
||||
#expect(miles?.value == 62.13711922373339) // Exact conversion value
|
||||
#expect(miles?.unit == .mile)
|
||||
print("100 km to mi (chained string subscript): \(String(describing: miles))")
|
||||
print(
|
||||
"100 km to mi (chained string subscript): \(String(describing: miles))"
|
||||
)
|
||||
|
||||
let feetFromMiles = miles?["ft"]
|
||||
#expect(feetFromMiles != nil)
|
||||
#expect(feetFromMiles?.value == 328083.9895013123) // Exact conversion value (100km -> mi -> ft)
|
||||
#expect(feetFromMiles?.unit == .foot)
|
||||
print("100 km to mi to ft (chained string subscript): \(String(describing: feetFromMiles))")
|
||||
print(
|
||||
"100 km to mi to ft (chained string subscript): \(String(describing: feetFromMiles))"
|
||||
)
|
||||
} else {
|
||||
#expect(false, "Failed to create initial 100 km unit.")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user