/* Ċ ĠCopyright Ġ 2 0 2 1 ĠSpl endo ĠConsult ing ĠB . V . ĠThe ĠNe therlands ĊĊĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); ĊĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . ĊĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat ĊĊĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 ĊĊĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware ĊĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĊĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . ĊĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand ĊĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . ĊĊ Ġ*/ Ċ Ċ package Ġcom . spl endo . kal uga . scientific . unit Ċ Ċ import Ġcom . spl endo . kal uga . scientific . assertEqual Sc ientific Value Ċ import Ġcom . spl endo . kal uga . scientific . convert Ċ import Ġcom . spl endo . kal uga . scientific . converter . amount Of Sub stance . div Ċ import Ġcom . spl endo . kal uga . scientific . converter . mol ar Mass . mol ality Ċ import Ġcom . spl endo . kal uga . scientific . converter . mol arity . div Ċ import Ġcom . spl endo . kal uga . scientific . converter . mol arity . times Ċ import Ġcom . spl endo . kal uga . scientific . converter . specific Energy . div Ċ import Ġcom . spl endo . kal uga . scientific . converter . specific Volume . div Ċ import Ġcom . spl endo . kal uga . scientific . converter . specific Volume . times Ċ import Ġcom . spl endo . kal uga . scientific . invoke Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠMol ality UnitTest Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmol ality Conversion Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Sc ientific Conversion ( 1 , Ġ( M ole Ġper ĠK ilog ram ), Ġ 0 . 2 8 3 4 9 5 , ĠDec im ole Ġper ĠO unce , Ġ 6 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmol ality From Amount Of Sub stance And Weight Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠK ilog ram ), Ġ 2 ( Dec im ole ) Ġ/ Ġ 2 ( K ilog ram )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠP ound ), Ġ 2 ( Dec im ole ) Ġ/ Ġ 2 ( P ound )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠP ound . uk Imp erial ), Ġ 2 ( Dec im ole ) Ġ/ Ġ 2 ( P ound . uk Imp erial )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠP ound . us Custom ary ), Ġ 2 ( Dec im ole ) Ġ/ Ġ 2 ( P ound . us Custom ary )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠK ilog ram ), Ġ 2 ( Dec im ole ) Ġ/ Ġ 2 ( K ilog ram ). convert ( Gram Ġas ĠWeight )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmol ality From Mol arity And Density Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠK ilog ram ), Ġ 2 ( Dec im ole Ġper ĠC ubic Meter ) Ġ/ Ġ 2 ( K ilog ram Ġper ĠC ubic Meter )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠP ound ), Ġ 2 ( Dec im ole Ġper ĠC ubic Foot ) Ġ/ Ġ 2 ( P ound Ġper ĠC ubic Foot )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ( Dec im ole Ġper ĠP ound . uk Imp erial ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Dec im ole Ġper ĠC ubic Foot ) Ġ/ Ġ 2 ( P ound . uk Imp erial Ġper ĠC ubic Foot ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ( Dec im ole Ġper ĠP ound . us Custom ary ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Dec im ole Ġper ĠC ubic Foot ) Ġ/ Ġ 2 ( P ound . us Custom ary Ġper ĠC ubic Foot ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ( Dec im ole Ġper ĠK ilog ram ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Dec im ole Ġper ĠC ubic Meter ) Ġ/ Ġ 2 ( K ilog ram Ġper ĠC ubic Meter ). convert (( P ound Ġper ĠC ubic Foot ) Ġas ĠD ensity ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmol ality From Mol arity And Specific Volume Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 ( Dec im ole Ġper ĠK ilog ram ), Ġ 2 ( Dec im ole Ġper ĠC ubic Meter ) Ġ* Ġ 2 ( Cubic Meter Ġper ĠK ilog ram )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 ( Dec im ole Ġper ĠK ilog ram ), Ġ 2 ( Cubic Meter Ġper ĠK ilog ram ) Ġ* Ġ 2 ( Dec im ole Ġper ĠC ubic Meter )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 ( Dec im ole Ġper ĠP ound ), Ġ 2 ( Dec im ole Ġper ĠC ubic Foot ) Ġ* Ġ 2 ( Cubic Foot Ġper ĠP ound )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 ( Dec im ole Ġper ĠP ound ), Ġ 2 ( Cubic Foot Ġper ĠP ound ) Ġ* Ġ 2 ( Dec im ole Ġper ĠC ubic Foot )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 ( Dec im ole Ġper ĠP ound . uk Imp erial ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Dec im ole Ġper ĠC ubic Foot ) Ġ* Ġ 2 ( Cubic Foot Ġper ĠP ound . uk Imp erial ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 ( Dec im ole Ġper ĠP ound . uk Imp erial ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Cubic Foot Ġper ĠP ound . uk Imp erial ) Ġ* Ġ 2 ( Dec im ole Ġper ĠC ubic Foot ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 ( Dec im ole Ġper ĠP ound . us Custom ary ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Dec im ole Ġper ĠC ubic Foot ) Ġ* Ġ 2 ( Cubic Foot Ġper ĠP ound . us Custom ary ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 ( Dec im ole Ġper ĠP ound . us Custom ary ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Cubic Foot Ġper ĠP ound . us Custom ary ) Ġ* Ġ 2 ( Dec im ole Ġper ĠC ubic Foot ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert Equal Sc ientific Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 ( Dec im ole Ġper ĠK ilog ram ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Dec im ole Ġper ĠC ubic Meter ) Ġ* Ġ 2 ( Cubic Meter Ġper ĠK ilog ram ). convert (( Cubic Foot Ġper ĠP ound ) Ġas ĠSpecific Volume ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert Equal Sc ientific Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 ( Dec im ole Ġper ĠK ilog ram ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Cubic Meter Ġper ĠK ilog ram ). convert (( Cubic Foot Ġper ĠP ound ) Ġas ĠSpecific Volume ) Ġ* Ġ 2 ( Dec im ole Ġper ĠC ubic Meter ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmol ality From In verted M olar Mass Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 . 5 ( Dec im ole Ġper ĠK ilog ram ), Ġ 2 ( K ilog ram Ġper ĠDec im ole ). mol ality ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 . 5 ( Dec im ole Ġper ĠP ound ), Ġ 2 ( P ound Ġper ĠDec im ole ). mol ality ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 . 5 ( Dec im ole Ġper ĠP ound . uk Imp erial ), Ġ 2 ( P ound . uk Imp erial Ġper ĠDec im ole ). mol ality ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 . 5 ( Dec im ole Ġper ĠP ound . uk Imp erial ), Ġ 2 ( P ound . uk Imp erial Ġper ĠDec im ole ). mol ality ()) ĊĠĠĠĠĠĠĠ Ġassert Equal Sc ientific Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 5 ( Dec im ole Ġper ĠK ilog ram ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( K ilog ram Ġper ĠDec im ole ). convert (( P ound Ġper ĠDec im ole ) Ġas ĠM olar Mass ). mol ality (), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmol ality From Specific Energy And M olar Energy Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠK ilog ram ), Ġ 2 ( J ou le Ġper ĠK ilog ram ) Ġ/ Ġ 2 ( J ou le Ġper ĠDec im ole )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠP ound ), Ġ 2 ( Foot P ound Force Ġper ĠP ound ) Ġ/ Ġ 2 ( Foot P ound Force Ġper ĠDec im ole )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ( Dec im ole Ġper ĠP ound . uk Imp erial ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Foot P ound Force Ġper ĠP ound . uk Imp erial ) Ġ/ Ġ 2 ( Foot P ound Force Ġper ĠDec im ole ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ( Dec im ole Ġper ĠP ound . us Custom ary ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Foot P ound Force Ġper ĠP ound . us Custom ary ) Ġ/ Ġ 2 ( Foot P ound Force Ġper ĠDec im ole ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert Equal Sc ientific Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ( Dec im ole Ġper ĠK ilog ram ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( J ou le Ġper ĠK ilog ram ). convert (( Foot P ound Force Ġper ĠP ound ) Ġas ĠSpecific Energy ) Ġ/ Ġ 2 ( J ou le Ġper ĠDec im ole ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmol ality From Specific Volume And M olar Volume Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠK ilog ram ), Ġ 2 ( Cubic Meter Ġper ĠK ilog ram ) Ġ/ Ġ 2 ( Cubic Meter Ġper ĠDec im ole )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 ( Dec im ole Ġper ĠP ound ), Ġ 2 ( Cubic Foot Ġper ĠP ound ) Ġ/ Ġ 2 ( Cubic Foot Ġper ĠDec im ole )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ( Dec im ole Ġper ĠP ound . uk Imp erial ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Cubic Foot Ġper ĠP ound . uk Imp erial ) Ġ/ Ġ 2 ( Cubic Foot Ġper ĠDec im ole ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ( Dec im ole Ġper ĠP ound . us Custom ary ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Cubic Foot Ġper ĠP ound . us Custom ary ) Ġ/ Ġ 2 ( Cubic Foot Ġper ĠDec im ole ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert Equal Sc ientific Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ( Dec im ole Ġper ĠK ilog ram ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 ( Cubic Meter Ġper ĠK ilog ram ). convert (( Cubic Foot Ġper ĠP ound ) Ġas ĠSpecific Volume ) Ġ/ Ġ 2 ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠC ubic Meter Ġper ĠDec im ole ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