|
2 | 2 | from datetime import datetime as dt
|
3 | 3 | from pandas.util.testing import assert_frame_equal, assert_series_equal
|
4 | 4 | from arctic.date import DateRange
|
| 5 | +from arctic.exceptions import NoDataFoundException |
5 | 6 | import pandas as pd
|
6 | 7 | import numpy as np
|
7 | 8 | import random
|
@@ -731,3 +732,41 @@ def test_read_chunk_range(chunkstore_lib):
|
731 | 732 |
|
732 | 733 | df2 = chunkstore_lib.read('test', chunk_range=DateRange(None, None))
|
733 | 734 | assert_frame_equal(df, df2)
|
| 735 | + |
| 736 | + |
| 737 | +def test_read_data_doesnt_exist(chunkstore_lib): |
| 738 | + with pytest.raises(NoDataFoundException) as e: |
| 739 | + chunkstore_lib.read('some_data') |
| 740 | + assert('No data found' in str(e)) |
| 741 | + |
| 742 | + |
| 743 | +def test_invalid_type(chunkstore_lib): |
| 744 | + with pytest.raises(Exception) as e: |
| 745 | + chunkstore_lib.write('some_data', str("Cannot write a string"), 'D') |
| 746 | + assert('Can only chunk Series and DataFrames' in str(e)) |
| 747 | + |
| 748 | + |
| 749 | +def test_append_no_data(chunkstore_lib): |
| 750 | + with pytest.raises(NoDataFoundException) as e: |
| 751 | + chunkstore_lib.append('some_data', "") |
| 752 | + assert('Symbol does not exist.' in str(e)) |
| 753 | + |
| 754 | + |
| 755 | +def test_append_no_new_data(chunkstore_lib): |
| 756 | + df = DataFrame(data={'data': [1, 2, 3, 4, 5, 6, 7, 8, 9]}, |
| 757 | + index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1), |
| 758 | + (dt(2016, 1, 2), 1), |
| 759 | + (dt(2016, 1, 3), 1), |
| 760 | + (dt(2016, 2, 1), 1), |
| 761 | + (dt(2016, 2, 2), 1), |
| 762 | + (dt(2016, 2, 3), 1), |
| 763 | + (dt(2016, 3, 1), 1), |
| 764 | + (dt(2016, 3, 2), 1), |
| 765 | + (dt(2016, 3, 3), 1)], |
| 766 | + names=['date', 'id']) |
| 767 | + ) |
| 768 | + |
| 769 | + chunkstore_lib.write('test', df, 'D') |
| 770 | + chunkstore_lib.append('test', df) |
| 771 | + r = chunkstore_lib.read('test') |
| 772 | + assert_frame_equal(df, r) |
0 commit comments