What is an Assertion and why using assertion in your program is a good idea ? Explain Assertions with a code exmaple. How many forms of assertions we have? When assertions should be avoided? What situations are best suitable for implementing assertions?