Пример #1
0
def test_add_field_with_clobber():
    """Test adding a field with clobber on."""
    fields = ModelDataFields()
    fields.new_field_location('node', 12)

    assert fields.add_empty('a', at='node') is not fields.add_empty('a', at='node', noclobber=False)
    assert fields.add_ones('b', at='node') is not fields.add_ones('b', at='node', noclobber=False)
    assert fields.add_zeros('c', at='node') is not fields.add_zeros('c', at='node', noclobber=False)
Пример #2
0
def test_add_field_with_clobber():
    """Test adding a field with clobber on."""
    fields = ModelDataFields()
    fields.new_field_location('node', 12)

    assert_is_not(fields.add_empty('a', at='node'),
                  fields.add_empty('a', at='node', noclobber=False))
    assert_is_not(fields.add_ones('b', at='node'),
                  fields.add_ones('b', at='node', noclobber=False))
    assert_is_not(fields.add_zeros('c', at='node'),
                  fields.add_zeros('c', at='node', noclobber=False))
Пример #3
0
def test_grid_field_add_zeros_ones_empty():
    """Test creating scalar fields with add_zeros, add_empty, and add_ones."""
    fields = ModelDataFields()
    fields.new_field_location("grid", 1)

    with pytest.raises(ValueError):
        fields.add_zeros("value", at="grid")
    with pytest.raises(ValueError):
        fields.add_empty("value", at="grid")
    with pytest.raises(ValueError):
        fields.add_ones("value", at="grid")
Пример #4
0
def test_grid_field_add_zeros_ones_empty():
    """Test creating scalar fields with add_zeros, add_empty, and add_ones."""
    fields = ModelDataFields()
    fields.new_field_location("grid", 1)

    with pytest.raises(ValueError):
        fields.add_zeros("value", at="grid")
    with pytest.raises(ValueError):
        fields.add_empty("value", at="grid")
    with pytest.raises(ValueError):
        fields.add_ones("value", at="grid")
Пример #5
0
def test_add_existing_field_with_noclobber():
    """Test noclobber raises an error with an existing field."""
    fields = ModelDataFields()
    fields.new_field_location('node', 12)
    fields.add_empty('z', at='node')

    with pytest.raises(FieldError):
        fields.add_empty('z', at='node', noclobber=True)
    with pytest.raises(FieldError):
        fields.add_ones('z', at='node', noclobber=True)
    with pytest.raises(FieldError):
        fields.add_zeros('z', at='node', noclobber=True)
Пример #6
0
def test_add_existing_field_with_noclobber():
    """Test noclobber raises an error with an existing field."""
    fields = ModelDataFields()
    fields.new_field_location("node", 12)
    fields.add_empty("z", at="node")

    with pytest.raises(FieldError):
        fields.add_empty("z", at="node", noclobber=True)
    with pytest.raises(FieldError):
        fields.add_ones("z", at="node", noclobber=True)
    with pytest.raises(FieldError):
        fields.add_zeros("z", at="node", noclobber=True)
Пример #7
0
def test_add_existing_field_with_clobber_off():
    """Test clobber raises an error with an existing field."""
    fields = ModelDataFields()
    fields.new_field_location("node", 12)
    fields.add_empty("z", at="node")

    with pytest.raises(FieldError):
        fields.add_empty("z", at="node", clobber=False)
    with pytest.raises(FieldError):
        fields.add_ones("z", at="node", clobber=False)
    with pytest.raises(FieldError):
        fields.add_zeros("z", at="node", clobber=False)
Пример #8
0
def test_add_existing_field_default():
    """Test default is to not replace existing field."""
    fields = ModelDataFields()
    fields.new_field_location("node", 12)
    fields.add_empty("z", at="node")

    with pytest.raises(FieldError):
        fields.add_empty("z", at="node")
    with pytest.raises(FieldError):
        fields.add_ones("z", at="node")
    with pytest.raises(FieldError):
        fields.add_zeros("z", at="node")
Пример #9
0
def test_add_existing_field_default():
    """Test default is to not replace existing field."""
    fields = ModelDataFields()
    fields.new_field_location("node", 12)
    fields.add_empty("z", at="node")

    with pytest.raises(FieldError):
        fields.add_empty("z", at="node")
    with pytest.raises(FieldError):
        fields.add_ones("z", at="node")
    with pytest.raises(FieldError):
        fields.add_zeros("z", at="node")
Пример #10
0
def test_add_field_with_clobber_off():
    """Test clobber does not raise an error with an new field."""
    fields = ModelDataFields()
    fields.new_field_location("node", 12)

    fields.add_empty("a", at="node", clobber=False)
    assert "a" in fields["node"]

    fields.add_ones("b", at="node", clobber=False)
    assert "b" in fields["node"]

    fields.add_zeros("c", at="node", clobber=False)
    assert "c" in fields["node"]
Пример #11
0
def test_add_field_with_noclobber():
    """Test noclobber does not raise an error with an new field."""
    fields = ModelDataFields()
    fields.new_field_location('node', 12)

    fields.add_empty('a', at='node', noclobber=True)
    assert_true('a' in fields['node'])

    fields.add_ones('b', at='node', noclobber=True)
    assert_true('b' in fields['node'])

    fields.add_zeros('c', at='node', noclobber=True)
    assert_true('c' in fields['node'])
Пример #12
0
def test_add_field_with_noclobber():
    """Test noclobber does not raise an error with an new field."""
    fields = ModelDataFields()
    fields.new_field_location('node', 12)

    fields.add_empty('a', at='node', noclobber=True)
    assert 'a' in fields['node']

    fields.add_ones('b', at='node', noclobber=True)
    assert 'b' in fields['node']

    fields.add_zeros('c', at='node', noclobber=True)
    assert 'c' in fields['node']
Пример #13
0
def test_add_field_with_noclobber():
    """Test noclobber does not raise an error with an new field."""
    fields = ModelDataFields()
    fields.new_field_location("node", 12)

    fields.add_empty("a", at="node", noclobber=True)
    assert "a" in fields["node"]

    fields.add_ones("b", at="node", noclobber=True)
    assert "b" in fields["node"]

    fields.add_zeros("c", at="node", noclobber=True)
    assert "c" in fields["node"]
Пример #14
0
def test_delete_field():
    fields = ModelDataFields()
    fields.new_field_location('link', 17)

    assert_dict_equal(dict(), fields.at_link)
    assert_raises(AttributeError, lambda: fields.at_node)

    fields.add_zeros('link', 'vals')
    assert_array_equal(np.zeros(17), fields.at_link['vals'])

    assert_raises(KeyError, lambda: fields.delete_field('node', 'vals'))
    fields.delete_field('link', 'vals')
    assert_raises(KeyError, lambda: fields.field_units('link', 'vals'))
    assert_raises(KeyError, lambda: fields.at_link['vals'])
Пример #15
0
def test_delete_field():
    fields = ModelDataFields()
    fields.new_field_location('link', 17)

    assert_dict_equal(dict(), fields.at_link)
    assert_raises(AttributeError, lambda: fields.at_node)

    fields.add_zeros('link', 'vals')
    assert_array_equal(np.zeros(17), fields.at_link['vals'])

    assert_raises(KeyError, lambda: fields.delete_field('node', 'vals'))
    fields.delete_field('link', 'vals')
    assert_raises(KeyError, lambda: fields.field_units('link', 'vals'))
    assert_raises(KeyError, lambda: fields.at_link['vals'])
Пример #16
0
def test_add_field_with_clobber():
    """Test adding a field with clobber on."""
    fields = ModelDataFields()
    fields.new_field_location("node", 12)

    assert fields.add_empty("a", at="node") is not fields.add_empty(
        "a", at="node", noclobber=False
    )
    assert fields.add_ones("b", at="node") is not fields.add_ones(
        "b", at="node", noclobber=False
    )
    assert fields.add_zeros("c", at="node") is not fields.add_zeros(
        "c", at="node", noclobber=False
    )
Пример #17
0
def test_add_field_with_clobber():
    """Test adding a field with clobber on."""
    fields = ModelDataFields()
    fields.new_field_location("node", 12)

    assert fields.add_empty("a",
                            at="node") is not fields.add_empty("a",
                                                               at="node",
                                                               clobber=True)
    assert fields.add_ones("b", at="node") is not fields.add_ones("b",
                                                                  at="node",
                                                                  clobber=True)
    assert fields.add_zeros("c",
                            at="node") is not fields.add_zeros("c",
                                                               at="node",
                                                               clobber=True)
Пример #18
0
def test_delete_field():
    fields = ModelDataFields()
    fields.new_field_location('link', 17)

    assert dict() == fields.at_link
    with pytest.raises(AttributeError):
        fields.at_node

    fields.add_zeros('link', 'vals')
    assert_array_equal(np.zeros(17), fields.at_link['vals'])

    with pytest.raises(KeyError):
        fields.delete_field('node', 'vals')
    fields.delete_field('link', 'vals')
    with pytest.raises(KeyError):
        fields.field_units('link', 'vals')
    with pytest.raises(KeyError):
        fields.at_link['vals']
Пример #19
0
def test_delete_field():
    fields = ModelDataFields()
    fields.new_field_location("link", 17)

    assert dict() == fields.at_link
    with pytest.raises(AttributeError):
        fields.at_node

    fields.add_zeros("vals", at="link")
    assert_array_equal(np.zeros(17), fields.at_link["vals"])

    with pytest.raises(KeyError):
        fields.delete_field("node", "vals")
    fields.delete_field("link", "vals")
    with pytest.raises(KeyError):
        fields.field_units("link", "vals")
    with pytest.raises(KeyError):
        fields.at_link["vals"]
Пример #20
0
def test_delete_field():
    fields = ModelDataFields()
    fields.new_field_location('link', 17)

    assert dict() == fields.at_link
    with pytest.raises(AttributeError):
        fields.at_node

    fields.add_zeros('link', 'vals')
    assert_array_equal(np.zeros(17), fields.at_link['vals'])

    with pytest.raises(KeyError):
        fields.delete_field('node', 'vals')
    fields.delete_field('link', 'vals')
    with pytest.raises(KeyError):
        fields.field_units('link', 'vals')
    with pytest.raises(KeyError):
        fields.at_link['vals']
Пример #21
0
def test_delete_field():
    fields = ModelDataFields()
    fields.new_field_location("link", 17)

    assert dict() == fields.at_link
    with pytest.raises(AttributeError):
        fields.at_node

    fields.add_zeros("link", "vals")
    assert_array_equal(np.zeros(17), fields.at_link["vals"])

    with pytest.raises(KeyError):
        fields.delete_field("node", "vals")
    fields.delete_field("link", "vals")
    with pytest.raises(KeyError):
        fields.field_units("link", "vals")
    with pytest.raises(KeyError):
        fields.at_link["vals"]