def test_repr():
	"""Test __repr__."""
	ms = _basebag()
	assert ms == eval(ms.__repr__())
	ms = _basebag('abracadabra')
	assert ms == eval(ms.__repr__())
	assert repr(bag('a')) == "bag(('a',))"
def test_repr():
    """Test __repr__."""
    ms = _basebag()
    assert ms == eval(ms.__repr__())
    ms = _basebag('abracadabra')
    assert ms == eval(ms.__repr__())
    assert repr(bag('a')) == "bag(('a',))"
Beispiel #3
0
def test_copy():
    b = _basebag()
    assert b.copy() == b
    assert b.copy() is not b
    b = _basebag('abc')
    assert b.copy() == b
    assert b.copy() is not b
Beispiel #4
0
def test_nlargest():
    abra = _basebag('abracadabra')
    sort_key = lambda e: (-e[1], e[0])
    abra_counts = [('a', 5), ('b', 2), ('r', 2), ('c', 1), ('d', 1)]
    assert (sorted(abra.nlargest(), key=sort_key) == abra_counts)
    assert sorted(abra.nlargest(3), key=sort_key) == abra_counts[:3]
    assert _basebag('abcaba').nlargest(3) == [('a', 3), ('b', 2), ('c', 1)]
def test_rich_comp_subset():
    """Test rich comparisons for bags that are subsets of other bags."""
    b1 = _basebag('abc')
    b2 = _basebag('aabc')
    assert not b1 > b2
    assert not b1 >= b2
    assert b1 < b2
    assert b1 <= b2
def test_rich_comp_subset():
	"""Test rich comparisons for bags that are subsets of other bags."""
	b1 = _basebag('abc')
	b2 = _basebag('aabc')
	assert not b1 > b2
	assert not b1 >= b2
	assert b1 < b2
	assert b1 <= b2
def test_nlargest():
	"""Test nlargest."""
	abra = _basebag('abracadabra')
	sort_key = lambda e: (-e[1], e[0])
	abra_counts = [('a', 5), ('b', 2), ('r', 2), ('c', 1), ('d', 1)]
	assert sorted(abra.nlargest(), key=sort_key) == abra_counts
	assert sorted(abra.nlargest(3), key=sort_key) == abra_counts[:3]
	assert _basebag('abcaba').nlargest(3) == [('a', 3), ('b', 2), ('c', 1)]
def test_copy():
    """Test copy."""
    b = _basebag()
    assert b.copy() == b
    assert b.copy() is not b
    b = _basebag('abc')
    assert b.copy() == b
    assert b.copy() is not b
def test_copy():
	"""Test copy."""
	b = _basebag()
	assert b.copy() == b
	assert b.copy() is not b
	b = _basebag('abc')
	assert b.copy() == b
	assert b.copy() is not b
Beispiel #10
0
def test_str():
    assert str(_basebag()) == '_basebag()'
    assert "'a'^5" in str(_basebag('abracadabra'))
    assert "'b'^2" in str(_basebag('abracadabra'))
    assert "'c'" in str(_basebag('abracadabra'))
    abra_elems = set(("'a'^5", "'b'^2", "'r'^2", "'c'", "'d'"))
    assert compare_bag_string(bag('abracadabra')) == abra_elems
    if not _compat.is_py2:
        assert compare_bag_string(bag('abc')) == compare_bag_string(set('abc'))
def test_rich_comp_unorderable_eq_len():
	"""Test rich comparisons for bags of equal length but unorderable."""
	b1 = _basebag('abb')
	b2 = _basebag('abc')
	assert not b1 < b2
	assert not b1 <= b2
	assert not b1 > b2
	assert not b1 >= b2
	assert not b1 == b2
	assert b1 != b2
def test_rich_comp_unorderable_eq_len():
    """Test rich comparisons for bags of equal length but unorderable."""
    b1 = _basebag('abb')
    b2 = _basebag('abc')
    assert not b1 < b2
    assert not b1 <= b2
    assert not b1 > b2
    assert not b1 >= b2
    assert not b1 == b2
    assert b1 != b2
