add percondition and exception test.