@@ -911,7 +911,8 @@ def test_build_covariance_matrices_atomic(self):
911911 # Check update_force_torque_matrices call count:
912912 self .assertEqual (level_manager .update_force_torque_matrices .call_count , 6 )
913913
914- def test_update_force_torque_matrices_united_atom (self ):
914+ @patch ("CodeEntropy.mda_universe_operations.UniverseOperations.new_U_select_atom" )
915+ def test_update_force_torque_matrices_united_atom (self , mock_new_U ):
915916 """
916917 Test that `update_force_torque_matrices` correctly updates force and torque
917918 matrices for the 'united_atom' level, assigning per-residue matrices and
@@ -922,9 +923,12 @@ def test_update_force_torque_matrices_united_atom(self):
922923 run_manager = MagicMock ()
923924 entropy_manager ._run_manager = run_manager
924925
925- mock_residue_group = MagicMock ()
926- mock_residue_group .trajectory .__getitem__ .return_value = None
927- UniverseOperations .new_U_select_atom .return_value = mock_residue_group
926+ mock_res = MagicMock ()
927+
928+ mock_res .trajectory = MagicMock ()
929+ mock_res .trajectory .__getitem__ .return_value = None
930+
931+ mock_new_U .return_value = mock_res
928932
929933 mock_residue1 = MagicMock ()
930934 mock_residue1 .atoms .indices = [0 , 2 ]
@@ -934,9 +938,9 @@ def test_update_force_torque_matrices_united_atom(self):
934938 mol = MagicMock ()
935939 mol .residues = [mock_residue1 , mock_residue2 ]
936940
937- f_mat_mock = np .array ([[1 ]])
938- t_mat_mock = np .array ([[2 ]])
939- level_manager .get_matrices = MagicMock (return_value = (f_mat_mock , t_mat_mock ))
941+ f_mat = np .array ([[1 ]])
942+ t_mat = np .array ([[2 ]])
943+ level_manager .get_matrices = MagicMock (return_value = (f_mat , t_mat ))
940944
941945 force_avg = {"ua" : {}, "res" : [None ], "poly" : [None ]}
942946 torque_avg = {"ua" : {}, "res" : [None ], "poly" : [None ]}
@@ -948,21 +952,29 @@ def test_update_force_torque_matrices_united_atom(self):
948952 group_id = 0 ,
949953 level = "united_atom" ,
950954 level_list = ["residue" , "united_atom" ],
951- time_index = 5 ,
955+ time_index = 0 ,
952956 num_frames = 10 ,
953957 force_avg = force_avg ,
954958 torque_avg = torque_avg ,
955959 frame_counts = frame_counts ,
956960 force_partitioning = 0.5 ,
957961 )
958962
959- expected_keys = [(0 , 0 ), (0 , 1 )]
960- for key in expected_keys :
961- np .testing .assert_array_equal (force_avg ["ua" ][key ], f_mat_mock )
962- np .testing .assert_array_equal (torque_avg ["ua" ][key ], t_mat_mock )
963- self .assertEqual (frame_counts ["ua" ][key ], 1 )
963+ assert (0 , 0 ) in force_avg ["ua" ]
964+ assert (0 , 1 ) in force_avg ["ua" ]
965+ assert (0 , 0 ) in torque_avg ["ua" ]
966+ assert (0 , 1 ) in torque_avg ["ua" ]
967+
968+ np .testing .assert_array_equal (force_avg ["ua" ][(0 , 0 )], f_mat )
969+ np .testing .assert_array_equal (force_avg ["ua" ][(0 , 1 )], f_mat )
970+ np .testing .assert_array_equal (torque_avg ["ua" ][(0 , 0 )], t_mat )
971+ np .testing .assert_array_equal (torque_avg ["ua" ][(0 , 1 )], t_mat )
964972
965- def test_update_force_torque_matrices_united_atom_increment (self ):
973+ assert frame_counts ["ua" ][(0 , 0 )] == 1
974+ assert frame_counts ["ua" ][(0 , 1 )] == 1
975+
976+ @patch ("CodeEntropy.mda_universe_operations.UniverseOperations.new_U_select_atom" )
977+ def test_update_force_torque_matrices_united_atom_increment (self , mock_new_U ):
966978 """
967979 Test that `update_force_torque_matrices` correctly updates force and torque
968980 matrices for the 'united_atom' level when the key already exists.
@@ -975,16 +987,22 @@ def test_update_force_torque_matrices_united_atom_increment(self):
975987 residue = MagicMock ()
976988 residue .atoms .indices = [0 , 1 ]
977989 mol .residues = [residue ]
990+ mol .trajectory = MagicMock ()
978991 mol .trajectory .__getitem__ .return_value = None
979992
980993 selected_atoms = MagicMock ()
981- entropy_manager . _run_manager . new_U_select_atom . return_value = selected_atoms
994+ selected_atoms . trajectory = MagicMock ()
982995 selected_atoms .trajectory .__getitem__ .return_value = None
983996
984- f_mat_1 = np .array ([[1.0 ]], dtype = np .float64 )
985- t_mat_1 = np .array ([[2.0 ]], dtype = np .float64 )
986- f_mat_2 = np .array ([[3.0 ]], dtype = np .float64 )
987- t_mat_2 = np .array ([[4.0 ]], dtype = np .float64 )
997+ mock_new_U .return_value = selected_atoms
998+
999+ # First matrices
1000+ f_mat_1 = np .array ([[1.0 ]])
1001+ t_mat_1 = np .array ([[2.0 ]])
1002+
1003+ # Second matrices
1004+ f_mat_2 = np .array ([[3.0 ]])
1005+ t_mat_2 = np .array ([[4.0 ]])
9881006
9891007 level_manager .get_matrices = MagicMock (return_value = (f_mat_1 , t_mat_1 ))
9901008
0 commit comments