示例#1
0
 public function testCopyForOwner()
 {
     $mockOwner2 = $this->getMockUser(2);
     $model = $this->modelObjects[2];
     $childModel = $this->modelObjects[3];
     $entity = new CeModelEntity();
     $assetClass = new AssetClass();
     $subclass = new Subclass();
     $assetClass->setModel($model);
     $assetClass->addSubclasse($subclass);
     $subclass->setAssetClass($assetClass);
     $entity->setSubclass($subclass);
     $childModel->addModelEntity($entity);
     $copiedModel = $this->manager->copyForOwner($model, $mockOwner2);
     $this->assertEquals(5, $copiedModel->getRiskRating());
     $this->assertEquals(2, $copiedModel->getOwner()->getId());
     $this->assertCount(1, $copiedModel->getChildren());
     foreach ($copiedModel->getChildren() as $child) {
         $this->assertEquals(2, $child->getOwner()->getId());
         $this->assertCount(1, $child->getModelEntities());
         foreach ($child->getModelEntities() as $entity) {
             $this->assertNotNull($entity->getSubclass());
             $this->assertNotNull($entity->getSubclass()->getAssetClass());
         }
     }
 }
 public function setUp()
 {
     $subclassMock1 = $this->getMock('Wealthbot\\AdminBundle\\Entity\\Subclass', array('getId'));
     $subclassMock1->expects($this->any())->method('getId')->will($this->returnValue(1));
     $subclassMock1->setName('Subclass1');
     $subclassMock1->setExpectedPerformance(0.5);
     $subclassMock2 = $this->getMock('Wealthbot\\AdminBundle\\Entity\\Subclass', array('getId'));
     $subclassMock2->expects($this->any())->method('getId')->will($this->returnValue(2));
     $subclassMock2->setName('Subclass2');
     $subclassMock2->setExpectedPerformance(0.7);
     $entity1 = new CeModelEntity();
     $security1 = new Security();
     $security1->setExpenseRatio(0.6);
     $securityAssignment1 = new SecurityAssignment();
     $securityAssignment1->setSecurity($security1);
     $securityAssignment1->setSubclass($subclassMock1);
     $entity1->setSubclass($subclassMock1);
     $entity1->setPercent(40);
     $entity1->setSecurityAssignment($securityAssignment1);
     $entity2 = new CeModelEntity();
     $security2 = new Security();
     $security2->setExpenseRatio(0.3);
     $securityAssignment2 = new SecurityAssignment();
     $securityAssignment2->setSecurity($security2);
     $securityAssignment2->setSubclass($subclassMock2);
     $entity2->setSubclass($subclassMock2);
     $entity2->setPercent(60);
     $entity2->setSecurityAssignment($securityAssignment2);
     $entity3 = new CeModelEntity();
     $security3 = new Security();
     $security3->setExpenseRatio(0.7);
     $securityAssignment3 = new SecurityAssignment();
     $securityAssignment3->setSecurity($security3);
     $securityAssignment3->setSubclass($subclassMock1);
     $entity3->setSubclass($subclassMock1);
     $entity3->setPercent(100);
     $entity3->setSecurityAssignment($securityAssignment3);
     $entity3->setIsQualified(true);
     $model = new CeModel('Model');
     $model->addModelEntity($entity1);
     $model->addModelEntity($entity2);
     $model->addModelEntity($entity3);
     $model->setLowMarketReturn(0.6);
     $model->setGenerousMarketReturn(1.3);
     $model->setForecast(0);
     $this->portfolioInformation = new PortfolioInformation();
     $this->portfolioInformation->setModel($model);
 }
示例#3
0
 public function testBuildGroupModelEntities()
 {
     $entity1 = new CeModelEntity();
     $entity1->setIsQualified(false);
     $entity2 = new CeModelEntity();
     $entity2->setIsQualified(true);
     $entity3 = new CeModelEntity();
     $entity3->setIsQualified(true);
     $this->model->addModelEntity($entity1);
     $this->model->addModelEntity($entity2);
     $this->model->addModelEntity($entity3);
     $this->model->buildGroupModelEntities();
     $this->assertCount(2, $this->model->getQualifiedModelEntities(), 'Invalid count of qualified model entities.');
     $this->assertCount(1, $this->model->getNonQualifiedModelEntities(), 'Invalid count of non qualified model entities.');
     $this->model->removeModelEntity($entity1);
     $this->model->removeModelEntity($entity2);
     $this->assertCount(1, $this->model->getQualifiedModelEntities(), 'Invalid count of qualified model entities after model was removed.');
     $this->assertCount(0, $this->model->getNonQualifiedModelEntities(), 'Invalid count of non qualified model entities after model was removed.');
 }
示例#4
0
 /**
  * Get taxLossHarvesting
  *
  * @return \Wealthbot\AdminBundle\Entity\SecurityAssignment
  */
 public function getTaxLossHarvesting()
 {
     return parent::getTaxLossHarvesting();
 }