示例#1
0
def test_enumerated_empty_check():
    canary = {1, 2, 3}
    tested_field = field.FieldFactory("a header").enumerated_empty_check(
        canary).create()
    assert isinstance(tested_field.field_empty_check,
                      detail.EnumeratedFieldEmptyCheck)
    assert tested_field.field_empty_check.empty_values == canary
示例#2
0
def test_type_formatter(coalesce_to):
    tested_field = field.FieldFactory("a header", required=True) \
      .path("foo.bar.baz").type_formatter(coalesce_to).create()
    assert isinstance(tested_field.field_formatter, detail.TypeFormatter)
    assert tested_field.field_formatter.object_type == coalesce_to
示例#3
0
def test_const_reader():
    const_canary = object()
    tested_field = field.FieldFactory("a header").const_field(
        const_canary).create()
    assert isinstance(tested_field.field_reader, detail.ConstReader)
    assert tested_field.field_reader.instance == const_canary
示例#4
0
def test_path_reader():
    path_canary = "foo.bar.baz"
    tested_field = field.FieldFactory("a header").path(path_canary).create()
    assert isinstance(tested_field.field_reader, detail.DefaultFieldReader)
    assert tested_field.field_reader.path == ['foo', 'bar', 'baz']
示例#5
0
def test_field_reader():
    canary = object()
    tested_field = field.FieldFactory("a header").reader(canary).create()
    assert tested_field.field_reader is canary
示例#6
0
def test_simple_field_none():
  tested_field = field.FieldFactory("a header").path("foo.bar.baz").create()
  for instance in helpers.foobarbaz(None):
    assert tested_field(row=instance) is None
示例#7
0
def test_empty_check():
    empty_check_canary = object()
    tested_field = field.FieldFactory("a header").empty_check(
        empty_check_canary).create()
    assert tested_field.field_empty_check is empty_check_canary
示例#8
0
def test_empty_check_noop():
    tested_field = field.FieldFactory("a header").noop_empty_check().create()
    assert isinstance(tested_field.field_empty_check, detail.NoopEmptyCheck)
示例#9
0
def test_required_default():
    tested_field = field.FieldFactory("a header")
    assert not tested_field.required
示例#10
0
def test_format_formatter(canary, foobarbaz_with_canary):
  tested_field = field.FieldFactory("a header").path(
    "foo.bar.baz").format_formatter("foo {}").create()
  for instance in foobarbaz_with_canary:
    assert tested_field(row=instance) == "foo {}".format(canary)
示例#11
0
def test_field_type_formatter(coalesce_to, canary, foobarbaz_with_canary):
  tested_field = field.FieldFactory("a header", required=True) \
    .path("foo.bar.baz").type_formatter(coalesce_to).create()
  for instance in foobarbaz_with_canary:
    assert tested_field(row=instance) == coalesce_to(canary)
示例#12
0
def test_simple_raises():
  tested_field = field.FieldFactory("a header", required=True).path("foo.bar.baz").create()
  for instance in helpers.foobarbaz(None):
    with pytest.raises(exceptions.MissingField):
      tested_field(row=instance)
示例#13
0
def test_missing_default():
  tested_field = field.FieldFactory("a header", default="canary", required=False) \
    .path("foo.bar.baz").create()

  assert tested_field(row=object) == "canary"
示例#14
0
def test_simple_default():
  tested_field = field.FieldFactory("a header", default="canary").path("foo.bar.baz").create()
  for instance in helpers.foobarbaz(None):
    assert tested_field(row=instance) == "canary"
示例#15
0
def test_field_formatter():
    formatter_canary = object()
    tested_field = field.FieldFactory("a header", required=True) \
      .path("foo.bar.baz").formatter(formatter_canary).create()

    assert tested_field.field_formatter is formatter_canary
示例#16
0
def test_empty_check_default():
    tested_field = field.FieldFactory("a header").create()
    assert isinstance(tested_field.field_empty_check,
                      detail.DefaultFieldEmptyCheck)
示例#17
0
def test_required(required_state):
    tested_field = field.FieldFactory("a header", required=required_state)
    assert tested_field.required == required_state
示例#18
0
def test_header():
    tested_field = field.FieldFactory("a header")
    assert tested_field.header == "a header"
示例#19
0
def test_default_default():
    tested_field = field.FieldFactory("a header")
    assert tested_field.default is field._NO_DEFAULT  # pylint: disable=protected-access
示例#20
0
def test_default_value(default):
    tested_field = field.FieldFactory("a header", default=default).create()
    assert tested_field.default is default
示例#21
0
def test_simple_field(canary, foobarbaz_with_canary):
  tested_field = field.FieldFactory("a header").path("foo.bar.baz").create()
  for instance in foobarbaz_with_canary:
    assert tested_field(row=instance) == canary