def test_split_contacts(): bare = "\r\n".join([VCARD_TEMPLATE.format(r=x, uid=x) for x in range(4)]) with_wrapper = "BEGIN:VADDRESSBOOK\r\n" + bare + "\nEND:VADDRESSBOOK\r\n" for _ in (bare, with_wrapper): split = list(vobject.split_collection(bare)) assert len(split) == 4 assert vobject.join_collection(split).splitlines() == with_wrapper.splitlines()
def test_split_contacts(): bare = "\r\n".join([VCARD_TEMPLATE.format(r=x, uid=x) for x in range(4)]) with_wrapper = "BEGIN:VADDRESSBOOK\r\n" + bare + "\nEND:VADDRESSBOOK\r\n" for _ in (bare, with_wrapper): split = list(vobject.split_collection(bare)) assert len(split) == 4 assert vobject.join_collection( split).splitlines() == with_wrapper.splitlines()
from hypothesis import assume from hypothesis import given from hypothesis.stateful import Bundle from hypothesis.stateful import rule from hypothesis.stateful import RuleBasedStateMachine import vdirsyncer.vobject as vobject from tests import BARE_EVENT_TEMPLATE from tests import EVENT_TEMPLATE from tests import EVENT_WITH_TIMEZONE_TEMPLATE from tests import normalize_item from tests import uid_strategy from tests import VCARD_TEMPLATE _simple_split = [ VCARD_TEMPLATE.format(r=123, uid=123), VCARD_TEMPLATE.format(r=345, uid=345), VCARD_TEMPLATE.format(r=678, uid=678), ] _simple_joined = "\r\n".join(["BEGIN:VADDRESSBOOK"] + _simple_split + ["END:VADDRESSBOOK\r\n"]) def test_split_collection_simple(benchmark): given = benchmark(lambda: list(vobject.split_collection(_simple_joined))) assert [normalize_item(item) for item in given ] == [normalize_item(item) for item in _simple_split] assert [x.splitlines()
import hypothesis.strategies as st from hypothesis import assume, given from hypothesis.stateful import Bundle, RuleBasedStateMachine, rule import pytest from tests import BARE_EVENT_TEMPLATE, EVENT_TEMPLATE, \ EVENT_WITH_TIMEZONE_TEMPLATE, VCARD_TEMPLATE, normalize_item, \ uid_strategy import vdirsyncer.vobject as vobject _simple_split = [ VCARD_TEMPLATE.format(r=123, uid=123), VCARD_TEMPLATE.format(r=345, uid=345), VCARD_TEMPLATE.format(r=678, uid=678) ] _simple_joined = u'\r\n'.join( [u'BEGIN:VADDRESSBOOK'] + _simple_split + [u'END:VADDRESSBOOK\r\n'] ) def test_split_collection_simple(benchmark): given = benchmark(lambda: list(vobject.split_collection(_simple_joined))) assert [normalize_item(item) for item in given] == \