def test_rich_comp_equal():
    """Test rich comparisons for equal bags."""
    assert _basebag() <= _basebag()
    assert not _basebag() < _basebag()
    assert _basebag() >= _basebag()
    assert not _basebag() > _basebag()
    b1 = _basebag('aabc')
    b2 = _basebag('aabc')
    assert not b2 > b1
    assert b2 >= b1
    assert not b2 < b1
    assert b2 <= b1
def test_rich_comp_equal():
	"""Test rich comparisons for equal bags."""
	assert _basebag() <= _basebag()
	assert not _basebag() < _basebag()
	assert _basebag() >= _basebag()
	assert not _basebag() > _basebag()
	b1 = _basebag('aabc')
	b2 = _basebag('aabc')
	assert not b2 > b1
	assert b2 >= b1
	assert not b2 < b1
	assert b2 <= b1
def test_rich_comp_unorderable_diff_len():
	"""Test rich comparisons for bags of unequal length and unorderable."""
	b1 = _basebag('abd')
	b2 = _basebag('aabc')
	assert not b1 > b2
	assert not b1 >= b2
	assert not b1 < b2
	assert not b1 <= b2
	assert not b2 > b1
	assert not b2 >= b1
	assert not b2 < b1
	assert not b2 <= b1
	assert not b1 == b2
	assert b1 != b2
def test_rich_comp_unorderable_diff_len():
    """Test rich comparisons for bags of unequal length and unorderable."""
    b1 = _basebag('abd')
    b2 = _basebag('aabc')
    assert not b1 > b2
    assert not b1 >= b2
    assert not b1 < b2
    assert not b1 <= b2
    assert not b2 > b1
    assert not b2 >= b1
    assert not b2 < b1
    assert not b2 <= b1
    assert not b1 == b2
    assert b1 != b2
def test_compare_sets():
    """Test comparisons to Sets."""
    assert _basebag() == set()
    assert _basebag('a') == set('a')
    assert not _basebag('ab') == set('a')
    assert not _basebag('a') == set('ab')
    assert not _basebag('aa') == set('a')
    assert not _basebag('aa') == set('ab')
    assert not _basebag('ac') == set('ab')
    assert not _basebag('ac') <= set('ab')
    assert not _basebag('ac') >= set('ab')
Beispiel #18
0
def test_le():
    assert _basebag() <= _basebag()
    assert _basebag() <= _basebag('a')
    assert _basebag('abc') <= _basebag('aabbbc')
    assert not _basebag('abbc') <= _basebag('abc')
    with pytest.raises(TypeError):
        bag('abc') < set('abc')
    assert not bag('aabc') < bag('abc')
def test_str():
	"""Test __str__."""
	def compare_bag_string(b):
		s = str(b)
		assert s.startswith('{')
		assert s.endswith('}')
		return set(s[1:-1].split(', '))
	assert str(_basebag()) == '_basebag()'
	assert "'a'^5" in str(_basebag('abracadabra'))
	assert "'b'^2" in str(_basebag('abracadabra'))
	assert "'c'" in str(_basebag('abracadabra'))
	abra_elems = set(("'a'^5", "'b'^2", "'r'^2", "'c'", "'d'"))
	assert compare_bag_string(bag('abracadabra')) == abra_elems
	if not is_py2:
		assert compare_bag_string(bag('abc')) == compare_bag_string(set('abc'))
def test_str():
    """Test __str__."""
    def compare_bag_string(b):
        s = str(b)
        assert s.startswith('{')
        assert s.endswith('}')
        return set(s[1:-1].split(', '))

    assert str(_basebag()) == '_basebag()'
    assert "'a'^5" in str(_basebag('abracadabra'))
    assert "'b'^2" in str(_basebag('abracadabra'))
    assert "'c'" in str(_basebag('abracadabra'))
    abra_elems = set(("'a'^5", "'b'^2", "'r'^2", "'c'", "'d'"))
    assert compare_bag_string(bag('abracadabra')) == abra_elems
    if not _compat.is_py2:
        assert compare_bag_string(bag('abc')) == compare_bag_string(set('abc'))
