code: def create_context_with_counts(
      rows: int, distinct: int, nulls: int
  ) -> DataWarehouseInferenceContext:
      """Get a `DataWarehouseInferenceContext` with the designated counts."""
      return DataWarehouseInferenceContext(
          table_props=[
              TableProperties(
                  table=SqlTable.from_string("db.schema.table"),
                  column_props=[
                      ColumnProperties(
                          column=SqlColumn.from_string(
                              "db.schema.table.column"
                          ),
                          type=InferenceColumnType.INTEGER,
                          row_count=rows,
                          distinct_row_count=distinct,
                          null_count=nulls,
                          is_nullable=nulls != 0,
                          min_value=0,
                          max_value=rows - 1,
                      )
                  ],
              )
          ]
      )
  
file_path: metricflow/metricflow/test/inference/rule/test_rules.py
imports: from __future__ import annotations
  from metricflow.dataflow.sql_column import SqlColumn
  from metricflow.dataflow.sql_table import SqlTable
  from metricflow.inference.context.data_warehouse import ColumnProperties, DataWarehouseInferenceContext, InferenceColumnType, TableProperties
  from metricflow.inference.models import InferenceSignalConfidence, InferenceSignalType
  from metricflow.inference.rule.rules import ColumnMatcherRule, LowCardinalityRatioRule
label_desc: Use image node_id 1 for calling a global function with example usage: create_context_with_counts(rows, distinct, nulls) and returns: DataWarehouseInferenceContext