code: def test_current_policy(self):
      policy = jmp.get_policy("p=f16,c=f32,o=f16")
      test = self
  
      class Foo(module.Module):
          def __call__(self):
              test.assertEqual(mixed_precision.current_policy(), policy)
  
      class Bar(module.Module):
          def __call__(self):
              test.assertEqual(mixed_precision.current_policy(), policy)
              Foo()()
              test.assertEqual(mixed_precision.current_policy(), policy)
  
      class Baz(module.Module):
          def __call__(self):
              test.assertIsNone(mixed_precision.current_policy())
              Bar()()
              test.assertIsNone(mixed_precision.current_policy())
  
      mixed_precision.set_policy(Bar, policy)
      Baz()()
  
imports: import importlib
  from typing import Optional
  from absl.testing import absltest
  from haiku._src import base
  from haiku._src import conv
  from haiku._src import mixed_precision
  from haiku._src import module
  from haiku._src import test_utils
  from haiku._src import transform
  import jax
  import jax.numpy
  import jmp
label_desc: Use image node_id 2 for calling the MixedPrecisionTest obj's underlying member method code with example usage: obj.test_current_policy() without return types