def _(name): @self.register(name) def ingest(*args): pass assert_in(name, self.bundles) assert_is(self.bundles[name].ingest, ingest)
def test_register_non_decorator(self): ayy_lmao_set = set() def ayy_lmao(): return ayy_lmao_set self.register('ayy-lmao', ayy_lmao) expected_metrics_sets = MappingProxyType({'ayy-lmao': ayy_lmao}) assert_equal(self.metrics_sets, expected_metrics_sets) assert_is(self.load('ayy-lmao'), ayy_lmao_set) def other(): # pragma: no cover raise AssertionError('dead') msg = "metrics set 'ayy-lmao' is already registered" with assert_raises_str(ValueError, msg): self.register('ayy-lmao', other) # ensure that the failed registration didn't break the previously # registered set assert_equal(self.metrics_sets, expected_metrics_sets) assert_is(self.load('ayy-lmao'), ayy_lmao_set) self.unregister('ayy-lmao') assert_equal(self.metrics_sets, MappingProxyType({})) msg = "no metrics set registered as 'ayy-lmao', options are: []" with assert_raises_str(ValueError, msg): self.load('ayy-lmao') msg = "metrics set 'ayy-lmao' was not already registered" with assert_raises_str(ValueError, msg): self.unregister('ayy-lmao')
def test_register_non_decorator(self): ayy_lmao_set = set() def ayy_lmao(): return ayy_lmao_set self.register('ayy-lmao', ayy_lmao) expected_metrics_sets = mappingproxy({'ayy-lmao': ayy_lmao}) assert_equal(self.metrics_sets, expected_metrics_sets) assert_is(self.load('ayy-lmao'), ayy_lmao_set) def other(): # pragma: no cover raise AssertionError('dead') msg = "metrics set 'ayy-lmao' is already registered" with assert_raises_str(ValueError, msg): self.register('ayy-lmao', other) # ensure that the failed registration didn't break the previously # registered set assert_equal(self.metrics_sets, expected_metrics_sets) assert_is(self.load('ayy-lmao'), ayy_lmao_set) self.unregister('ayy-lmao') assert_equal(self.metrics_sets, mappingproxy({})) msg = "no metrics set registered as 'ayy-lmao', options are: []" with assert_raises_str(ValueError, msg): self.load('ayy-lmao') msg = "metrics set 'ayy-lmao' was not already registered" with assert_raises_str(ValueError, msg): self.unregister('ayy-lmao')
def test_valid_slice(self, dims_spec): class MD(DataSetFamily): extra_dims = dims_spec f8 = Column('f8') i8 = Column('i8', missing_value=0) ob = Column('O') M8 = Column('M8[ns]') boolean = Column('?') expected_dims = OrderedDict([(k, frozenset(v)) for k, v in dims_spec]) assert_equal(MD.extra_dims, expected_dims) for valid_combination in itertools.product(*expected_dims.values()): Slice = MD.slice(*valid_combination) alternate_constructions = [ # all positional MD.slice(*valid_combination), # all keyword MD.slice(**dict(zip(expected_dims.keys(), valid_combination))), # mix keyword/positional MD.slice( *valid_combination[:len(valid_combination) // 2], **dict( list(zip(expected_dims.keys(), valid_combination))[ len(valid_combination) // 2: ], ) ), ] for alt in alternate_constructions: assert_is(Slice, alt, msg='Slices are not properly memoized') expected_coords = OrderedDict( zip(expected_dims, valid_combination), ) assert_equal(Slice.extra_coords, expected_coords) assert_is(Slice.dataset_family, MD) assert_is_subclass(Slice, DataSetFamilySlice) expected_columns = { ('f8', np.dtype('f8'), Slice), ('i8', np.dtype('i8'), Slice), ('ob', np.dtype('O'), Slice), ('M8', np.dtype('M8[ns]'), Slice), ('boolean', np.dtype('?'), Slice), } actual_columns = { (c.name, c.dtype, c.dataset) for c in Slice.columns } assert_equal(actual_columns, expected_columns)
def bundle_ingest(environ, asset_db_writer, minute_bar_writer, daily_bar_writer, adjustment_writer, calendar, cache, show_progress, output_dir): assert_is(environ, self.environ) asset_db_writer.write(equities=equities) minute_bar_writer.write(minute_bar_data) daily_bar_writer.write(daily_bar_data) adjustment_writer.write(splits=splits) assert_is_instance(calendar, pd.DatetimeIndex) assert_is_instance(cache, dataframe_cache) assert_is_instance(show_progress, bool)
def test_register_non_decorator(self): rm = Registry(FakeInterface) assert_equal(rm.get_registered_classes(), {}) class ProperDummyInterface(FakeInterface): pass rm.register('ayy-lmao', ProperDummyInterface) expected_classes = {'ayy-lmao': ProperDummyInterface} assert_equal(rm.get_registered_classes(), expected_classes) assert_is(rm.load('ayy-lmao'), ProperDummyInterface) assert_true( rm.class_registered('ayy-lmao'), "Class ProperDummyInterface wasn't properly registered under" "name 'ayy-lmao'") class Fake(object): pass msg = "FakeInterface class 'ayy-lmao' is already registered" with assert_raises_str(ValueError, msg): rm.register('ayy-lmao', Fake) class ImproperDummyInterface(object): pass msg = "The class specified is not a subclass of FakeInterface" with assert_raises_str(TypeError, msg): rm.register('something-different', ImproperDummyInterface) # ensure that the failed registration didn't break the previously # registered interface class assert_equal(rm.get_registered_classes(), expected_classes) assert_is(rm.load('ayy-lmao'), ProperDummyInterface) rm.unregister('ayy-lmao') assert_equal(rm.get_registered_classes(), {}) msg = ("no FakeInterface class registered under name 'ayy-lmao', " "options are: []") with assert_raises_str(ValueError, msg): rm.load('ayy-lmao') msg = "FakeInterface class 'ayy-lmao' was not already registered" with assert_raises_str(ValueError, msg): rm.unregister('ayy-lmao')
def bundle_ingest(environ, asset_db_writer, minute_bar_writer, daily_bar_writer, adjustment_writer, calendar, cache, show_progress): assert_is(environ, outer_environ) asset_db_writer.write(equities=equities) minute_bar_writer.write(minute_bar_data) daily_bar_writer.write(daily_bar_data) adjustment_writer.write(splits=splits) assert_is_instance(calendar, pd.DatetimeIndex) assert_is_instance(cache, dataframe_cache) assert_is_instance(show_progress, bool)
def bundle_ingest(environ, asset_db_writer, minute_bar_writer, daily_bar_writer, adjustment_writer, calendar, start_session, end_session, cache, output_dir): assert_is(environ, self.environ) asset_db_writer.write(equities=equities) minute_bar_writer.write(minute_bar_data) daily_bar_writer.write(daily_bar_data) adjustment_writer.write(splits=splits) assert_is_instance(calendar, TradingCalendar) assert_is_instance(cache, dataframe_cache)
def bundle_ingest(environ, asset_db_writer, minute_bar_writer, daily_bar_writer, adjustment_writer, calendar, start_session, end_session, cache, show_progress, output_dir): assert_is(environ, self.environ) asset_db_writer.write(equities=equities) minute_bar_writer.write(minute_bar_data) daily_bar_writer.write(daily_bar_data) adjustment_writer.write(splits=splits) assert_is_instance(calendar, TradingCalendar) assert_is_instance(cache, dataframe_cache) assert_is_instance(show_progress, bool)
def _(name): self.register(name, ingest) assert_in(name, self.bundles) assert_is(self.bundles[name].ingest, ingest)
def test_identity(self): assert_is( compose_types(C), C, msg='compose_types of a single class should be identity', )