| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- from panda3d.core import Filename, NodePath
- from direct.showbase.Loader import Loader
- import pytest
- @pytest.fixture
- def loader():
- return Loader(base=None)
- @pytest.fixture
- def temp_model():
- from panda3d.core import ModelPool, ModelRoot
- root = ModelRoot('model')
- root.fullpath = '/test-model.bam'
- ModelPool.add_model(root.fullpath, root)
- yield root.fullpath
- ModelPool.release_model(root.fullpath)
- def test_load_model_filename(loader, temp_model):
- model = loader.load_model(Filename(temp_model))
- assert model
- assert isinstance(model, NodePath)
- assert model.name == 'model'
- def test_load_model_str(loader, temp_model):
- model = loader.load_model(str(temp_model))
- assert model
- assert isinstance(model, NodePath)
- assert model.name == 'model'
- def test_load_model_list(loader, temp_model):
- models = loader.load_model([temp_model, temp_model])
- assert models
- assert isinstance(models, list)
- assert len(models) == 2
- assert isinstance(models[0], NodePath)
- assert isinstance(models[1], NodePath)
- def test_load_model_tuple(loader, temp_model):
- models = loader.load_model((temp_model, temp_model))
- assert models
- assert isinstance(models, list)
- assert len(models) == 2
- assert isinstance(models[0], NodePath)
- assert isinstance(models[1], NodePath)
- def test_load_model_set(loader, temp_model):
- models = loader.load_model({temp_model})
- assert models
- assert isinstance(models, list)
- assert len(models) == 1
- assert isinstance(models[0], NodePath)
- def test_load_model_missing(loader):
- with pytest.raises(IOError):
- loader.load_model('/nonexistent.bam')
- def test_load_model_okmissing(loader):
- model = loader.load_model('/nonexistent.bam', okMissing=True)
- assert model is None
|