(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