Esempio n. 1
0
def test_get_market_cap():
    parser = Financials("AAPL")
    parser._fetch_json("profile")
    with open(os.path.join(raw_data_dir, "aapl_summary.json"), "r") as f:
        json_data = json.load(f)
    parser._fetch_json = lambda x: json_data
    mktCap = parser.mktCap
    assert mktCap == float(1230468047640.00)
Esempio n. 2
0
def test_get_cash_flow():
    parser = Financials("AAPL")
    with open(os.path.join(raw_data_dir, "aapl_cash_flow.json"), "r") as f:
        json_data = json.load(f)
    parser._fetch_json = lambda x: json_data

    df = parser.cash_flow_statement
    assert not df.empty

    df_test = pd.read_hdf(os.path.join(raw_data_dir, "aapl_cash_flow.hdf"),
                          key="aapl_cash_flow")
    assert df.equals(df_test)
Esempio n. 3
0
def test_get_income_statement():
    parser = Financials("AAPL")
    with open("./raw_data/aapl_income_statement.json", "r") as f:
        json_data = json.load(f)
    parser._fetch_json = lambda x: json_data

    df = parser.income_statement
    assert not df.empty

    df_test = pd.read_hdf("./raw_data/aapl_income_statement.hdf",
                          key="aapl_income_statement")
    assert df.equals(df_test)
def test_get_market_cap():
    parser = Financials("AAPL")
    with open(os.path.join(raw_data_dir, "aapl_summary.json"), "r") as f:
        json_data = json.load(f)
    parser._fetch_json = lambda x: json_data
    results = parser.mktCap
    assert results == float(1230468047640.00)

    # test cached value
    parser._fetch_json = None
    results = parser.mktCap
    assert results == float(1230468047640.00)
Esempio n. 5
0
def test_get_balance_sheet():
    parser = Financials("AAPL")
    with open(os.path.join(raw_data_dir, "aapl_balance_sheet.json"), "r") as f:
        json_data = json.load(f)

    parser._fetch_json = lambda x: {"financials": json_data}

    df = parser.balance_sheet_statement
    assert not df.empty

    df_test = pd.read_hdf(os.path.join(raw_data_dir, "aapl_balance_sheet.hdf"),
                          key="aapl_balance_sheet")
    assert df.equals(df_test)
def test_get_cash_flow():
    parser = Financials("AAPL")
    with open(os.path.join(raw_data_dir, "aapl_cash_flow.json"), "r") as f:
        json_data = json.load(f)
    parser._fetch_json = lambda x: json_data

    results = parser.cash_flow_statement
    assert not results.empty

    expected = pd.read_hdf(os.path.join(raw_data_dir, "aapl_cash_flow.hdf"),
                           key="aapl_cash_flow")
    assert results.equals(expected)

    # test cached value
    parser._fetch_json = None
    results = parser.cash_flow_statement
    assert results.equals(expected)
def test_fetch_json():
    parser = Financials("AAPL")
    parser.datatypes["balance_sheet_statement"] = "NotaValidURL"
    parser.datatypes["cash_flow_statement"] = "https://www.google.com"

    # Wrong url should raise ParseError
    with pytest.raises(ParserError):
        parser._fetch_json("balance_sheet_statement")
    with pytest.raises(JSONDecodeError):
        parser._fetch_json("cash_flow_statement")
def test_json_to_df():
    with open(os.path.join(raw_data_dir, "aapl_balance_sheet.json"), "r") as f:
        json_data = json.load(f)

    results = Financials._json_to_df(json_data)
    expected = pd.read_hdf(os.path.join(raw_data_dir,
                                        "aapl_balance_sheet.hdf"),
                           key="aapl_balance_sheet")
    assert results.equals(expected)
def test_get_balance_sheet():
    parser = Financials("AAPL")
    with open(os.path.join(raw_data_dir, "aapl_balance_sheet.json"), "r") as f:
        json_data = json.load(f)

    parser._fetch_json = lambda x: {"financials": json_data}

    results = parser.balance_sheet_statement
    assert not results.empty

    expected = pd.read_hdf(os.path.join(raw_data_dir,
                                        "aapl_balance_sheet.hdf"),
                           key="aapl_balance_sheet")
    assert results.equals(expected)

    # test cached value
    parser._fetch_json = None
    results = parser.balance_sheet_statement
    assert results.equals(expected)
Esempio n. 10
0
def test_date_parser():
    assert Financials._date_parse("2018-9-29") == date(2018, 9, 29)