33
33
Timedelta ,
34
34
NaT ,
35
35
date_range ,
36
- isnull ,
37
36
)
38
37
39
38
from zipline .data .bar_reader import NoDataOnDate
@@ -971,8 +970,15 @@ def test_truncate_between_data_points(self):
971
970
# Truncate to first day with data.
972
971
self .writer .truncate (days [0 ])
973
972
973
+ # Refresh the reader since truncate update the metadata.
974
+ self .reader = BcolzMinuteBarReader (self .dest )
975
+
974
976
self .assertEqual (self .writer .last_date_in_output_for_sid (sid ), days [0 ])
975
977
978
+ cal = self .trading_calendar
979
+ _ , last_close = cal .open_and_close_for_session (days [0 ])
980
+ self .assertEqual (self .reader .last_available_dt , last_close )
981
+
976
982
minute = minutes [0 ]
977
983
978
984
open_price = self .reader .get_value (sid , minute , 'open' )
@@ -995,28 +1001,6 @@ def test_truncate_between_data_points(self):
995
1001
996
1002
self .assertEquals (50.0 , volume_price )
997
1003
998
- minute = minutes [1 ]
999
-
1000
- open_price = self .reader .get_value (sid , minute , 'open' )
1001
-
1002
- self .assertTrue (isnull (open_price ))
1003
-
1004
- high_price = self .reader .get_value (sid , minute , 'high' )
1005
-
1006
- self .assertTrue (isnull (high_price ))
1007
-
1008
- low_price = self .reader .get_value (sid , minute , 'low' )
1009
-
1010
- self .assertTrue (isnull (low_price ))
1011
-
1012
- close_price = self .reader .get_value (sid , minute , 'close' )
1013
-
1014
- self .assertTrue (isnull (close_price ))
1015
-
1016
- volume_price = self .reader .get_value (sid , minute , 'volume' )
1017
-
1018
- self .assertEqual (0.0 , volume_price )
1019
-
1020
1004
def test_truncate_all_data_points (self ):
1021
1005
1022
1006
tds = self .market_opens .index
@@ -1044,51 +1028,15 @@ def test_truncate_all_data_points(self):
1044
1028
# day with minute data.
1045
1029
self .writer .truncate (self .test_calendar_start )
1046
1030
1031
+ # Refresh the reader since truncate update the metadata.
1032
+ self .reader = BcolzMinuteBarReader (self .dest )
1033
+
1047
1034
self .assertEqual (
1048
1035
self .writer .last_date_in_output_for_sid (sid ),
1049
1036
self .test_calendar_start ,
1050
1037
)
1051
1038
1052
- minute = minutes [0 ]
1053
-
1054
- open_price = self .reader .get_value (sid , minute , 'open' )
1055
-
1056
- self .assertTrue (isnull (open_price ))
1057
-
1058
- high_price = self .reader .get_value (sid , minute , 'high' )
1059
-
1060
- self .assertTrue (isnull (high_price ))
1061
-
1062
- low_price = self .reader .get_value (sid , minute , 'low' )
1063
-
1064
- self .assertTrue (isnull (low_price ))
1065
-
1066
- close_price = self .reader .get_value (sid , minute , 'close' )
1067
-
1068
- self .assertTrue (isnull (close_price ))
1069
-
1070
- volume_price = self .reader .get_value (sid , minute , 'volume' )
1071
-
1072
- self .assertEquals (0.0 , volume_price )
1073
-
1074
- minute = minutes [1 ]
1075
-
1076
- open_price = self .reader .get_value (sid , minute , 'open' )
1077
-
1078
- self .assertTrue (isnull (open_price ))
1079
-
1080
- high_price = self .reader .get_value (sid , minute , 'high' )
1081
-
1082
- self .assertTrue (isnull (high_price ))
1083
-
1084
- low_price = self .reader .get_value (sid , minute , 'low' )
1085
-
1086
- self .assertTrue (isnull (low_price ))
1087
-
1088
- close_price = self .reader .get_value (sid , minute , 'close' )
1089
-
1090
- self .assertTrue (isnull (close_price ))
1091
-
1092
- volume_price = self .reader .get_value (sid , minute , 'volume' )
1093
-
1094
- self .assertEqual (0.0 , volume_price )
1039
+ cal = self .trading_calendar
1040
+ _ , last_close = cal .open_and_close_for_session (
1041
+ self .test_calendar_start )
1042
+ self .assertEqual (self .reader .last_available_dt , last_close )
0 commit comments