Пример #1
0
 public function testRepeatedDrivingAssertionCRUD()
 {
     $driverCategory = $this->createDriverCategory('Zivildienst');
     $address = Address::registerAddress('Burstrasse 22c', '6333', 'Baar', 'Schweiz');
     $this->init->addressRepo->store($address);
     $driver = Driver::registerDriver('m', 'Max', 'Mühlemann', '041 222 32 32', $address, 'F3234141', $driverCategory, true, '', '*****@*****.**', new \DateTime(), new \DateTime(), 5, 'alles nur ein Test');
     $this->init->driverRepo->store($driver);
     $shiftTypes[] = $this->createShiftType('Shift 1');
     $shiftTypes[] = $this->createShiftType('Shift 2');
     //weekly
     $repeatedDrivingAssertionWeekly = new RepeatedWeeklyDrivingAssertion();
     $repeatedDrivingAssertionWeekly->setWeekday(1);
     $repeatedDrivingAssertionWeekly->setShiftTypes($shiftTypes);
     $this->init->repeatedDrivingAssertionRepo->store($repeatedDrivingAssertionWeekly);
     $repeatedDrivingAssertionPlan = RepeatedDrivingAssertionPlan::registerRepeatedAssertionPlan('test', new \DateTime(), 'weekly', true);
     $repeatedDrivingAssertionPlan->assignDriver($driver);
     $repeatedDrivingAssertionPlan->assignRepeatedDrivingAssertion($repeatedDrivingAssertionWeekly);
     $this->init->repeatedDrivingAssertionPlanRepo->store($repeatedDrivingAssertionPlan);
     $this->init->em->flush();
     $find = $this->init->repeatedDrivingAssertionPlanRepo->find($repeatedDrivingAssertionPlan->getId());
     $this->assertEquals($find, $repeatedDrivingAssertionPlan);
     //monthly
     $repeatedDrivingAssertionMonthly = new RepeatedMonthlyDrivingAssertion();
     $repeatedDrivingAssertionMonthly->setRelativeWeekAsText('first');
     $repeatedDrivingAssertionMonthly->setWeekdayAsText('monday');
     $this->init->repeatedDrivingAssertionRepo->store($repeatedDrivingAssertionMonthly);
     $repeatedDrivingAssertionPlan = RepeatedDrivingAssertionPlan::registerRepeatedAssertionPlan('test', new \DateTime(), 'monthly', true);
     $repeatedDrivingAssertionPlan->assignDriver($driver);
     $repeatedDrivingAssertionPlan->assignRepeatedDrivingAssertion($repeatedDrivingAssertionMonthly);
     $this->init->repeatedDrivingAssertionPlanRepo->store($repeatedDrivingAssertionPlan);
     $this->init->em->flush();
     $find = $this->init->repeatedDrivingAssertionPlanRepo->find($repeatedDrivingAssertionPlan->getId());
     $this->assertEquals($find, $repeatedDrivingAssertionPlan);
 }
Пример #2
0
 public function testPoiCRUD()
 {
     $address = Address::registerAddress('Grundstrasse 12', '6431', 'Schwyz', 'Schweiz', 'Spital Schwyz', 47.17546, 8.517752, 'Spital');
     $this->init->addressRepo->store($address);
     $poiKeyword1 = POIKeyword::registerPOIKeyword('Tet1234');
     $poiKeyword2 = POIKeyword::registerPOIKeyword('Test2345');
     $poiKeyword3 = POIKeyword::registerPOIKeyword('Test3456');
     $this->init->poiKeywordRepo->store($poiKeyword1);
     $this->init->poiKeywordRepo->store($poiKeyword2);
     $this->init->poiKeywordRepo->store($poiKeyword3);
     $poi = POI::registerPoi('Krankenhaus', $address, 'Therapie', '041 818 21 21');
     $poi->assignKeyword($poiKeyword1);
     $poi->assignKeyword($poiKeyword2);
     $poi->assignKeyword($poiKeyword3);
     $this->init->poiRepo->store($poi);
     $this->init->em->flush();
     $poiFind = $this->init->poiRepo->find($poi->getId());
     $this->assertEquals($poi, $poiFind);
     $poi->updatePOIData('Altersheim Wohnwohl', null, 'Pflege', '041 818 31 31', 'Gutes Heim');
     $this->init->poiRepo->store($poi);
     $this->init->em->flush();
     $poiFind = $this->init->poiRepo->find($poi->getId());
     $this->assertEquals($poi, $poiFind);
     $this->poiRemove($poi);
 }
