code: def test_to_dictionary_multi_slice(es):
      slice_feature = Feature(
          es["log"].ww["product_id"],
          parent_dataframe_name="customers",
          primitive=NMostCommon(n=2),
      )[0]
  
      expected = {
          "type": "FeatureOutputSlice",
          "dependencies": [
              "customers: N_MOST_COMMON(log.product_id, n=2)"
          ],
          "arguments": {
              "name": "N_MOST_COMMON(log.product_id, n=2)[0]",
              "base_feature": "customers: N_MOST_COMMON(log.product_id, n=2)",
              "n": 0,
          },
      }
  
      assert expected == slice_feature.to_dictionary()
  
imports: import os.path
  import re
  import pytest
  from pympler.asizeof import asizeof
  from woodwork.column_schema import ColumnSchema
  from woodwork.logical_types import Datetime, Integer
  from featuretools import Feature, config, feature_base
  from featuretools.feature_base import IdentityFeature
  from featuretools.primitives import Count, Diff, Last, Mode, Negate, NMostCommon, NumUnique, Sum, TransformPrimitive
  from featuretools.synthesis.deep_feature_synthesis import can_stack_primitive_on_inputs
  from featuretools.tests.testing_utils import check_rename
label_desc: Use image node_id 18 for calling a global function with example usage: test_to_dictionary_multi_slice(es) without return types