function testRuleAndMessageGettersSetters() { $post = new TestPost(); $this->assertEquals(4, count($post->getRules())); $this->assertEquals('required', $post->getRule('title')); $this->assertEquals(2, count($post->setRules(array('title' => 'required', 'date' => 'required'))->getRules())); $this->assertEquals(3, count($post->setRule('slug', 'required')->getRules())); $post->mergeRules(array('content' => 'required')); $this->assertEquals(4, count($post->getRules())); $post->setCustomMessage('title', 'hello'); $this->assertEquals(1, count($post->getCustomMessages())); $post->setCustomMessages(array('title.required' => 'Bad title', 'date.required' => 'Bad date')); $this->assertEquals(2, count($post->getCustomMessages())); $post->mergeCustomMessages(array('content.required' => 'Bad content')); $this->assertEquals(3, count($post->getCustomMessages())); $this->assertEquals(12, count($post->getObservableEvents())); }