| 
									
										
										
										
											2023-07-15 18:55:03 +02:00
										 |  |  | import { Unit } from "../../src/Models/Unit" | 
					
						
							|  |  |  | import { Denomination } from "../../src/Models/Denomination" | 
					
						
							| 
									
										
										
										
											2023-02-03 04:48:32 +01:00
										 |  |  | import { describe, expect, it } from "vitest" | 
					
						
							| 
									
										
										
										
											2022-03-15 01:53:08 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | describe("Unit", () => { | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |     it("should convert a value back and forth", () => { | 
					
						
							| 
									
										
										
										
											2023-12-12 03:46:51 +01:00
										 |  |  |         const denomintion = Denomination.fromJson( | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |             { | 
					
						
							|  |  |  |                 canonicalDenomination: "MW", | 
					
						
							|  |  |  |                 alternativeDenomination: ["megawatts", "megawatt"], | 
					
						
							|  |  |  |                 human: { | 
					
						
							| 
									
										
										
										
											2023-12-12 03:46:51 +01:00
										 |  |  |                     en: "{quantity} megawatts", | 
					
						
							|  |  |  |                     nl: "{quantity} megawatt", | 
					
						
							| 
									
										
										
										
											2022-03-15 01:53:08 +01:00
										 |  |  |                 }, | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |             }, | 
					
						
							|  |  |  |             "test" | 
					
						
							|  |  |  |         ) | 
					
						
							| 
									
										
										
										
											2022-03-15 01:53:08 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |         const canonical = denomintion.canonicalValue("5", true) | 
					
						
							| 
									
										
										
										
											2023-02-03 04:48:32 +01:00
										 |  |  |         expect(canonical).toBe("5 MW") | 
					
						
							| 
									
										
										
										
											2023-12-12 03:46:51 +01:00
										 |  |  |         const units = new Unit("quantity", ["key"], [denomintion], false) | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |         const [detected, detectedDenom] = units.findDenomination("5 MW", () => "be") | 
					
						
							| 
									
										
										
										
											2023-02-03 04:48:32 +01:00
										 |  |  |         expect(detected).toBe("5") | 
					
						
							|  |  |  |         expect(detectedDenom).toBe(denomintion) | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |     }) | 
					
						
							| 
									
										
										
										
											2022-03-15 01:53:08 +01:00
										 |  |  | }) |