예제 #1
0
 def test_file(self):
     #file = generate_csv_file("test1.csv", "First Name,Last Name,Assets\rAmr,Sharaf,123\rAmr,Toronto,123\r\n")
     currency_converter.convert("test2.csv", "test2out.csv", 2, 3, True)
     output = open("test2out.csv", 'r')
     lines = output.read().splitlines()[1:]
     for line in lines:
         entries = line.split(",")
         self.assertTrue(float(entries[2]), float(entries[2]) * 2)
예제 #2
0
def test_converting_with_no_rates():
    """
    Using rates defined below, raise a ValueError if called parameters do not match the truple(s) within the rates list.
    """
    rates = [("USD", "EUR", 0.74)]
    # we use pytest.raise(ValueError) since we don't have a non-test version of this function
    with pytest.raises(ValueError):
        # raises a ValueError because the following parameters don't match any of the truples in the list of conversion rates.
        convert(rates, value=10, original = "USD", to = "SWD")
예제 #3
0
def convert_many_currencies():

    assert round(convert([("EUR", "JPY", 145.949)], 1, "EUR", "JPY"),
                 2) == 145.949
    assert round(convert(["EUR", "JPY", 145.949], 150, "JPY", "EUR"),
                 2) == 1.027
    assert round(convert([("USD", "INR", 72.86)], 2, "USD", "INR"),
                 2) == 145.72
    assert round(convert([("USR", "INR", 72.86)], 100, "INR", "USD"),
                 2) == 1.37
def test_convert_using_division():
    assert convert(
        rates=["USD", "EUR", 0.74], 
        value=1,
        current='EUR',
        to='USD'        
    ) == 1.35
예제 #5
0
def test_convert():
    assert convert(rates, 1, "USD", "EUR") == 0.74
    assert convert(rates, 10, "USD", "EUR") == 7.4
    assert convert(rates, 0.74, "EUR", "USD") == 1
    assert convert(rates, 1, "EUR", "EUR") == 1
    assert round(convert(rates, 1, "EUR", "JPY"), 2) == 145.95
    assert round(convert(rates, 145.949, "JPY", "EUR"), 2) == 1
예제 #6
0
 def test18(self):
     result = convert('6543', 'AUD', 'RUR', TEST_DATE_3)
     expected = Decimal('96836.4000')
     self.assertEqual(result, expected)
예제 #7
0
 def test17(self):
     result = convert('671', 'EUR', 'AUD', TEST_DATE_3)
     expected = Decimal('1127.5521')
     self.assertEqual(result, expected)
예제 #8
0
 def test16(self):
     result = convert('100', 'AUD', 'EUR', TEST_DATE_3)
     expected = Decimal('59.5095')
     self.assertEqual(result, expected)
예제 #9
0
 def test11(self):
     result = convert('500', 'AUD', 'EUR')
     expected = Decimal('304.1995')
     self.assertEqual(result, expected)
예제 #10
0
 def test8(self):
     result = convert('600', 'KZT', 'BRL', TEST_DATE_2)
     expected = Decimal('9.1832')
     self.assertEqual(result, expected)
예제 #11
0
def raise_error():
    rates = [("USD", "CNY", 6.9)]
    with pytest.raises(ValueError):
        convert(rates, 10, 'CNY', 'MXN')
예제 #12
0
def my_route():
    amount = request.args.get('amount', type=float)
    input_currency = request.args.get('input_currency', type=str)
    output_currency = request.args.get('output_currency', type=str)
    return currency_converter.convert(amount, input_currency, output_currency)
def test_convert_reverse():
    assert round(
        convert(
            rates=[("USD", "EUR", 0.74)], value=1, current='EUR', to='USD'), 2) == 1.35
예제 #14
0
 def test4(self):
     result = convert('700', 'RUR', 'EUR', TEST_DATE_2)
     expected = Decimal('9.7844')
     self.assertEqual(result, expected)
예제 #15
0
 def test3(self):
     result = convert('800', 'AMD', 'RUR', TEST_DATE_2)
     expected = Decimal('104.6568')
     self.assertEqual(result, expected)
예제 #16
0
 def test2(self):
     result = convert('345', 'RUR', 'RUR', TEST_DATE_1)
     expected = Decimal('345')
     self.assertEqual(result, expected)
예제 #17
0
 def test1(self):
     result = convert('500', 'AUD', 'EUR', TEST_DATE_1)
     expected = Decimal('300.8220')
     self.assertEqual(result, expected)
예제 #18
0
 def test21(self):
     result = convert('7654', 'HUF', 'DKK', TEST_DATE_4)
     expected = Decimal('177.6016')
     self.assertEqual(result, expected)
예제 #19
0
 def test19(self):
     result = convert('876', 'RUR', 'EUR', TEST_DATE_4)
     expected = Decimal('11.2469')
     self.assertEqual(result, expected)
def test_convert_multiple_rates():
    rates=[("USD", "EUR", 0.74), "EUR", "JPY", 145.949]
    assert round(convert(rates, value=10, current='USD', to='EUR'), 2) == 7.4
    assert round(convert(rates, value=10, current='EUR', to='USD'), 2) == 13.51
예제 #21
0
 def test20(self):
     result = convert('2000', 'BGN', 'BGN', TEST_DATE_4)
     expected = Decimal('2000.0000')
     self.assertEqual(result, expected)
예제 #22
0
def test_two_currencies():
    assert round(convert([("USD", "EUR", 0.74)], 1, "EUR", "USD"), 2) == 1.35
    assert round(convert([("USD", "EUR", 0.74)], 1, "USD", "EUR"), 2) == 0.74
예제 #23
0
 def test5(self):
     result = convert('1000', 'BGN', 'BGN', TEST_DATE_2)
     expected = Decimal('1000')
     self.assertEqual(result, expected)
예제 #24
0
def test_currency_convert():

    assert convert([("USD", "USD", 1)], 1, "USD", "USD") == 1
    assert convert([("USD", "USD", 1)], 2, "USD", "USD") == 2
def test_convert_same_currency():
    assert convert([], 1, current='USD', to='USD') == 1
    assert convert([], 1, current='USD', to='USD') == 2    
예제 #26
0
 def test6(self):
     result = convert('300', 'HUF', 'DKK', TEST_DATE_2)
     expected = Decimal('7.2884')
     self.assertEqual(result, expected)
def test_convert_USD_to_EUROS():
    assert convert(
        rates=["USD", "EUR", 0.74], value=1, current='USD', to='EUR') == 0.74
예제 #28
0
 def test7(self):
     result = convert('550', 'DKK', 'INR', TEST_DATE_2)
     expected = Decimal('5246.9271')
     self.assertEqual(result, expected)