tests
This commit is contained in:
3
tests/fixtures/__init__.py
vendored
Normal file
3
tests/fixtures/__init__.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
"""
|
||||
Test fixtures for Text Texture Generator tests.
|
||||
"""
|
||||
BIN
tests/fixtures/__pycache__/__init__.cpython-311.pyc
vendored
Normal file
BIN
tests/fixtures/__pycache__/__init__.cpython-311.pyc
vendored
Normal file
Binary file not shown.
BIN
tests/fixtures/__pycache__/sample_data.cpython-311.pyc
vendored
Normal file
BIN
tests/fixtures/__pycache__/sample_data.cpython-311.pyc
vendored
Normal file
Binary file not shown.
129
tests/fixtures/sample_data.py
vendored
Normal file
129
tests/fixtures/sample_data.py
vendored
Normal file
@@ -0,0 +1,129 @@
|
||||
"""
|
||||
Sample data for testing Text Texture Generator functions.
|
||||
Provides common inputs like text samples, dimensions, and configurations.
|
||||
"""
|
||||
|
||||
# Sample text data for testing
|
||||
SHORT_TEXT = "Hello World"
|
||||
LONG_TEXT = "This is a much longer piece of text that should wrap across multiple lines when constrained by width limits in the text processing system."
|
||||
MULTILINE_TEXT = "Line 1\nLine 2\nLine 3\nLine 4"
|
||||
EMPTY_TEXT = ""
|
||||
UNICODE_TEXT = "Hello 世界 🌍 こんにちは"
|
||||
|
||||
# Sample dimensions
|
||||
SMALL_DIMENSIONS = {"width": 100, "height": 100}
|
||||
STANDARD_DIMENSIONS = {"width": 512, "height": 512}
|
||||
LARGE_DIMENSIONS = {"width": 1024, "height": 1024}
|
||||
PORTRAIT_DIMENSIONS = {"width": 400, "height": 600}
|
||||
LANDSCAPE_DIMENSIONS = {"width": 800, "height": 400}
|
||||
|
||||
# Sample font sizes
|
||||
FONT_SIZE_SMALL = 12
|
||||
FONT_SIZE_MEDIUM = 24
|
||||
FONT_SIZE_LARGE = 48
|
||||
FONT_SIZE_XLARGE = 72
|
||||
|
||||
# Sample colors (RGBA format for Blender, 0-1 range)
|
||||
COLOR_WHITE = (1.0, 1.0, 1.0, 1.0)
|
||||
COLOR_BLACK = (0.0, 0.0, 0.0, 1.0)
|
||||
COLOR_RED = (1.0, 0.0, 0.0, 1.0)
|
||||
COLOR_BLUE = (0.0, 0.0, 1.0, 1.0)
|
||||
COLOR_TRANSPARENT = (0.0, 0.0, 0.0, 0.0)
|
||||
|
||||
# Sample overlays for area calculations
|
||||
SAMPLE_OVERLAYS_EMPTY = []
|
||||
SAMPLE_OVERLAYS_SINGLE = [
|
||||
{'x': 50, 'y': 50, 'width': 100, 'height': 100}
|
||||
]
|
||||
SAMPLE_OVERLAYS_MULTIPLE = [
|
||||
{'x': 50, 'y': 50, 'width': 100, 'height': 100},
|
||||
{'x': 200, 'y': 200, 'width': 80, 'height': 80},
|
||||
{'x': 300, 'y': 100, 'width': 60, 'height': 120}
|
||||
]
|
||||
|
||||
# Sample text positions for overlap testing
|
||||
TEXT_POSITIONS_NO_OVERLAP = [
|
||||
{'x': 0, 'y': 0, 'width': 100, 'height': 50},
|
||||
{'x': 150, 'y': 0, 'width': 100, 'height': 50},
|
||||
{'x': 0, 'y': 100, 'width': 100, 'height': 50}
|
||||
]
|
||||
|
||||
TEXT_POSITIONS_WITH_OVERLAP = [
|
||||
{'x': 0, 'y': 0, 'width': 100, 'height': 50},
|
||||
{'x': 50, 'y': 25, 'width': 100, 'height': 50}, # Overlaps first
|
||||
{'x': 200, 'y': 0, 'width': 100, 'height': 50}
|
||||
]
|
||||
|
||||
# Sample available areas
|
||||
AVAILABLE_AREA_SMALL = {
|
||||
'x': 10,
|
||||
'y': 10,
|
||||
'width': 100,
|
||||
'height': 50,
|
||||
'area': 5000
|
||||
}
|
||||
|
||||
AVAILABLE_AREA_MEDIUM = {
|
||||
'x': 50,
|
||||
'y': 50,
|
||||
'width': 200,
|
||||
'height': 150,
|
||||
'area': 30000
|
||||
}
|
||||
|
||||
AVAILABLE_AREA_LARGE = {
|
||||
'x': 0,
|
||||
'y': 0,
|
||||
'width': 500,
|
||||
'height': 400,
|
||||
'area': 200000
|
||||
}
|
||||
|
||||
# Text alignment options
|
||||
TEXT_ALIGNMENTS = [
|
||||
'center',
|
||||
'top-left', 'top-center', 'top-right',
|
||||
'center-left', 'center-right',
|
||||
'bottom-left', 'bottom-center', 'bottom-right'
|
||||
]
|
||||
|
||||
# Sample histogram data for rectangle calculations
|
||||
HISTOGRAM_SIMPLE = [3, 1, 3, 2, 2]
|
||||
HISTOGRAM_INCREASING = [1, 2, 3, 4, 5]
|
||||
HISTOGRAM_DECREASING = [5, 4, 3, 2, 1]
|
||||
HISTOGRAM_PYRAMID = [1, 2, 3, 4, 3, 2, 1]
|
||||
HISTOGRAM_ZERO_VALUES = [0, 0, 3, 3, 0, 0]
|
||||
|
||||
# Text block layouts for optimization testing
|
||||
TEXT_BLOCKS_SIMPLE = [
|
||||
{'x': 0, 'y': 0, 'width': 100, 'height': 50, 'text': 'Block 1'},
|
||||
{'x': 200, 'y': 200, 'width': 80, 'height': 40, 'text': 'Block 2'}
|
||||
]
|
||||
|
||||
TEXT_BLOCKS_OVERLAPPING = [
|
||||
{'x': 0, 'y': 0, 'width': 100, 'height': 100, 'text': 'Block 1'},
|
||||
{'x': 50, 'y': 50, 'width': 100, 'height': 100, 'text': 'Block 2'},
|
||||
{'x': 25, 'y': 25, 'width': 50, 'height': 50, 'text': 'Block 3'}
|
||||
]
|
||||
|
||||
# Font size constraints for testing
|
||||
FONT_CONSTRAINTS_NORMAL = {
|
||||
'min_size': 8,
|
||||
'max_size': 72,
|
||||
'target_width': 200,
|
||||
'target_height': 100
|
||||
}
|
||||
|
||||
FONT_CONSTRAINTS_TIGHT = {
|
||||
'min_size': 8,
|
||||
'max_size': 20,
|
||||
'target_width': 50,
|
||||
'target_height': 30
|
||||
}
|
||||
|
||||
FONT_CONSTRAINTS_LOOSE = {
|
||||
'min_size': 20,
|
||||
'max_size': 200,
|
||||
'target_width': 800,
|
||||
'target_height': 600
|
||||
}
|
||||
Reference in New Issue
Block a user