public function testShouldWorkWithZero() { $service = new Service(); $converter = new Converter($service); $actual = $converter->convert(0, 'USD', 'EUR'); $expected = 0; $this->assertEquals($expected, $actual); }
/** * @param InputInterface $input * @param OutputInterface $output * @return void */ protected function execute(InputInterface $input, OutputInterface $output) { $headerStyle = new OutputFormatterStyle('white', 'blue', array('bold')); $output->getFormatter()->setStyle('header', $headerStyle); $id = intval($input->getArgument('id')); if (!$id) { throw new \InvalidArgumentException('Please provide valid merchant ID'); } $output->writeln('<header> Report for merchant #' . $id . ' </header>'); $storage = new Storage(new PDO(DB_DSN)); $transaction = new Transaction($storage); $merchant = new Merchant($transaction); $converter = new Converter(new Service()); $transactions = $merchant->getTransactions($id); if (!empty($transactions)) { $output->writeln("Date\t\tAmount,GBP"); foreach ($transactions as $transaction) { $output->writeln(sprintf("%s\t%.2f", date('d/m/Y', strtotime($transaction['created_at'])), $converter->convert($transaction['amount'], $transaction['currency'], 'GBP'))); } } else { $output->writeln('No data for merchant'); } }