def test_get_dependencies(es): f = Feature(es['log']['value']) agg1 = Sum(f, es['sessions']) agg2 = Sum(agg1, es['customers']) d1 = Feature(agg2, es['sessions']) shallow = d1.get_dependencies(deep=False, ignored=None) deep = d1.get_dependencies(deep=True, ignored=None) ignored = set([agg1.hash()]) deep_ignored = d1.get_dependencies(deep=True, ignored=ignored) assert [s.hash() for s in shallow] == [agg2.hash()] assert [d.hash() for d in deep] == [agg2.hash(), agg1.hash(), f.hash()] assert [d.hash() for d in deep_ignored] == [agg2.hash()]
def test_squared(es): feature = Feature(es['log']['value']) squared = feature * feature assert len(squared.base_features) == 1 assert squared.base_features[0].hash() == feature.hash()