Beispiel #21
0
def test_init():
    b = _basebag('abracadabra')
    assert b.count('a') == 5
    assert b.count('b') == 2
    assert b.count('r') == 2
    assert b.count('c') == 1
    assert b.count('d') == 1
    b2 = bag(b)
    assert b2 == b
def test_init():
	"""Test __init__."""
	b = _basebag('abracadabra')
	assert b.count('a') == 5
	assert b.count('b') == 2
	assert b.count('r') == 2
	assert b.count('c') == 1
	assert b.count('d') == 1
	b2 = bag(b)
	assert b2 == b
Beispiel #23
0
def test_mul():
    ms = _basebag('aab')
    assert ms * set('a') == _basebag(('aa', 'aa', 'ba'))
    assert ms * set() == _basebag()
def test_contains():
	"""Test __contains__."""
	assert 'a' in _basebag('bbac')
	assert 'a' not in _basebag()
	assert 'a' not in _basebag('missing letter')
def test_compare_unorderable():
	assert not _basebag('ac') <= set('ab')
	assert not _basebag('ac') >= set('ab')
Beispiel #26
0
def test_contains():
    assert 'a' in _basebag('bbac')
    assert 'a' not in _basebag()
    assert 'a' not in _basebag('missing letter')
Beispiel #27
0
def test_compare_unorderable():
    assert not _basebag('ac') <= set('ab')
    assert not _basebag('ac') >= set('ab')
Beispiel #28
0
def test_count():
    ms = _basebag('abracadabra')
    assert ms.count('a') == 5
    assert ms.count('x') == 0
def test_len():
    """Test __len__."""
    assert len(_basebag()) == 0
    assert len(_basebag('abc')) == 3
    assert len(_basebag('aaba')) == 4
def test_contains():
    """Test __contains__."""
    assert 'a' in _basebag('bbac')
    assert 'a' not in _basebag()
    assert 'a' not in _basebag('missing letter')
Beispiel #31
0
def test_compare_ne_set(bag_data, set_data):
    assert not _basebag(bag_data) == set(set_data)
def test_compare_eq_set(bag_data, set_data):
	"""Test comparisons to Sets that should be equal."""
	assert _basebag(bag_data) == set(set_data)
Beispiel #33
0
def test_repr():
    ms = _basebag()
    assert ms == eval(ms.__repr__())
    ms = _basebag('abracadabra')
    assert ms == eval(ms.__repr__())
def test_count():
	"""Test count."""
	ms = _basebag('abracadabra')
	assert ms.count('a') == 5
	assert ms.count('x') == 0
def test_from_map():
    """Test from_mapping."""
    assert _basebag.from_mapping({'a': 1, 'b': 2}) == _basebag('abb')
def test_mul():
    """Test __mul__."""
    ms = _basebag('aab')
    assert ms * set('a') == _basebag(('aa', 'aa', 'ba'))
    assert ms * set() == _basebag()
def test_from_map():
	"""Test from_mapping."""
	assert _basebag.from_mapping({'a': 1, 'b': 2}) == _basebag('abb')
	assert _basebag.from_mapping({'a': 1, 'b': 2, 'c': 0}) == _basebag('abb')
Beispiel #38
0
def test_from_map():
    assert _basebag._from_map({'a': 1, 'b': 2}) == _basebag('abb')
def test_count():
    """Test count."""
    ms = _basebag('abracadabra')
    assert ms.count('a') == 5
    assert ms.count('x') == 0
Beispiel #40
0
def test_len():
    assert len(_basebag()) == 0
    assert len(_basebag('abc')) == 3
    assert len(_basebag('aaba')) == 4
def test_len():
	"""Test __len__."""
	assert len(_basebag()) == 0
	assert len(_basebag('abc')) == 3
	assert len(_basebag('aaba')) == 4
Beispiel #42
0
def test_compare_eq_set(bag_data, set_data):
    """Test comparisons to Sets that should be equal."""
    assert _basebag(bag_data) == set(set_data)
def test_compare_ne_set(bag_data, set_data):
	assert not _basebag(bag_data) == set(set_data)