@@ -284,7 +284,7 @@ TEST_CASE("ModelOutput rejects mismatched quantity and unit") {
284284 // energy quantity with a force unit
285285 CHECK_THROWS_WITH (
286286 torch::make_intrusive<metatomic_torch::ModelOutputHolder>(
287- " energy" , " eV/A" , false , std::vector<std::string>{}, " "
287+ " energy" , " eV/A" , " system " , std::vector<std::string>{}, " "
288288 ),
289289 Contains (
290290 " unit 'eV/A' has dimension L T^-2 M which is incompatible "
@@ -295,43 +295,46 @@ TEST_CASE("ModelOutput rejects mismatched quantity and unit") {
295295 // force quantity with an energy unit
296296 CHECK_THROWS_WITH (
297297 torch::make_intrusive<metatomic_torch::ModelOutputHolder>(
298- " force" , " eV" , false , std::vector<std::string>{}, " "
298+ " force" , " eV" , " system " , std::vector<std::string>{}, " "
299299 ),
300300 Contains (
301301 " unit 'eV' has dimension L^2 T^-2 M which is incompatible "
302302 " with quantity 'force' (expected L T^-2 M)"
303303 )
304304 );
305305
306- // // length quantity with a pressure unit
307- // CHECK_THROWS_WITH(
308- // torch::make_intrusive<metatomic_torch::ModelOutputHolder>(
309- // "length", "eV/A^3", false, std::vector<std::string>{}, ""
310- // ),
311- // Contains("incompatible with qsfqk,uantity")
312- // );
306+ // length quantity with a pressure unit
307+ CHECK_THROWS_WITH (
308+ torch::make_intrusive<metatomic_torch::ModelOutputHolder>(
309+ " length" , " eV/A^3" , " system" , std::vector<std::string>{}, " "
310+ ),
311+ Contains (
312+ " unit 'eV/A^3' has dimension L^-1 T^-2 M which is incompatible with "
313+ " quantity 'length' (expected L)"
314+ )
315+ );
313316}
314317
315318
316319TEST_CASE (" ModelOutput accepts matching quantity and unit" ) {
317320 // These should not throw
318321 torch::make_intrusive<metatomic_torch::ModelOutputHolder>(
319- " energy" , " eV" , false , std::vector<std::string>{}, " "
322+ " energy" , " eV" , " system " , std::vector<std::string>{}, " "
320323 );
321324 torch::make_intrusive<metatomic_torch::ModelOutputHolder>(
322- " force" , " eV/A" , false , std::vector<std::string>{}, " "
325+ " force" , " eV/A" , " system " , std::vector<std::string>{}, " "
323326 );
324327 torch::make_intrusive<metatomic_torch::ModelOutputHolder>(
325- " pressure" , " eV/A^3" , false , std::vector<std::string>{}, " "
328+ " pressure" , " eV/A^3" , " system " , std::vector<std::string>{}, " "
326329 );
327330 torch::make_intrusive<metatomic_torch::ModelOutputHolder>(
328- " length" , " Angstrom" , false , std::vector<std::string>{}, " "
331+ " length" , " Angstrom" , " system " , std::vector<std::string>{}, " "
329332 );
330333 torch::make_intrusive<metatomic_torch::ModelOutputHolder>(
331- " momentum" , " u*A/fs" , false , std::vector<std::string>{}, " "
334+ " momentum" , " u*A/fs" , " system " , std::vector<std::string>{}, " "
332335 );
333336 torch::make_intrusive<metatomic_torch::ModelOutputHolder>(
334- " velocity" , " A/fs" , false , std::vector<std::string>{}, " "
337+ " velocity" , " A/fs" , " system " , std::vector<std::string>{}, " "
335338 );
336339}
337340
0 commit comments