code: def test_example_namespace():
      vw_ex = Workspace(quiet=True)
      ex = vw_ex.example("1 |a two features |b more features here")
      ns_id = vowpalwabbit.NamespaceId(ex, 1)
      ex_nm = vowpalwabbit.ExampleNamespace(
          ex, ns_id, ns_hash=vw_ex.hash_space(ns_id.ns)
      )
      assert isinstance(ex_nm.ex, vowpalwabbit.Example)
      assert isinstance(ex_nm.ns, vowpalwabbit.NamespaceId)
      assert ex_nm.ns_hash == 2514386435
      assert ex_nm.num_features_in() == 3
      assert ex_nm[2] == (11617, 1.0)  # represents (feature, value)
      iter_obj = ex_nm.iter_features()
      for i in range(ex_nm.num_features_in()):
          assert ex_nm[i] == next(iter_obj)
      assert ex_nm.pop_feature()
      ex_nm.push_features(ns_id, ["c", "d"])
      assert ex_nm.num_features_in() == 4
  
imports: import os
  from pathlib import Path
  import vowpalwabbit
  from vowpalwabbit import Workspace
  import pytest
  import warnings
  import filecmp
label_desc: Use image node_id 29 for calling a global function with example usage: test_example_namespace() without return types