From 5a2585cdbe3a60a91f099cf314c43da54c2f9d91 Mon Sep 17 00:00:00 2001 From: Aman Srivastava Date: Wed, 21 Jan 2026 20:13:56 +0530 Subject: [PATCH 1/2] Add simple_efficiency tests for numpy array inputs --- tests/test_transformer.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/test_transformer.py b/tests/test_transformer.py index 0739a9e95a..04c659c4b4 100644 --- a/tests/test_transformer.py +++ b/tests/test_transformer.py @@ -4,6 +4,7 @@ from pvlib import transformer +import numpy as np def test_simple_efficiency(): @@ -57,4 +58,41 @@ def test_simple_efficiency_known_values(): transformer.simple_efficiency(rating*(1 + no_load_loss + load_loss), *args), rating, + ) + + +def test_simple_efficiency_numpy_array_inputs(): + input_power = np.array([100.0, 500.0, 1000.0]) + no_load_loss = np.array([0.005, 0.005, 0.005]) + load_loss = np.array([0.01, 0.01, 0.01]) + rating = 1000.0 + + output_power = transformer.simple_efficiency( + input_power=input_power, + no_load_loss=no_load_loss, + load_loss=load_loss, + transformer_rating=rating + ) + + assert isinstance(output_power, np.ndarray) + assert output_power.shape == input_power.shape + +def test_simple_efficiency_vector_equals_scalar(): + input_power = np.array([200.0, 600.0, 900.0]) + no_load_loss = 0.005 + load_loss = 0.01 + rating = 1000.0 + + vector_result = transformer.simple_efficiency( + input_power=input_power, + no_load_loss=no_load_loss, + load_loss=load_loss, + transformer_rating=rating ) + + scalar_result = np.array([ + transformer.simple_efficiency(p, no_load_loss, load_loss, rating) + for p in input_power + ]) + + assert_allclose(vector_result, scalar_result) \ No newline at end of file From dd816c056f47885f8367316c128d1f3023f624f8 Mon Sep 17 00:00:00 2001 From: Aman Srivastava Date: Wed, 21 Jan 2026 20:17:39 +0530 Subject: [PATCH 2/2] fix flake --- tests/test_transformer.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/test_transformer.py b/tests/test_transformer.py index 04c659c4b4..5fca27f3df 100644 --- a/tests/test_transformer.py +++ b/tests/test_transformer.py @@ -6,6 +6,7 @@ import numpy as np + def test_simple_efficiency(): # define test inputs @@ -58,7 +59,7 @@ def test_simple_efficiency_known_values(): transformer.simple_efficiency(rating*(1 + no_load_loss + load_loss), *args), rating, - ) + ) def test_simple_efficiency_numpy_array_inputs(): @@ -77,6 +78,7 @@ def test_simple_efficiency_numpy_array_inputs(): assert isinstance(output_power, np.ndarray) assert output_power.shape == input_power.shape + def test_simple_efficiency_vector_equals_scalar(): input_power = np.array([200.0, 600.0, 900.0]) no_load_loss = 0.005 @@ -95,4 +97,4 @@ def test_simple_efficiency_vector_equals_scalar(): for p in input_power ]) - assert_allclose(vector_result, scalar_result) \ No newline at end of file + assert_allclose(vector_result, scalar_result)