Пример #3
0
 /**
  * @param InputInterface $input
  * @param OutputInterface $output
  * @return int|null|void
  */
 public function execute(InputInterface $input, OutputInterface $output)
 {
     $n = $input->getArgument('n');
     $routingMachine = $this->getContainer()->get('tixi_app.routingmachine');
     $address1 = Address::registerAddress('Rathausstrasse 1', '6340', 'Baar', 'Schweiz', 'Ganztagesschule mit Montessoriprofil', 47.194715, 8.526096000000001);
     $address2 = Address::registerAddress('Bahnhofstrasse 9', '6410', 'Arth', 'Schweiz', 'CSS', 47.049536, 8.547931);
     $routes = array();
     for ($i = 0; $i < $n; $i++) {
         array_push($routes, Route::registerRoute($address1, $address2));
     }
     $startTime = microtime(true);
     $routingMachine->fillRoutingInformationForMultipleRoutes($routes);
     $endTime = microtime(true);
     $output->writeln('Exectued ' . $n . ' OSRM requests in: ' . ($endTime - $startTime) . "s\n");
 }
Пример #4
0
 public function testCustodianCRUD()
 {
     $address = Address::registerAddress('Teststrasse 142', '6360', 'Cham', 'Schweiz');
     $this->init->addressRepo->store($address);
     $custodian = Custodian::registerCustodian('f', 'Toranto', 'Testinger', '041 324 33 22', $address, 'Herro', '*****@*****.**', new \DateTime(), new \DateTime(), 5, 'alles nur ein Test', 'und auch Notizen');
     $passenger = Passenger::registerPassenger('f', 'Toranto', 'Testinger', '041 324 33 22', $address, 'Herro', true, false, '*****@*****.**', new \DateTime(), new \DateTime(), 5, 'alles nur ein Test', 'und auch Notizen');
     $passenger2 = Passenger::registerPassenger('m', 'Toranto2', 'Testinger2', '041 324 33 222', $address, 'Herr', true, false, '*****@*****.**', new \DateTime(), new \DateTime(), 5, 'alles nur ein Test', 'und auch Notizen');
     $custodian->assignPassenger($passenger);
     $custodian->assignPassenger($passenger2);
     $passenger->assignCustodian($custodian);
     $this->init->custodianRepo->store($custodian);
     $this->init->passengerRepo->store($passenger);
     $this->init->passengerRepo->store($passenger2);
     $this->init->em->flush();
     $custodianFind = $this->init->custodianRepo->find($custodian->getId());
     $this->assertEquals($custodian, $custodianFind);
     $this->custodianRemove($custodian);
 }
Пример #5
0
 /**
  * @expectedException Doctrine\DBAL\DBALException
  */
 public function testRouteCRUD()
 {
     $address = Address::registerAddress('Hauptweg 11', '6333', 'Baar', 'Schweiz', 'Wohnadresse', 47.17546, 8.517752, 'Wohnung');
     $address2 = Address::registerAddress('Hauptweg 22', '6333', 'Baar', 'Schweiz', 'Wohnadresse', 47.13546, 8.527752, 'Wohnung');
     $this->init->addressRepo->store($address);
     $this->init->addressRepo->store($address2);
     $this->init->em->flush();
     $route = Route::registerRoute($address, $address2, 8, 1200);
     $finds = $this->init->routeRepo->findBy(array('startAddress' => $address->getId(), 'targetAddress' => $address2->getId()));
     $this->assertCount(0, $finds);
     $this->init->routeRepo->store($route);
     $this->init->em->flush();
     $finds = $this->init->routeRepo->findBy(array('startAddress' => $address->getId(), 'targetAddress' => $address2->getId()));
     $this->assertCount(1, $finds);
     //duplicate entry Exception will appear
     $route2 = Route::registerRoute($address, $address2, 2, 312);
     $this->init->routeRepo->store($route2);
     $this->init->em->flush();
 }
