use deepcopy to copy historical_info for testing so it does not modify the test case.