30 lines
824 B
Python
30 lines
824 B
Python
import unittest
|
|
from unittest import mock
|
|
|
|
from blender_asset_tracer.pack.shaman import time_tracker
|
|
|
|
|
|
class TimeTrackerTest(unittest.TestCase):
|
|
@mock.patch("time.monotonic")
|
|
def test_empty_class(self, mock_monotonic):
|
|
class TestClass:
|
|
pass
|
|
|
|
mock_monotonic.side_effect = [1.25, 4.75]
|
|
with time_tracker.track_time(TestClass, "some_attr"):
|
|
pass
|
|
|
|
# noinspection PyUnresolvedReferences
|
|
self.assertEqual(3.5, TestClass.some_attr)
|
|
|
|
@mock.patch("time.monotonic")
|
|
def test_with_value(self, mock_monotonic):
|
|
class TestClass:
|
|
some_attr = 4.125
|
|
|
|
mock_monotonic.side_effect = [1.25, 4.75]
|
|
with time_tracker.track_time(TestClass, "some_attr"):
|
|
pass
|
|
|
|
self.assertEqual(3.5 + 4.125, TestClass.some_attr)
|