示例#1
0
def test_delete_entity():
    db = EntityDB()
    entity = DXFEntity.from_text("0\nTEST\n5\nFFFF\n")
    db.add(entity)
    assert len(db) == 1
    db.delete_entity(entity)
    assert len(db) == 0
示例#2
0
def test_restore_integrity_remove_invalid_None():
    db = EntityDB()
    e = DXFEntity.from_text("0\nTEST\n5\nABBA\n")
    db.add(e)
    assert len(db) == 1

    # set invalid handle
    e.dxf.handle = None
    db.audit(auditor)
    assert len(db) == 0
示例#3
0
def test_restore_integrity_purge():
    db = EntityDB()
    e = DXFEntity.from_text("0\nTEST\n5\nABBA\n")
    db.add(e)
    assert len(db) == 1
    db.audit(auditor)
    assert len(db) == 1
    e.destroy()
    db.audit(auditor)
    assert len(db) == 0
示例#4
0
def test_delete_dead_entity_entity():
    db = EntityDB()
    entity = DXFEntity.from_text("0\nTEST\n5\nFFFF\n")
    db.add(entity)
    assert len(db) == 1
    entity.destroy()
    # delete_entity() should not raise an error if entity is not alive!
    db.delete_entity(entity)
    # but entity.destroy() does not remove entity from EntityDB!
    assert 'FFFF' in db
    assert len(db) == 1
示例#5
0
def test_restore_integrity_recover():
    db = EntityDB()
    e = DXFEntity.from_text("0\nTEST\n5\nABBA\n")
    db.add(e)
    assert len(db) == 1

    # modify handle
    e.dxf.handle = 'FEFE'
    assert 'ABBA' in db
    assert 'FEFE' not in db

    db.audit(auditor)
    assert len(db) == 1
    assert 'FEFE' in db
    assert 'ABBA' not in db
示例#6
0
def entity():
    return DXFEntity.from_text(ENTITY)
示例#7
0
def test_set_value(db):
    new_entity = DXFEntity.from_text("0\nTEST\n5\nFFFF\n")
    db['0'] = new_entity
    assert new_entity is db['0']
示例#8
0
# Copyright (c) 2011-2019, Manfred Moitzi
# License: MIT License
import pytest
from ezdxf.entitydb import EntityDB
from ezdxf.entities.dxfentity import DXFEntity

ENTITY = DXFEntity.from_text("0\nTEST\n5\nFFFF\n")


@pytest.fixture
def db():
    db = EntityDB()
    db['0'] = ENTITY
    return db


def test_get_value(db):
    assert ENTITY is db['0']


def test_set_value(db):
    new_entity = DXFEntity.from_text("0\nTEST\n5\nFFFF\n")
    db['0'] = new_entity
    assert new_entity is db['0']


def test_del_value(db):
    del db['0']
    with pytest.raises(KeyError):
        _ = db['0']
    assert len(db) == 0