Example #1
0
        def _(name):
            @self.register(name)
            def ingest(*args):
                pass

            assert_in(name, self.bundles)
            assert_is(self.bundles[name].ingest, ingest)
        def _(name):
            @self.register(name)
            def ingest(*args):
                pass

            assert_in(name, self.bundles)
            assert_is(self.bundles[name].ingest, ingest)
Example #3
0
    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')
Example #4
0
    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)
Example #6
0
        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)
Example #7
0
    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')
Example #8
0
        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)
Example #9
0
        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)
Example #12
0
 def _(name):
     self.register(name, ingest)
     assert_in(name, self.bundles)
     assert_is(self.bundles[name].ingest, ingest)
Example #13
0
 def test_identity(self):
     assert_is(
         compose_types(C),
         C,
         msg='compose_types of a single class should be identity',
     )
Example #14
0
 def test_identity(self):
     assert_is(
         compose_types(C),
         C,
         msg='compose_types of a single class should be identity',
     )