The history module tests (test_history.py) verify the metrics tracking and history management functionality, including the StopWatch context manager and History class.
deftest_stopwatch_context_manager(self):"""Test StopWatch context manager."""withhistory.StopWatch("test timer")assw:# Do some workresult=1+1assertresult==2# The stopwatch should have recorded some dataasserthasattr(sw,"data")assertisinstance(sw.data,dict)
deftest_history_initialization(self):"""Test History class initialization."""hist=history.History()asserthistisnotNoneasserthasattr(hist,"data")assertisinstance(hist.data,dict)
deftest_history_update(self):"""Test History update method."""hist=history.History()# Add some test datametrics={"loss":0.5,"accuracy":0.8}summary=hist.update(metrics)assertisinstance(summary,str)assert"loss"insummaryassert"accuracy"insummary
deftest_grab_tensor(self):"""Test grab_tensor function."""# Test with numpy arraynp_array=np.array([1,2,3])result=history.grab_tensor(np_array)assertnp.array_equal(result,np_array)# Test with torch tensortorch_tensor=torch.tensor([1,2,3])result=history.grab_tensor(torch_tensor)assertisinstance(result,np.ndarray)assertnp.array_equal(result,torch_tensor.numpy())# Test with scalarscalar=5result=history.grab_tensor(scalar)assertresult==scalar# Test with listtest_list=[1,2,3]result=history.grab_tensor(test_list)assertisinstance(result,np.ndarray)assertnp.array_equal(result,np.array(test_list))