Example #1
0
def test_forceUpdateForInput():
    test_input_data = (input_data.InputData(1, 'createAll'), input_data.InputData(2, 'createAll'))
    with session_scope() as session:
        for test_input_datum in test_input_data:
            session.add(test_input_datum)

    with session_scope() as session:
        test_input_data = session.query(input_data.InputData).filter(input_data.InputData.dataset_name == 'createAll').all()
        for test_input_datum in test_input_data:
            session.expunge(test_input_datum)

    input_data_list = {}
    for test_input_datum in test_input_data:
        input_data_list[test_input_datum.id] = [1, 2, 3]
    
        FeatureValueHelper.createAll(input_data_list)

    for test_input_datum in test_input_data:
        value = TestFeatureCalculate().getValue(test_input_datum)
    
        assert value.value == [1,2,3]

    FeatureValueHelper.forceUpdateForInput(test_input_data[0].id, [1])
    
    value = TestFeatureCalculate().getValue(test_input_data[0])
    assert value.value == [1]
Example #2
0
def test_persistence():
    testfeature = feature.Feature('test')

    with session_scope() as session:
        session.add(testfeature)

    with session_scope() as session:
        testfeature = session.query(feature.Feature).order_by(
            feature.Feature.id.desc()).first()
        session.expunge(testfeature)

    assert testfeature.name == 'test'
    assert testfeature.id != None
Example #3
0
    def createAllForInput(self, input_data_id, values):
        subclasses = BaseFeatureRecord.__subclasses__()

        for subclass in subclasses:
            with session_scope() as session:
                input_instance = BaseInputDataRepository().get(
                    session, input_data_id)
            feature = subclass()
            feature.setInputDataValues(values)
            feature.getOrCreateValue(input_instance)
            with session_scope() as session:
                input_instance = BaseInputDataRepository().get(
                    session, input_data_id)
Example #4
0
def test_persistence():
    test_input_data = InputData(1234, 'datasetTest')

    with session_scope() as session:
        session.add(test_input_data)

    with session_scope() as session:
        test_input_data = session.query(InputData).filter(
            InputData.external_id == 1234,
            InputData.dataset_name == 'datasetTest').first()
        session.expunge(test_input_data)

    assert test_input_data.external_id == 1234
    assert test_input_data.dataset_name == 'datasetTest'
    assert test_input_data.id != None
Example #5
0
 def getOrCreateValue(self, input_data):
     featureValue = self.getValue(input_data)
     if featureValue is None:
         with session_scope() as session:
             value = self.calculate(input_data)
             BaseFeatureRepository().createValue(session, self._class,
                                                 input_data, value)
Example #6
0
 def forceUpdateForInput(self, input_data_id, values):
     subclasses = BaseFeatureRecord.__subclasses__()
     with session_scope() as session:
         input_data = BaseInputDataRepository().get(session, input_data_id)
         for subclass in subclasses:
             feature = subclass()
             feature.setInputDataValues(values)
             feature.createValue(input_data)
Example #7
0
    def getAll(self, input_data_ids):
        subclasses = BaseFeatureRecord.__subclasses__()
        return_value = {}
        with session_scope() as session:
            for subclass in subclasses:
                feature = subclass()
                return_value[feature._class] = feature.getInputDataValues(
                    input_data_ids)

        return return_value
Example #8
0
def test_createAll():
    test_input_data = (input_data.InputData(1, 'createAll'), input_data.InputData(2, 'createAll'))
    with session_scope() as session:
        for test_input_datum in test_input_data:
            session.add(test_input_datum)

    with session_scope() as session:
        test_input_data = session.query(input_data.InputData).filter(input_data.InputData.dataset_name == 'createAll').all()
        for test_input_datum in test_input_data:
            session.expunge(test_input_datum)

    input_data_list = {}
    for test_input_datum in test_input_data:
        input_data_list[test_input_datum.id] = [1, 2, 3]
    
    FeatureValueHelper.createAll(input_data_list)

    for test_input_datum in test_input_data:
        value1 = TestFeature1().getValue(test_input_datum)
        value2 = TestFeature2().getValue(test_input_datum)
        
        assert value1.value == [1]
        assert value2.value == [2]
Example #9
0
def test_getValue():
    test_feature = TestFeature()
    feature = test_feature.getModel()
    input_data_test = input_data.InputData(1234, 'datasetTest')

    feature_value_first = feature_value.FeatureValue([9], feature, input_data_test)
    with session_scope() as session:
        session.add(feature_value_first)

    feature = test_feature.getModel()
    assert feature.feature_values != None

    feature_value_second = feature_value.FeatureValue([10], feature, input_data_test)

    with session_scope() as session:
        session.add(feature_value_second)

    with session_scope() as session:
        input_data_test = session.query(input_data.InputData).order_by(-input_data.InputData.id).first()
        session.expunge(input_data_test)

    result = test_feature.getValue(input_data_test)
    assert result.value == [10.0]
Example #10
0
 def createValue(self, input_data):
     with session_scope() as session:
         value = self.calculate(input_data)
         BaseFeatureRepository().createValue(session, self._class,
                                             input_data, value)
Example #11
0
 def getValue(self, input_data):
     with session_scope() as session:
         return BaseFeatureRepository().getValue(session, self._class,
                                                 input_data)
Example #12
0
 def getOrCreateModel(self):
     model = self.getModel()
     if model is None:
         with session_scope() as session:
             model = create(self, session, self._class)
     return model
Example #13
0
 def getModel(self):
     with session_scope() as session:
         return BaseFeatureRepository().get(session, self._class)
Example #14
0
 def __init__(self):
     if (self.getModel() == None):
         with session_scope() as session:
             BaseFeatureRepository().create(session, self._class)