public function testSaveWithRankNull()
 {
     $this->removeClass();
     // 一旦全件削除
     $ClassName = new ClassName();
     $ClassName->setName('class-3')->setCreator($this->Member);
     $result = $this->app['eccube.repository.class_name']->save($ClassName);
     $this->assertTrue($result);
     $faker = $this->getFaker();
     $ClassCategory = new ClassCategory();
     $ClassCategory->setName($faker->name)->setClassName($ClassName)->setCreator($this->Member);
     $result = $this->app['eccube.repository.class_category']->save($ClassCategory);
     $this->assertTrue($result, '保存に成功したかどうか');
     $this->expected = 1;
     $this->actual = $ClassCategory->getRank();
     $this->verify('rank は' . $this->expected . 'ではありません');
 }
 /**
  * @param  \Eccube\Entity\ClassCategory $ClassCategory
  * @return bool
  */
 public function delete(\Eccube\Entity\ClassCategory $ClassCategory)
 {
     $em = $this->getEntityManager();
     $em->getConnection()->beginTransaction();
     try {
         $rank = $ClassCategory->getRank();
         $ClassName = $ClassCategory->getClassName();
         $em->createQueryBuilder()->update('Eccube\\Entity\\ClassCategory', 'cc')->set('cc.rank', 'cc.rank - 1')->where('cc.rank > :rank AND cc.ClassName = :ClassName')->setParameter('rank', $rank)->setParameter('ClassName', $ClassName)->getQuery()->execute();
         $ClassCategory->setDelFlg(1);
         $em->persist($ClassCategory);
         $em->flush();
         $em->getConnection()->commit();
     } catch (\Exception $e) {
         $em->getConnection()->rollback();
         return false;
     }
     return true;
 }