code: def describe_approx_equal():
      def it_works_with_floating_values(spark):
          df = quinn.create_df(
              spark,
              [
                  (1.1, 1.05, True),
                  (1.1, 11.6, False),
                  (1.02, 1.09, True),
                  (1.02, 1.34, False),
                  (None, None, None),
              ],
              [
                  ("num1", FloatType(), True),
                  ("num2", FloatType(), True),
                  ("expected", BooleanType(), True),
              ],
          )
          actual_df = df.withColumn(
              "are_nums_approx_equal",
              quinn.approx_equal(
                  F.col("num1"), F.col("num2"), F.lit(0.1)
              ),
          )
          chispa.assert_column_equality(
              actual_df, "are_nums_approx_equal", "expected"
          )
  
      def it_works_with_integer_values(spark):
          df = quinn.create_df(
              spark,
              [
                  (12, 14, True),
                  (20, 26, False),
                  (44, 41, True),
                  (32, 9, False),
                  (None, None, None),
              ],
              [
                  ("num1", IntegerType(), True),
                  ("num2", IntegerType(), True),
                  ("expected", BooleanType(), True),
              ],
          )
          actual_df = df.withColumn(
              "are_nums_approx_equal",
              quinn.approx_equal(
                  F.col("num1"), F.col("num2"), F.lit(5)
              ),
          )
          chispa.assert_column_equality(
              actual_df, "are_nums_approx_equal", "expected"
          )
  
imports: import pytest
  import pyspark.sql.functions
  from pyspark.sql.types import StructField, StructType, BooleanType, DateType, IntegerType, ArrayType, FloatType, StringType, MapType
  import quinn
  from tests.conftest import auto_inject_fixtures
  import chispa
  import datetime
  import uuid
label_desc: Use image node_id 10 for calling a global function with example usage: describe_approx_equal() without return types