feat(shaders): Create ShaderManager with basic compilation
This commit is contained in:
25
tests/test_shader_manager.py
Normal file
25
tests/test_shader_manager.py
Normal file
@@ -0,0 +1,25 @@
|
||||
import pytest
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
def test_shader_manager_initialization_and_compilation():
|
||||
# Import inside test to allow patching OpenGL before import if needed
|
||||
# In this case, we patch the OpenGL.GL functions used by ShaderManager
|
||||
with patch("src.shader_manager.gl") as mock_gl:
|
||||
mock_gl.glCreateProgram.return_value = 1
|
||||
mock_gl.glCreateShader.return_value = 2
|
||||
mock_gl.glGetShaderiv.return_value = mock_gl.GL_TRUE
|
||||
mock_gl.glGetProgramiv.return_value = mock_gl.GL_TRUE
|
||||
|
||||
from src.shader_manager import ShaderManager
|
||||
|
||||
manager = ShaderManager()
|
||||
|
||||
# Basic vertex and fragment shader source
|
||||
vert_src = "void main() {}"
|
||||
frag_src = "void main() {}"
|
||||
|
||||
program_id = manager.compile_shader(vert_src, frag_src)
|
||||
|
||||
assert program_id == 1
|
||||
assert mock_gl.glCreateProgram.called
|
||||
assert mock_gl.glCreateShader.called
|
||||
Reference in New Issue
Block a user