code: def test_physicalobject_constructor():
      mat = materials.FlatMaterial()
      obj = objects.PhysicalObject(
          position=(1, 2, 4),
          quaternion=(0, 0, 1, 0),
          scale=(3, 3, 3),
          up="Y",
          front="X",
          velocity=(2, 3, 4),
          angular_velocity=(-1, -1, -1),
          mass=2.4,
          friction=0.8,
          restitution=1.0,
          static=True,
          bounds=((-1, -2, -3), (1, 2, 3)),
          material=mat,
      )
      assert_allclose(obj.position, (1, 2, 4))
      assert_allclose(obj.quaternion, (0, 0, 1, 0))
      assert obj.up == "Y"
      assert obj.front == "X"
      assert_allclose(obj.velocity, (2, 3, 4))
      assert_allclose(obj.angular_velocity, (-1, -1, -1))
      assert obj.mass == 2.4
      assert obj.friction == 0.8
      assert obj.restitution == 1.0
      assert obj.static is True
      assert_allclose(obj.bounds, ((-1, -2, -3), (1, 2, 3)))
      assert obj.material is mat
  
imports: import re
  import pytest
  import numpy
  from numpy.testing import assert_allclose
  import pyquaternion
  from traitlets import TraitError
  from unittest import mock
  from kubric.core import Asset
  from kubric.core import UndefinedAsset
  from kubric.core import objects
  from kubric.core import materials
label_desc: Use image node_id 19 for calling a global function with example usage: test_physicalobject_constructor() without return types