code: def test_estimate_cluster_mem():
      k = 1024
      m = k * k
      g = k * m
      assert 1 == estimate_cluster_mem(ncols=1, nrows=1)
      assert 1 == estimate_cluster_mem(k, k)
      assert 33 == estimate_cluster_mem(k, m)
      assert 2 == estimate_cluster_mem(15, 3 * m)
      assert 1 == estimate_cluster_mem(15, 3 * m, cat_cols=10)
      assert 2 == estimate_cluster_mem(15, 3 * m, num_cols=10)
      assert 3 == estimate_cluster_mem(15, 3 * m, uuid_cols=10)
      assert 2 == estimate_cluster_mem(15, 3 * m, time_cols=10)
      assert 16 == estimate_cluster_mem(15, 3 * m, string_cols=10)
      assert 4801 == estimate_cluster_mem(15, 5 * g, string_cols=1)
      assert 1329 == estimate_cluster_mem(
          20, 2 * g, string_cols=1, cat_cols=19
      )
  
imports: import sys
  from tests import pyunit_utils
  from h2o import estimate_cluster_mem
label_desc: Use image node_id 1 for calling a global function with example usage: test_estimate_cluster_mem() without return types