def test_source_map_manycur_single(self): smap = price.parse_source_map('USD:yahoo/USDCAD ' 'CAD:yahoo/CAD=X') self.assertEqual( {'USD': [PS('beanprice.sources.yahoo', 'USDCAD', False)], 'CAD': [PS('beanprice.sources.yahoo', 'CAD=X', False)]}, self._clean_source_map(smap))
def test_source_map_manycur_multiple(self): smap = price.parse_source_map('USD:yahoo/GBPUSD,oanda/GBPUSD ' 'CAD:yahoo/GBPCAD') self.assertEqual( {'USD': [PS('beanprice.sources.yahoo', 'GBPUSD', False), PS('beanprice.sources.oanda', 'GBPUSD', False)], 'CAD': [PS('beanprice.sources.yahoo', 'GBPCAD', False)]}, self._clean_source_map(smap))
def test_source_map_onecur_multiple(self): smap = price.parse_source_map('USD:oanda/USDCAD,yahoo/CAD=X') self.assertEqual( { 'USD': [ PS('beanprice.sources.oanda', 'USDCAD', False), PS('beanprice.sources.yahoo', 'CAD=X', False) ] }, self._clean_source_map(smap))
def test_source_map_inverse(self): smap = price.parse_source_map('USD:yahoo/^GBPUSD') self.assertEqual( {'USD': [PS('beanprice.sources.yahoo', 'GBPUSD', True)]}, self._clean_source_map(smap))
def test_source_map_onecur_single(self): smap = price.parse_source_map('USD:yahoo/AAPL') self.assertEqual( {'USD': [PS('beanprice.sources.yahoo', 'AAPL', False)]}, self._clean_source_map(smap))
def test_source_map_invalid(self): for expr in 'USD', 'something else', 'USD:NASDAQ:AAPL': with self.assertRaises(ValueError): price.parse_source_map(expr)