Skip to content

Commit f6c43a8

Browse files
committed
added function contents and tests
1 parent a95f83c commit f6c43a8

2 files changed

Lines changed: 19 additions & 10 deletions

File tree

diffpy/snmf/subroutines.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,14 @@ def construct_stretching_matrix(components, number_of_components, number_of_sign
7373
Has dimensions `component_signal` x `number_of_signals`
7474
7575
"""
76+
if number_of_components == 0:
77+
raise ValueError(f"Number of components = {number_of_components}. Number_of_components must be >= 1.")
78+
if number_of_signals == 0:
79+
raise ValueError(f"Number of signals = {number_of_signals}. Number_of_signals must be >= 1.")
80+
stretching_factor_matrix = np.zeros((number_of_components, number_of_signals))
81+
for c in components:
82+
stretching_factor_matrix[c.id, :] = c.stretching_factors
83+
return stretching_factor_matrix
7684

7785

7886
def initialize_arrays(number_of_components, number_of_moments, signal_length):

diffpy/snmf/tests/test_subroutines.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -165,23 +165,24 @@ def test_initialize_components(tcc):
165165

166166
tcso =[([ComponentSignal([0,.5,1,1.5],20,0)],1,20),
167167
([ComponentSignal([0,.5,1,1.5],20,0)],4,20),
168-
([ComponentSignal([0,.5,1,1.5],20,0)],0,20),
169-
([ComponentSignal([0,.5,1,1.5],20,0)],-2,20),
170-
([ComponentSignal([0,.5,1,1.5],20,0)],1,0),
171-
([ComponentSignal([0,.5,1,1.5],20,0)],1,-3),
172-
([ComponentSignal([0,.5,1,1.5],20,0),ComponentSignal([0,.5,1,1.5],20,1)],1,20),
173-
([ComponentSignal([0,.5,1,1.5],20,0),ComponentSignal([0,.5,1,21.5],20,1)],1,20),
174-
([ComponentSignal([0,1,1.5],20,0),ComponentSignal([0,.5,1,21.5],20,1)],1,20),
168+
#([ComponentSignal([0,.5,1,1.5],20,0)],0,20), # Raises an exception
169+
#([ComponentSignal([0,.5,1,1.5],20,0)],-2,20), # Raises an exception
170+
#([ComponentSignal([0,.5,1,1.5],20,0)],1,0), # Raises an Exception
171+
#([ComponentSignal([0,.5,1,1.5],20,0)],1,-3), # Raises an exception
172+
([ComponentSignal([0,.5,1,1.5],20,0),ComponentSignal([0,.5,1,1.5],20,1)],2,20),
173+
([ComponentSignal([0,.5,1,1.5],20,0),ComponentSignal([0,.5,1,21.5],20,1)],2,20),
174+
([ComponentSignal([0,1,1.5],20,0),ComponentSignal([0,.5,1,21.5],20,1)],2,20),
175175
([ComponentSignal([0,.5,1,1.5],20,0),ComponentSignal([0,.5,1,1.5],20,1)],1,-3),
176176
([],1,20),
177177
([],-1,20),
178-
([],0,20),
179-
([],1,0),
178+
([],0,20), # Raises an exception
179+
([],1,0), #Raises an exception
180180
([],-1,-2),
181181

182182
]
183183
@pytest.mark.parametrize('tcso',tcso)
184184
def test_construct_stretching_matrix(tcso):
185185
actual = construct_stretching_matrix(tcso[0],tcso[1],tcso[2])
186186
for component in tcso[0]:
187-
assert actual[component.id, :] == component.stretching_factors
187+
np.testing.assert_allclose(actual[component.id,:], component.stretching_factors)
188+
#assert actual[component.id, :] == component.stretching_factors

0 commit comments

Comments
 (0)