Sometimes its is simply hard to forgive yourself. Its because we have underestimated the power of our decision making. The decision might be to forget or forgive someone after going through a tough scenario, or regretting for something we perceived to be useless but in reality was actually the opposite; as the future would reveal to us. So having underestimated the power of decision we continued living in the valley of remorse and regret. Which is very pathetic.
At times we give ourselves a very hard time. And this is good. We must have to find our limits. And that's important to define ourselves. What a man has achieved if he doesn't know himself...?
How can we be certain about the hardship we have been through? whether its was a curse or a test? This is simple; Hazrat Ali R.A said: if something took you away from ALLAH then it is a curse and if a hardship brought you closer the ALLAH then it was a test. So... having endured hardship and now that you are closer to the GOD, which should be the ideal case, you tell yourself that:
"I forgive myself because ALLAH forgave me!"
Its hard to forgive your own self, for people who walk the path never trodden before. Should they take the next step or not? This is a question with an answer very hard to get; a lot of patience is required. Such people expect guidance from ALLAH, the supreme power.
ALLAH is the supreme power and creator of everything, but, He owes us nothing even if we die for His sake. But His promises are what are going to be fulfilled on the day of judgement at the Maidam-e-Hashar. So in the presence of such a mighty creator we must rely on nothing but His guidance on every step. He is, in an exaggerated sense of the word, a marvelous God, that we must bow in front of Him and only Him.
No matter what the test has been that we went through we are obliged to forgive ourselves once He forgave us.