def test_multivariate(self): c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple( c._parse_variants( (('red', '#F00'), ('green', '#0F0'), ('blue', '#00F')))) == (('red', 'green', 'blue'), ('#F00', '#0F0', '#00F'), (1, 1, 1))
def test_weighted_variants(self): c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple( c._parse_variants((('red', '#F00', 1), ('green', '#0F0', 2), ('blue', '#00F', 5)))) == (('red', 'green', 'blue'), ('#F00', '#0F0', '#00F'), (1, 2, 5))
def test_weighted_variants(self): c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple(c._parse_variants((("red", "#F00", 1), ("green", "#0F0", 2), ("blue", "#00F", 5)))) == ( ("red", "green", "blue"), ("#F00", "#0F0", "#00F"), (1, 2, 5), )
def test_multivariate(self): c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple(c._parse_variants((("red", "#F00"), ("green", "#0F0"), ("blue", "#00F")))) == ( ("red", "green", "blue"), ("#F00", "#0F0", "#00F"), (1, 1, 1), )
def test_variants_with_missing_weights(self): """ Variants with missing weights should default to 1 """ c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple(c._parse_variants( (('five', 5, 10), ('two', 2)))) == (('five', 'two'), (5, 2), (10, 1))
def test_variants_with_missing_values(self): """ Variants with missing values should default to None """ c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple(c._parse_variants( (('five', 5, 2), ('nothing', )))) == (('five', 'nothing'), (5, None), (2, 1))
def test_variants_with_empty_value(self): """ Variants where the value is None should be acceptable. """ c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple(c._parse_variants( (('five', 5), ('nothing', None)))) == (('five', 'nothing'), (5, None), (1, 1))
def test_true_false(self): c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple(c._parse_variants( ())) == (('True', 'False'), (True, False), (1, 1))
def test_variants_with_missing_weights(self): """ Variants with missing weights should default to 1 """ c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple(c._parse_variants((("five", 5, 10), ("two", 2)))) == (("five", "two"), (5, 2), (10, 1))
def test_variants_with_missing_values(self): """ Variants with missing values should default to None """ c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple(c._parse_variants((("five", 5, 2), ("nothing",)))) == (("five", "nothing"), (5, None), (2, 1))
def test_variants_with_empty_value(self): """ Variants where the value is None should be acceptable. """ c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple(c._parse_variants((("five", 5), ("nothing", None)))) == (("five", "nothing"), (5, None), (1, 1))
def test_true_false(self): c = Cleaver({}, FakeIdentityProvider(), FakeBackend()) assert tuple(c._parse_variants(())) == (("True", "False"), (True, False), (1, 1))