"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libgnucash/app-utils/test/gtest-gnc-quotes.cpp" between
gnucash-5.0.tar.bz2 and gnucash-5.1.tar.bz2

About: GnuCash is personal and small-business financial-accounting software.

gtest-gnc-quotes.cpp  (gnucash-5.0.tar.bz2):gtest-gnc-quotes.cpp  (gnucash-5.1.tar.bz2)
skipping to change at line 93 skipping to change at line 93
return {1, m_quotes, m_errors}; return {1, m_quotes, m_errors};
} }
class GncQuotesTest : public ::testing::Test class GncQuotesTest : public ::testing::Test
{ {
protected: protected:
GncQuotesTest() : m_session{gnc_get_current_session()}, GncQuotesTest() : m_session{gnc_get_current_session()},
m_book{qof_session_get_book(gnc_get_current_session())} m_book{qof_session_get_book(gnc_get_current_session())}
{ {
qof_init(); qof_init();
gnc_commodity_table_register();
gnc_pricedb_register(); /* By setting an empty commodity table on the book before registering
* the commodity_table type we avoid adding the default commodities */
auto comm_table{gnc_commodity_table_new()}; auto comm_table{gnc_commodity_table_new()};
qof_book_set_data(m_book, GNC_COMMODITY_TABLE, comm_table); qof_book_set_data(m_book, GNC_COMMODITY_TABLE, comm_table);
gnc_commodity_table_register();
gnc_pricedb_register();
auto eur = gnc_commodity_new(m_book, "Euro", "ISO4217", "EUR", NULL, 100 ); auto eur = gnc_commodity_new(m_book, "Euro", "ISO4217", "EUR", NULL, 100 );
auto source{gnc_quote_source_lookup_by_internal("currency")}; auto source{gnc_quote_source_lookup_by_internal("currency")};
gnc_commodity_begin_edit(eur); gnc_commodity_begin_edit(eur);
gnc_commodity_set_quote_flag(eur, TRUE); gnc_commodity_set_quote_flag(eur, TRUE);
gnc_commodity_set_quote_source(eur, source); gnc_commodity_set_quote_source(eur, source);
gnc_commodity_commit_edit(eur); gnc_commodity_commit_edit(eur);
gnc_commodity_table_insert(comm_table, eur); gnc_commodity_table_insert(comm_table, eur);
auto usd = gnc_commodity_new(m_book, "United States Dollar", "CURRENCY", auto usd = gnc_commodity_new(m_book, "United States Dollar", "CURRENCY",
"USD", NULL, 100); "USD", NULL, 100);
gnc_commodity_table_insert(comm_table, usd); gnc_commodity_table_insert(comm_table, usd);
source = gnc_quote_source_lookup_by_internal("yahoo_json"); source = gnc_quote_source_lookup_by_internal("yahoo_json");
auto aapl = gnc_commodity_new(m_book, "Apple", "NASDAQ", "AAPL", NULL, 1 ); auto aapl = gnc_commodity_new(m_book, "Apple", "NASDAQ", "AAPL", NULL, 1 );
gnc_commodity_begin_edit(aapl); gnc_commodity_begin_edit(aapl);
gnc_commodity_set_quote_flag(aapl, TRUE); gnc_commodity_set_quote_flag(aapl, TRUE);
gnc_commodity_set_quote_source(aapl, source); gnc_commodity_set_quote_source(aapl, source);
gnc_commodity_commit_edit(aapl); gnc_commodity_commit_edit(aapl);
gnc_commodity_table_insert(comm_table, aapl); gnc_commodity_table_insert(comm_table, aapl);
auto hpe = gnc_commodity_new(m_book, "Hewlett Packard", "NYSE", "HPE", auto hpe = gnc_commodity_new(m_book, "Hewlett Packard", "NYSE", "HPE", N
NULL, 1); ULL, 1);
gnc_commodity_begin_edit(hpe); gnc_commodity_begin_edit(hpe);
gnc_commodity_set_quote_flag(hpe, TRUE); gnc_commodity_set_quote_flag(hpe, TRUE);
gnc_commodity_set_quote_source(hpe, source); gnc_commodity_set_quote_source(hpe, source);
gnc_commodity_commit_edit(hpe); gnc_commodity_commit_edit(hpe);
gnc_commodity_table_insert(comm_table, hpe); gnc_commodity_table_insert(comm_table, hpe);
auto fkcm = gnc_commodity_new(m_book, "Fake Company", "NASDAQ", "FKCM", NULL, 1); auto fkcm = gnc_commodity_new(m_book, "Fake Company", "NASDAQ", "FKCM", NULL, 1);
gnc_commodity_begin_edit(fkcm); gnc_commodity_begin_edit(fkcm);
gnc_commodity_set_quote_flag(fkcm, TRUE); gnc_commodity_set_quote_flag(fkcm, TRUE);
gnc_commodity_set_quote_source(fkcm, source); gnc_commodity_set_quote_source(fkcm, source);
gnc_commodity_commit_edit(fkcm); gnc_commodity_commit_edit(fkcm);
gnc_commodity_table_insert(comm_table, fkcm); gnc_commodity_table_insert(comm_table, fkcm);
gnc_quote_source_set_fq_installed("TestSuite", g_list_prepend(nullptr, ( GList *sources = g_list_prepend(nullptr, (void*)"yahoo_json");
void*)"yahoo_json")); gnc_quote_source_set_fq_installed("TestSuite", sources);
g_list_free(sources);
} }
~GncQuotesTest() { ~GncQuotesTest() {
gnc_clear_current_session(); gnc_clear_current_session();
qof_close();
} }
QofSession* m_session; QofSession* m_session;
QofBook* m_book; QofBook* m_book;
}; };
TEST_F(GncQuotesTest, quote_sources) TEST_F(GncQuotesTest, quote_sources)
{ {
auto qs_cur{gnc_quote_source_lookup_by_internal("currency")}; auto qs_cur{gnc_quote_source_lookup_by_internal("currency")};
auto qs_yahoo{gnc_quote_source_lookup_by_internal("yahoo_json")}; auto qs_yahoo{gnc_quote_source_lookup_by_internal("yahoo_json")};
skipping to change at line 272 skipping to change at line 278
auto price{gnc_pricedb_lookup_latest(pricedb, hpe, usd)}; auto price{gnc_pricedb_lookup_latest(pricedb, hpe, usd)};
auto datetime{static_cast<time64>(GncDateTime("20220901160000"))}; auto datetime{static_cast<time64>(GncDateTime("20220901160000"))};
EXPECT_EQ(usd, gnc_price_get_currency(price)); EXPECT_EQ(usd, gnc_price_get_currency(price));
EXPECT_EQ(datetime, gnc_price_get_time64(price)); EXPECT_EQ(datetime, gnc_price_get_time64(price));
EXPECT_EQ(PRICE_SOURCE_FQ, gnc_price_get_source(price)); EXPECT_EQ(PRICE_SOURCE_FQ, gnc_price_get_source(price));
EXPECT_TRUE(gnc_numeric_equal(GncNumeric{1337, 100}, EXPECT_TRUE(gnc_numeric_equal(GncNumeric{1337, 100},
gnc_price_get_value(price))); gnc_price_get_value(price)));
EXPECT_STREQ("Finance::Quote", gnc_price_get_source_string(price)); EXPECT_STREQ("Finance::Quote", gnc_price_get_source_string(price));
EXPECT_STREQ("last", gnc_price_get_typestr(price)); EXPECT_STREQ("last", gnc_price_get_typestr(price));
gnc_price_unref(price);
} }
TEST_F(GncQuotesTest, fetch_one_currency) TEST_F(GncQuotesTest, fetch_one_currency)
{ {
StrVec quote_vec{ StrVec quote_vec{
"{" "{"
"\"EUR\":{\"symbol\":\"EUR\",\"currency\":\"USD\",\"success\":\"1\",\"i nverted\":0,\"last\":1.0004}" "\"EUR\":{\"symbol\":\"EUR\",\"currency\":\"USD\",\"success\":\"1\",\"i nverted\":0,\"last\":1.0004}"
"}" "}"
}; };
StrVec err_vec; StrVec err_vec;
skipping to change at line 302 skipping to change at line 309
auto datetime{static_cast<time64>(GncDateTime())}; auto datetime{static_cast<time64>(GncDateTime())};
EXPECT_EQ(usd, gnc_price_get_currency(price)); EXPECT_EQ(usd, gnc_price_get_currency(price));
EXPECT_EQ(datetime, gnc_price_get_time64(price)); EXPECT_EQ(datetime, gnc_price_get_time64(price));
EXPECT_EQ(PRICE_SOURCE_FQ, gnc_price_get_source(price)); EXPECT_EQ(PRICE_SOURCE_FQ, gnc_price_get_source(price));
EXPECT_EQ(10004, gnc_price_get_value(price).num); EXPECT_EQ(10004, gnc_price_get_value(price).num);
EXPECT_TRUE(gnc_numeric_equal(GncNumeric{10004, 10000}, EXPECT_TRUE(gnc_numeric_equal(GncNumeric{10004, 10000},
gnc_price_get_value(price))); gnc_price_get_value(price)));
EXPECT_STREQ("Finance::Quote", gnc_price_get_source_string(price)); EXPECT_STREQ("Finance::Quote", gnc_price_get_source_string(price));
EXPECT_STREQ("last", gnc_price_get_typestr(price)); EXPECT_STREQ("last", gnc_price_get_typestr(price));
gnc_price_unref(price);
} }
TEST_F(GncQuotesTest, no_currency) TEST_F(GncQuotesTest, no_currency)
{ {
StrVec quote_vec{ StrVec quote_vec{
"{" "{"
"\"HPE\":{\"date\":\"09/01/2022\",\"last\":13.37,\"success\":1}" "\"HPE\":{\"date\":\"09/01/2022\",\"last\":13.37,\"success\":1}"
"}" "}"
}; };
StrVec err_vec; StrVec err_vec;
skipping to change at line 368 skipping to change at line 376
auto price{gnc_pricedb_lookup_latest(pricedb, hpe, usd)}; auto price{gnc_pricedb_lookup_latest(pricedb, hpe, usd)};
auto datetime{static_cast<time64>(GncDateTime())}; auto datetime{static_cast<time64>(GncDateTime())};
EXPECT_EQ(usd, gnc_price_get_currency(price)); EXPECT_EQ(usd, gnc_price_get_currency(price));
EXPECT_EQ(datetime, gnc_price_get_time64(price)); EXPECT_EQ(datetime, gnc_price_get_time64(price));
EXPECT_EQ(PRICE_SOURCE_FQ, gnc_price_get_source(price)); EXPECT_EQ(PRICE_SOURCE_FQ, gnc_price_get_source(price));
EXPECT_TRUE(gnc_numeric_equal(GncNumeric{1337, 100}, EXPECT_TRUE(gnc_numeric_equal(GncNumeric{1337, 100},
gnc_price_get_value(price))); gnc_price_get_value(price)));
EXPECT_STREQ("Finance::Quote", gnc_price_get_source_string(price)); EXPECT_STREQ("Finance::Quote", gnc_price_get_source_string(price));
EXPECT_STREQ("last", gnc_price_get_typestr(price)); EXPECT_STREQ("last", gnc_price_get_typestr(price));
gnc_price_unref(price);
} }
TEST_F(GncQuotesTest, test_version) TEST_F(GncQuotesTest, test_version)
{ {
StrVec quote_vec, err_vec; StrVec quote_vec, err_vec;
GncQuotesImpl quotes(m_book, std::make_unique<GncMockQuoteSource>(std::move( quote_vec), std::move(err_vec))); GncQuotesImpl quotes(m_book, std::make_unique<GncMockQuoteSource>(std::move( quote_vec), std::move(err_vec)));
EXPECT_STREQ("9.99", quotes.version().c_str()); EXPECT_STREQ("9.99", quotes.version().c_str());
} }
TEST_F(GncQuotesTest, test_failure_invalid_json) TEST_F(GncQuotesTest, test_failure_invalid_json)
 End of changes. 9 change blocks. 
8 lines changed or deleted 18 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)