Example #1
0
     (None, 5, False), (np.random.uniform(0, 10, size=(20, )), 1, False),
     (np.random.uniform(0, 10, size=(20, 4)), 3, False),
     (np.random.uniform(0, 10, size=(20, 4, 2)), 4, False)],
    ids=[
        'valid-0', 'valid-1', 'valid-2', 'valid-3', 'invalid-0', 'invalid-1',
        'invalid-2', 'invalid-3', 'invalid-4'
    ])
def test_isExoShapeValid(exogenousSeries, numExoVariables, isValid):
    """ Tests Utility.isExoShapeValid """

    assert Utility.isExoShapeValid(exogenousSeries, numExoVariables) == isValid


@pytest.mark.parametrize(
    'dataGenerator, numSequences, minSequenceLength, maxSequenceLength',
    [(StandardGenerator(), 100, 20, 20), (StandardGenerator(), 200, 1, 200),
     (PolynomialGenerator(), 30, 40, 42), (PolynomialGenerator(), 20, 20, 20),
     (DifficultGenerator(), 1, 1, 1), (DifficultGenerator(), 2, 1, 2)],
    ids=['gen-0', 'gen-1', 'gen-2', 'gen-3', 'gen-4', 'gen-5'])
def test_generateMultipleSequence(dataGenerator, numSequences,
                                  minSequenceLength, maxSequenceLength):
    """ Tests Utility.generateMultipleSequence """

    dataSeq = Utility.generateMultipleSequence(dataGenerator, numSequences,
                                               minSequenceLength,
                                               maxSequenceLength)

    assert len(dataSeq) == numSequences

    for seq in dataSeq:
        assert minSequenceLength <= seq.shape[0] <= maxSequenceLength