code: def test_drop_duplicates_tuple():
      pdf = pd.DataFrame(
          {
              ("AA", "AB"): [
                  "foo",
                  "bar",
                  "foo",
                  "bar",
                  "foo",
                  "bar",
                  "bar",
                  "foo",
              ],
              "B": [
                  "one",
                  "one",
                  "two",
                  "two",
                  "two",
                  "two",
                  "one",
                  "two",
              ],
              "C": [1, 1, 2, 2, 2, 2, 1, 2],
              "D": range(8),
          }
      )
      gdf = cudf.DataFrame.from_pandas(pdf)
      # single column
      result = gdf.drop_duplicates(("AA", "AB"))
      expected = pdf.drop_duplicates(("AA", "AB"))
      assert_df(result, expected)
  
      result = gdf.drop_duplicates(("AA", "AB"), keep="last")
      expected = pdf.drop_duplicates(("AA", "AB"), keep="last")
      assert_df(result, expected)
  
      result = gdf.drop_duplicates(("AA", "AB"), keep=False)
      expected = pdf.drop_duplicates(
          ("AA", "AB"), keep=False
      )  # empty df
      assert len(result) == 0
      assert_df(result, expected)
  
      # multi column
      expected = pdf.drop_duplicates((("AA", "AB"), "B"))
      result = gdf.drop_duplicates((("AA", "AB"), "B"))
      assert_df(result, expected)
  
imports: import itertools
  import random
  import numpy
  import pandas
  import pytest
  import cudf
  from cudf import concat
  from cudf.testing._utils import _create_pandas_series_float64_default, assert_eq, assert_exceptions_equal
label_desc: Use image node_id 8 for calling a global function with example usage: test_drop_duplicates_tuple() without return types