Пример #6
0
 public function testPassengerCRUD()
 {
     $handicap = $this->createHandicap('hörbehindert');
     $insurance = $this->createInsurance('AHV');
     $category = $this->createPersonCategory('Sponsor');
     $address = Address::registerAddress('Teststrasse 142', '6360', 'Cham', 'Schweiz');
     $this->init->addressRepo->store($address);
     $passenger = Passenger::registerPassenger('f', 'Toranto', 'Testinger', '041 324 33 22', $address, 'Herro', true, false, '*****@*****.**', new \DateTime(), new \DateTime(), 5, 'alles nur ein Test', 'und auch Notizen');
     $passenger->assignHandicap($handicap);
     $passenger->assignInsurance($insurance);
     $passenger->assignPersonCategory($category);
     $this->init->passengerRepo->store($passenger);
     $this->init->em->flush();
     $passengerFind = $this->init->passengerRepo->find($passenger->getId());
     $this->assertEquals($passenger, $passengerFind);
     $passenger->updatePassengerData('f', 'Mila', 'Tolina', '0293292323', $address, 'Lady', true, false, '*****@*****.**', new \DateTime(), new \DateTime(), 2, 'goodies', 'notices');
     $this->init->passengerRepo->store($passenger);
     $this->init->em->flush();
     $passengerFind = $this->init->passengerRepo->find($passenger->getId());
     $this->assertEquals($passenger, $passengerFind);
     $this->passengerCreateAbsent($passenger);
     $this->passengerRemove($passenger);
 }
Пример #7
0
 public function testDriverCRUD()
 {
     $driverCategory = $this->createDriverCategory('Zivildienst');
     $address = Address::registerAddress('Burstrasse 22c', '6333', 'Baar', 'Schweiz');
     $this->init->addressRepo->store($address);
     $driver = Driver::registerDriver('m', 'Max', 'Mühlemann', '041 222 32 32', $address, 'F3234141', $driverCategory, true, 'Dr.', '*****@*****.**', new \DateTime(), new \DateTime(), 5, 'alles nur ein Test');
     $this->init->driverRepo->store($driver);
     $this->init->em->flush();
     $driverFind = $this->init->driverRepo->find($driver->getId());
     $this->assertEquals($driverFind, $driver);
     $date = new \DateTime('2009-01-01');
     $address = Address::registerAddress('Hauptstrasse 11', '6430', 'Schwyz', 'Schweiz', 48.55446, 75.54658999999999, 'Wohnung', 1);
     $this->init->addressRepo->store($address);
     $driverCategory = $this->createDriverCategory('Freiwillig');
     $driver->updateDriverData('f', 'Muni', 'Meier', '041 333 32 32', $address, 'FEA12345', $driverCategory, false, 'Dr. med.', '*****@*****.**', $date, $date, 5, 'alles nur ein Test');
     $this->init->driverRepo->store($driver);
     $this->init->em->flush();
     /**@var $driverFind Driver */
     $driverFind = $this->init->driverRepo->findOneBy(array('licenceNumber' => 'FEA12345'));
     $this->assertEquals($driver, $driverFind);
     $this->driverCreateAbsent($driver);
     $this->driverSuperviseVehicle($driver);
     $this->driverRemove($driver);
 }
Пример #8
0
 /**
  * Handles a new Address object if register new one or get an existing one
  *
  * @param AddressHandleDTO $addressHandleDTO
  * @return mixed|void
  * @throws \Exception
  */
 public function handleAddress(AddressHandleDTO $addressHandleDTO)
 {
     /** @var AddressRepositoryDoctrine $addressRepository */
     $addressRepository = $this->container->get('address_repository');
     $address = null;
     if (null === $addressHandleDTO->id) {
         //create new address
         $address = Address::registerAddress($addressHandleDTO->street, $addressHandleDTO->postalCode, $addressHandleDTO->city, $addressHandleDTO->country, null, $addressHandleDTO->lat, $addressHandleDTO->lng, $addressHandleDTO->source);
         $addressRepository->store($address);
     } else {
         /** @var Address $address */
         $address = $addressRepository->find($addressHandleDTO->id);
         if (null === $address) {
             throw new \Exception('The address with id ' . $addressHandleDTO->id . ' does not exist');
         }
         if ($addressHandleDTO->source === Address::SOURCE_MANUAL) {
             $address->updateAddressData($addressHandleDTO->street, $addressHandleDTO->postalCode, $addressHandleDTO->city, $addressHandleDTO->country, null, $addressHandleDTO->lat, $addressHandleDTO->lng, $addressHandleDTO->source);
         }
     }
     return $address;
 }
Пример #9
0
 public function createTestAddressAesch()
 {
     $address = Address::registerAddress('Test 9', '4147', 'Aesch', 'Schweiz', 'Test', 47.049536, 8.547931);
     $this->addressRepo->store($address);
     $this->em->flush();
     return $address;
 }