Updated ASSERT macro and added ASSERT_THROW macro