mirror of
https://github.com/wassname/catalyst.git
synced 2026-08-14 12:10:24 +08:00
DEV: Add parameter_space test decorator.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
"""
|
||||
Tests for our testing utilities.
|
||||
"""
|
||||
from itertools import product
|
||||
from unittest import TestCase
|
||||
from zipline.utils.test_utils import parameter_space
|
||||
|
||||
|
||||
class TestParameterSpace(TestCase):
|
||||
|
||||
x_args = [1, 2]
|
||||
y_args = [3, 4]
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.xy_invocations = []
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
# This is the only actual test here.
|
||||
assert cls.xy_invocations == list(product(cls.x_args, cls.y_args))
|
||||
|
||||
@parameter_space(x=x_args, y=y_args)
|
||||
def test_xy(self, x, y):
|
||||
self.xy_invocations.append((x, y))
|
||||
|
||||
def test_nothing(self):
|
||||
# Ensure that there's at least one "real" test in the class, or else
|
||||
# our {setUp,tearDown}Class won't be called if, for example,
|
||||
# `parameter_space` returns None.
|
||||
pass
|
||||
Reference in New Issue
Block a user