code: def test_no_access_to_class_property(db: SQLAlchemy) -> None:
      """Ensure the implementation doesn't access class properties or declared
      attrs while inspecting the unmapped model.
      """
  
      class class_property:
          def __init__(self, f: t.Callable[..., t.Any]) -> None:
              self.f = f
  
          def __get__(
              self, instance: t.Any, owner: type[t.Any]
          ) -> t.Any:
              return self.f(owner)
  
      class Duck(db.Model):
          id = sa.Column(sa.Integer, primary_key=True)
  
      class ns:
          is_duck = False
          floats = False
  
      class Witch(Duck):
          @sa_orm.declared_attr  # type: ignore[arg-type]
          def is_duck(self) -> None:
              # declared attrs will be accessed during mapper configuration,
              # but make sure they're not accessed before that
              info = inspect.getouterframes(inspect.currentframe())[2]
              assert info[3] != "_should_set_tablename"
              ns.is_duck = True
  
          @class_property
          def floats(self) -> None:
              ns.floats = True
  
      assert ns.is_duck
      assert not ns.floats
  
imports: from __future__ import annotations
  import inspect
  import typing
  import pytest
  import sqlalchemy
  import sqlalchemy.exc
  import sqlalchemy.orm
  from flask_sqlalchemy import SQLAlchemy
  from flask_sqlalchemy.model import camel_to_snake_case
label_desc: Use image node_id 11 for calling a global function with example usage: test_no_access_to_class_property(db) and returns: self