Rules is great, but sometimes also tough to debug if things don't work as you'd expect. In your case, either something unexpected happens in your Rules Conditions, or there is some error in your Rules Action.
There are some typical facilities to do such debugging (further detailed below), but a Keep-It-Super-Simple technique I often use, is my BINGO-trick. A sample of such rule can be found in my answer to "Which Rules condition can be used to email a user when an admin updates their profile?". Stupid, but simple and efficient (I think).
If the above doesn't help, then there are typically 2 ways of more advanced debugging, as further detailed below.
Rules Evaluation Log
Within the Rules settings, experiment a bit with the debugging facilities that come with the rules module. At least have a look at the "Rules Evaluation Log" (to check that the Rules logic being executed, actually matches what you expect that logic to be).
Rules Action to display a value (using devel)
You may also want to (temporary) enable the Devel module, so that you can (temporary) add a Rules Action like "Display a value".
Obviously, make sure that there are no Rules Conditions that would prevent the rules Action(s) from being executed (if needed temporary remove such Rules Conditions).
More info
For way more details about these 2 variations, refer to Rules debugging, as explained in the answer to "How can I display the value of a variable inside a condition?".