def test_scaling_and_assignment(self): handler1 = TestUnitHandler1(self.a) handler2 = NestUnitHandler(self.a) self.assertEqual(handler1.scale_alias('A2'), (Expression('ARP2 + P3'), 'ms*nA')) self.assertEqual(handler1.scale_alias('A4'), (Expression('ARP3 + 100/(P2*P6)'), 'S/cm2')) self.assertEqual(handler1.scale_alias('A5'), (Expression('P7 * P8'), 'mV')) self.assertEqual(handler1.scale_alias('A6'), (Expression('1e-3 * P9/P10'), 'ms')) self.assertEqual( handler2.scale_time_derivative(self.a.regime('R1').element('SV2')), (Expression('C1 * SV2 ** 2 + C2 * SV2 + C3 + SV3 + ' 'ARP4 / P11'), 'mV/ms')) self.assertEqual( handler2.scale_time_derivative(self.a.regime('R1').element('SV3')), (Expression('P12*(SV2*P13 - SV3)'), 'mV/ms^2')) self.assertEqual(handler1.assign_units_to_variable('P2'), '1/uS') self.assertEqual(handler1.assign_units_to_variable('P6'), 'um^2')