What is Assertions
Introduction
At every point in a program, there are generally constraints on the computational state that should hold for program to be correct. For instance, if a certain variable is supposed to record a count of how many changes have been made to a file, this variable must never be negative. It helps human readers to know about these constraints. Moreover, if a program checks these constraints as it executes, it may find errors almost as soon as they take place. For both these reasons, it's advisable to record constraints about program state in assertions.