mirror of
https://github.com/gumyr/build123d.git
synced 2025-12-15 15:20:37 -08:00
fix: avoid date.today() as default arg
Having a function call as a default argument causes the function to be called once (upon declaration) which leads to confusing behavior. Instead we pass in `None` and call `date.today()` in the function body.
This commit is contained in:
parent
278e481843
commit
8c3f8922a5
2 changed files with 13 additions and 8 deletions
|
|
@ -620,7 +620,7 @@ class TechnicalDrawing(BaseSketchObject):
|
|||
def __init__(
|
||||
self,
|
||||
designed_by: str = "build123d",
|
||||
design_date: date = date.today(),
|
||||
design_date: Optional[date] = None,
|
||||
page_size: PageSize = PageSize.A4,
|
||||
title: str = "Title",
|
||||
sub_title: str = "Sub Title",
|
||||
|
|
@ -633,6 +633,9 @@ class TechnicalDrawing(BaseSketchObject):
|
|||
):
|
||||
# pylint: disable=too-many-locals
|
||||
|
||||
if design_date is None:
|
||||
design_date = date.today()
|
||||
|
||||
page_dim = TechnicalDrawing.page_sizes[page_size]
|
||||
# Frame
|
||||
frame_width = page_dim[0] - 2 * TechnicalDrawing.margin - 2 * nominal_text_size
|
||||
|
|
|
|||
|
|
@ -30,6 +30,8 @@ import math
|
|||
import unittest
|
||||
from datetime import date
|
||||
|
||||
import pytest
|
||||
|
||||
from build123d import (
|
||||
IN,
|
||||
Axis,
|
||||
|
|
@ -295,13 +297,13 @@ class ExtensionLineTestCase(unittest.TestCase):
|
|||
)
|
||||
|
||||
|
||||
class TestTechnicalDrawing(unittest.TestCase):
|
||||
def test_basic_drawing(self):
|
||||
drawing = TechnicalDrawing(design_date=date(2023, 9, 17), sheet_number=1)
|
||||
bbox = drawing.bounding_box()
|
||||
self.assertGreater(bbox.size.X, 280)
|
||||
self.assertGreater(bbox.size.Y, 195)
|
||||
self.assertGreater(len(drawing.faces()), 110)
|
||||
@pytest.mark.parametrize("design_date", [date(2023, 9, 17), None])
|
||||
def test_basic_drawing(design_date):
|
||||
drawing = TechnicalDrawing(design_date=design_date, sheet_number=1)
|
||||
bbox = drawing.bounding_box()
|
||||
assert bbox.size.X > 280
|
||||
assert bbox.size.Y > 195
|
||||
assert len(drawing.faces()) > 110
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue