/* testsortedmap.c generated by valac 0.56.3, the Vala compiler
 * generated from testsortedmap.vala, do not modify */

/* sortedset.vala
 *
 * Copyright (C) 2009-2011  Maciej Piechotka
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.

 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.

 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 *
 * Author:
 * 	Maciej Piechotka <uzytkownik2@gmail.com>
 */

#include <glib-object.h>
#include <gee.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define GEE_TYPE_TEST_CASE (gee_test_case_get_type ())
#define GEE_TEST_CASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TEST_CASE, GeeTestCase))
#define GEE_TEST_CASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TEST_CASE, GeeTestCaseClass))
#define GEE_IS_TEST_CASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TEST_CASE))
#define GEE_IS_TEST_CASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TEST_CASE))
#define GEE_TEST_CASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TEST_CASE, GeeTestCaseClass))

typedef struct _GeeTestCase GeeTestCase;
typedef struct _GeeTestCaseClass GeeTestCaseClass;
typedef struct _GeeTestCasePrivate GeeTestCasePrivate;

#define TYPE_MAP_TESTS (map_tests_get_type ())
#define MAP_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MAP_TESTS, MapTests))
#define MAP_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MAP_TESTS, MapTestsClass))
#define IS_MAP_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MAP_TESTS))
#define IS_MAP_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MAP_TESTS))
#define MAP_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MAP_TESTS, MapTestsClass))

typedef struct _MapTests MapTests;
typedef struct _MapTestsClass MapTestsClass;
typedef struct _MapTestsPrivate MapTestsPrivate;

#define GEE_TYPE_SORTED_MAP_TESTS (gee_sorted_map_tests_get_type ())
#define GEE_SORTED_MAP_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_SORTED_MAP_TESTS, GeeSortedMapTests))
#define GEE_SORTED_MAP_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_SORTED_MAP_TESTS, GeeSortedMapTestsClass))
#define GEE_IS_SORTED_MAP_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_SORTED_MAP_TESTS))
#define GEE_IS_SORTED_MAP_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_SORTED_MAP_TESTS))
#define GEE_SORTED_MAP_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_SORTED_MAP_TESTS, GeeSortedMapTestsClass))

typedef struct _GeeSortedMapTests GeeSortedMapTests;
typedef struct _GeeSortedMapTestsClass GeeSortedMapTestsClass;
typedef struct _GeeSortedMapTestsPrivate GeeSortedMapTestsPrivate;
enum  {
	GEE_SORTED_MAP_TESTS_0_PROPERTY,
	GEE_SORTED_MAP_TESTS_NUM_PROPERTIES
};
static GParamSpec* gee_sorted_map_tests_properties[GEE_SORTED_MAP_TESTS_NUM_PROPERTIES];
typedef void (*GeeTestCaseTestMethod) (gpointer user_data);
typedef enum  {
	GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD,
	GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL,
	GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB,
	GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY
} GeeSortedMapTestsSubMapTestsType;

#define GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TYPE (gee_sorted_map_tests_sub_map_tests_type_get_type ())

#define GEE_SORTED_MAP_TESTS_TYPE_SUB_MAP_TESTS (gee_sorted_map_tests_sub_map_tests_get_type ())
#define GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_SORTED_MAP_TESTS_TYPE_SUB_MAP_TESTS, GeeSortedMapTestsSubMapTests))
#define GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_SORTED_MAP_TESTS_TYPE_SUB_MAP_TESTS, GeeSortedMapTestsSubMapTestsClass))
#define GEE_SORTED_MAP_TESTS_IS_SUB_MAP_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_SORTED_MAP_TESTS_TYPE_SUB_MAP_TESTS))
#define GEE_SORTED_MAP_TESTS_IS_SUB_MAP_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_SORTED_MAP_TESTS_TYPE_SUB_MAP_TESTS))
#define GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_SORTED_MAP_TESTS_TYPE_SUB_MAP_TESTS, GeeSortedMapTestsSubMapTestsClass))

typedef struct _GeeSortedMapTestsSubMapTests GeeSortedMapTestsSubMapTests;
typedef struct _GeeSortedMapTestsSubMapTestsClass GeeSortedMapTestsSubMapTestsClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _GeeSortedMapTestsSubMapTestsPrivate GeeSortedMapTestsSubMapTestsPrivate;
enum  {
	GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_0_PROPERTY,
	GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_NUM_PROPERTIES
};
static GParamSpec* gee_sorted_map_tests_sub_map_tests_properties[GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_NUM_PROPERTIES];
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

struct _GeeTestCase {
	GObject parent_instance;
	GeeTestCasePrivate * priv;
};

struct _GeeTestCaseClass {
	GObjectClass parent_class;
	void (*set_up) (GeeTestCase* self);
	void (*tear_down) (GeeTestCase* self);
};

struct _MapTests {
	GeeTestCase parent_instance;
	MapTestsPrivate * priv;
	GeeMap* test_map;
};

struct _MapTestsClass {
	GeeTestCaseClass parent_class;
};

struct _GeeSortedMapTests {
	MapTests parent_instance;
	GeeSortedMapTestsPrivate * priv;
};

struct _GeeSortedMapTestsClass {
	MapTestsClass parent_class;
};

struct _GeeSortedMapTestsSubMapTests {
	GeeTestCase parent_instance;
	GeeSortedMapTestsSubMapTestsPrivate * priv;
};

struct _GeeSortedMapTestsSubMapTestsClass {
	GeeTestCaseClass parent_class;
};

struct _GeeSortedMapTestsSubMapTestsPrivate {
	GeeSortedMap* master;
	GeeSortedMap* submap;
	GeeSortedMapTests* test;
	GeeSortedMapTestsSubMapTestsType type;
};

static gpointer gee_sorted_map_tests_parent_class = NULL;
static gint GeeSortedMapTestsSubMapTests_private_offset;
static gpointer gee_sorted_map_tests_sub_map_tests_parent_class = NULL;

VALA_EXTERN GType gee_test_case_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeTestCase, g_object_unref)
VALA_EXTERN GType map_tests_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MapTests, g_object_unref)
VALA_EXTERN GType gee_sorted_map_tests_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeSortedMapTests, g_object_unref)
VALA_EXTERN GeeSortedMapTests* gee_sorted_map_tests_construct (GType object_type,
                                                   const gchar* name);
VALA_EXTERN MapTests* map_tests_construct (GType object_type,
                               const gchar* name);
VALA_EXTERN void gee_test_case_add_test (GeeTestCase* self,
                             const gchar* name,
                             GeeTestCaseTestMethod test,
                             gpointer test_target,
                             GDestroyNotify test_target_destroy_notify);
VALA_EXTERN void gee_sorted_map_tests_test_key_ordering (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_key_ordering_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_test_first (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_first_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_test_last (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_last_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_test_iterator_at (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_iterator_at_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_test_lower (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_lower_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_test_higher (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_higher_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_test_floor (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_floor_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_test_ceil (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_ceil_gee_test_case_test_method (gpointer self);
VALA_EXTERN GTestSuite* gee_test_case_get_suite (GeeTestCase* self);
VALA_EXTERN GType gee_sorted_map_tests_sub_map_tests_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GeeSortedMapTestsSubMapTests* gee_sorted_map_tests_sub_map_tests_new (GeeSortedMapTests* test,
                                                                      GeeSortedMapTestsSubMapTestsType type);
VALA_EXTERN GeeSortedMapTestsSubMapTests* gee_sorted_map_tests_sub_map_tests_construct (GType object_type,
                                                                            GeeSortedMapTests* test,
                                                                            GeeSortedMapTestsSubMapTestsType type);
VALA_EXTERN GType gee_sorted_map_tests_sub_map_tests_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeSortedMapTestsSubMapTests, g_object_unref)
VALA_EXTERN void map_tests_assert_entry (GeeMapEntry* e,
                             const gchar* key,
                             const gchar* value);
VALA_EXTERN GeeMapEntry* map_tests_entry_for (const gchar* key,
                                  const gchar* value);
VALA_EXTERN void gee_test_case_set_up (GeeTestCase* self);
VALA_EXTERN void gee_test_case_tear_down (GeeTestCase* self);
VALA_EXTERN const gchar* gee_sorted_map_tests_sub_map_tests_type_to_string (GeeSortedMapTestsSubMapTestsType self);
VALA_EXTERN GeeTestCase* gee_test_case_construct (GType object_type,
                                      const gchar* name);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_has_key_size_is_empty (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_has_key_size_is_empty_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_keys (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_keys_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_values (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_values_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_entries (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_entries_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_get (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_get_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_set (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_set_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_unset (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_unset_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_clear (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_clear_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_iterators (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_iterators_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_boundaries (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_boundaries_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_lower (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_lower_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_higher (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_higher_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_floor (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_floor_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_ceil (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_ceil_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_iterator_at (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_iterator_at_gee_test_case_test_method (gpointer self);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_test_submap_and_subsets (GeeSortedMapTestsSubMapTests* self);
static void _gee_sorted_map_tests_sub_map_tests_test_submap_and_subsets_gee_test_case_test_method (gpointer self);
static void gee_sorted_map_tests_sub_map_tests_real_set_up (GeeTestCase* base);
static void gee_sorted_map_tests_sub_map_tests_real_tear_down (GeeTestCase* base);
VALA_EXTERN void gee_sorted_map_tests_sub_map_tests_set_default_values (GeeSortedMapTestsSubMapTests* self,
                                                            gchar*** contains,
                                                            gint* contains_length1,
                                                            gchar*** not_contains,
                                                            gint* not_contains_length1);
static void gee_sorted_map_tests_sub_map_tests_finalize (GObject * obj);
static GType gee_sorted_map_tests_sub_map_tests_get_type_once (void);
static GType gee_sorted_map_tests_get_type_once (void);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);

static void
_gee_sorted_map_tests_test_key_ordering_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_test_key_ordering ((GeeSortedMapTests*) self);
}

static void
_gee_sorted_map_tests_test_first_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_test_first ((GeeSortedMapTests*) self);
}

static void
_gee_sorted_map_tests_test_last_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_test_last ((GeeSortedMapTests*) self);
}

static void
_gee_sorted_map_tests_test_iterator_at_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_test_iterator_at ((GeeSortedMapTests*) self);
}

static void
_gee_sorted_map_tests_test_lower_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_test_lower ((GeeSortedMapTests*) self);
}

static void
_gee_sorted_map_tests_test_higher_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_test_higher ((GeeSortedMapTests*) self);
}

static void
_gee_sorted_map_tests_test_floor_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_test_floor ((GeeSortedMapTests*) self);
}

static void
_gee_sorted_map_tests_test_ceil_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_test_ceil ((GeeSortedMapTests*) self);
}

GeeSortedMapTests*
gee_sorted_map_tests_construct (GType object_type,
                                const gchar* name)
{
	GeeSortedMapTests * self = NULL;
	GTestSuite* _tmp0_;
	GeeSortedMapTestsSubMapTests* _tmp1_;
	GeeSortedMapTestsSubMapTests* _tmp2_;
	GTestSuite* _tmp3_;
	GTestSuite* _tmp4_;
	GeeSortedMapTestsSubMapTests* _tmp5_;
	GeeSortedMapTestsSubMapTests* _tmp6_;
	GTestSuite* _tmp7_;
	GTestSuite* _tmp8_;
	GeeSortedMapTestsSubMapTests* _tmp9_;
	GeeSortedMapTestsSubMapTests* _tmp10_;
	GTestSuite* _tmp11_;
	GTestSuite* _tmp12_;
	GeeSortedMapTestsSubMapTests* _tmp13_;
	GeeSortedMapTestsSubMapTests* _tmp14_;
	GTestSuite* _tmp15_;
	g_return_val_if_fail (name != NULL, NULL);
	self = (GeeSortedMapTests*) map_tests_construct (object_type, name);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] key ordering", _gee_sorted_map_tests_test_key_ordering_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] first", _gee_sorted_map_tests_test_first_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] last", _gee_sorted_map_tests_test_last_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] iterator_at", _gee_sorted_map_tests_test_iterator_at_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] lower", _gee_sorted_map_tests_test_lower_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] higher", _gee_sorted_map_tests_test_higher_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] floor", _gee_sorted_map_tests_test_floor_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] ceil", _gee_sorted_map_tests_test_ceil_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	_tmp0_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp1_ = gee_sorted_map_tests_sub_map_tests_new (self, GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD);
	_tmp2_ = _tmp1_;
	_tmp3_ = gee_test_case_get_suite ((GeeTestCase*) _tmp2_);
	g_test_suite_add_suite (_tmp0_, _tmp3_);
	_g_object_unref0 (_tmp2_);
	_tmp4_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp5_ = gee_sorted_map_tests_sub_map_tests_new (self, GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL);
	_tmp6_ = _tmp5_;
	_tmp7_ = gee_test_case_get_suite ((GeeTestCase*) _tmp6_);
	g_test_suite_add_suite (_tmp4_, _tmp7_);
	_g_object_unref0 (_tmp6_);
	_tmp8_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp9_ = gee_sorted_map_tests_sub_map_tests_new (self, GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB);
	_tmp10_ = _tmp9_;
	_tmp11_ = gee_test_case_get_suite ((GeeTestCase*) _tmp10_);
	g_test_suite_add_suite (_tmp8_, _tmp11_);
	_g_object_unref0 (_tmp10_);
	_tmp12_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp13_ = gee_sorted_map_tests_sub_map_tests_new (self, GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY);
	_tmp14_ = _tmp13_;
	_tmp15_ = gee_test_case_get_suite ((GeeTestCase*) _tmp14_);
	g_test_suite_add_suite (_tmp12_, _tmp15_);
	_g_object_unref0 (_tmp14_);
	return self;
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

void
gee_sorted_map_tests_test_key_ordering (GeeSortedMapTests* self)
{
	GeeSortedMap* test_sorted_map = NULL;
	GeeMap* _tmp0_;
	GeeSortedMap* _tmp1_;
	GeeIterator* iterator = NULL;
	GeeSet* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
	GeeIterator* _tmp5_;
	GeeIterator* _tmp6_;
	gpointer _tmp7_;
	gchar* _tmp8_;
	gpointer _tmp9_;
	gchar* _tmp10_;
	gpointer _tmp11_;
	gchar* _tmp12_;
	gpointer _tmp13_;
	gchar* _tmp14_;
	gpointer _tmp15_;
	gchar* _tmp16_;
	gpointer _tmp17_;
	gchar* _tmp18_;
	gpointer _tmp19_;
	gchar* _tmp20_;
	gpointer _tmp21_;
	gchar* _tmp22_;
	gpointer _tmp23_;
	gchar* _tmp24_;
	gpointer _tmp25_;
	gchar* _tmp26_;
	gpointer _tmp27_;
	gchar* _tmp28_;
	gpointer _tmp29_;
	gchar* _tmp30_;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((MapTests*) self)->test_map;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_MAP) ? ((GeeSortedMap*) _tmp0_) : NULL);
	test_sorted_map = _tmp1_;
	_vala_assert (test_sorted_map != NULL, "test_sorted_map != null");
	gee_map_set ((GeeMap*) test_sorted_map, "one", "one");
	gee_map_set ((GeeMap*) test_sorted_map, "two", "two");
	gee_map_set ((GeeMap*) test_sorted_map, "three", "three");
	gee_map_set ((GeeMap*) test_sorted_map, "four", "four");
	gee_map_set ((GeeMap*) test_sorted_map, "five", "five");
	gee_map_set ((GeeMap*) test_sorted_map, "six", "six");
	gee_map_set ((GeeMap*) test_sorted_map, "seven", "seven");
	gee_map_set ((GeeMap*) test_sorted_map, "eight", "eight");
	gee_map_set ((GeeMap*) test_sorted_map, "nine", "nine");
	gee_map_set ((GeeMap*) test_sorted_map, "ten", "ten");
	gee_map_set ((GeeMap*) test_sorted_map, "eleven", "eleven");
	gee_map_set ((GeeMap*) test_sorted_map, "twelve", "twelve");
	_tmp2_ = gee_map_get_keys ((GeeMap*) test_sorted_map);
	_tmp3_ = _tmp2_;
	_tmp4_ = _tmp3_;
	_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
	_tmp6_ = _tmp5_;
	_g_object_unref0 (_tmp4_);
	iterator = _tmp6_;
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp7_ = gee_iterator_get (iterator);
	_tmp8_ = (gchar*) _tmp7_;
	_vala_assert (g_strcmp0 (_tmp8_, "eight") == 0, "iterator.get () == \"eight\"");
	_g_free0 (_tmp8_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp9_ = gee_iterator_get (iterator);
	_tmp10_ = (gchar*) _tmp9_;
	_vala_assert (g_strcmp0 (_tmp10_, "eleven") == 0, "iterator.get () == \"eleven\"");
	_g_free0 (_tmp10_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp11_ = gee_iterator_get (iterator);
	_tmp12_ = (gchar*) _tmp11_;
	_vala_assert (g_strcmp0 (_tmp12_, "five") == 0, "iterator.get () == \"five\"");
	_g_free0 (_tmp12_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp13_ = gee_iterator_get (iterator);
	_tmp14_ = (gchar*) _tmp13_;
	_vala_assert (g_strcmp0 (_tmp14_, "four") == 0, "iterator.get () == \"four\"");
	_g_free0 (_tmp14_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp15_ = gee_iterator_get (iterator);
	_tmp16_ = (gchar*) _tmp15_;
	_vala_assert (g_strcmp0 (_tmp16_, "nine") == 0, "iterator.get () == \"nine\"");
	_g_free0 (_tmp16_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp17_ = gee_iterator_get (iterator);
	_tmp18_ = (gchar*) _tmp17_;
	_vala_assert (g_strcmp0 (_tmp18_, "one") == 0, "iterator.get () == \"one\"");
	_g_free0 (_tmp18_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp19_ = gee_iterator_get (iterator);
	_tmp20_ = (gchar*) _tmp19_;
	_vala_assert (g_strcmp0 (_tmp20_, "seven") == 0, "iterator.get () == \"seven\"");
	_g_free0 (_tmp20_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp21_ = gee_iterator_get (iterator);
	_tmp22_ = (gchar*) _tmp21_;
	_vala_assert (g_strcmp0 (_tmp22_, "six") == 0, "iterator.get () == \"six\"");
	_g_free0 (_tmp22_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp23_ = gee_iterator_get (iterator);
	_tmp24_ = (gchar*) _tmp23_;
	_vala_assert (g_strcmp0 (_tmp24_, "ten") == 0, "iterator.get () == \"ten\"");
	_g_free0 (_tmp24_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp25_ = gee_iterator_get (iterator);
	_tmp26_ = (gchar*) _tmp25_;
	_vala_assert (g_strcmp0 (_tmp26_, "three") == 0, "iterator.get () == \"three\"");
	_g_free0 (_tmp26_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp27_ = gee_iterator_get (iterator);
	_tmp28_ = (gchar*) _tmp27_;
	_vala_assert (g_strcmp0 (_tmp28_, "twelve") == 0, "iterator.get () == \"twelve\"");
	_g_free0 (_tmp28_);
	_vala_assert (gee_iterator_next (iterator), "iterator.next ()");
	_tmp29_ = gee_iterator_get (iterator);
	_tmp30_ = (gchar*) _tmp29_;
	_vala_assert (g_strcmp0 (_tmp30_, "two") == 0, "iterator.get () == \"two\"");
	_g_free0 (_tmp30_);
	_vala_assert (gee_iterator_next (iterator) == FALSE, "iterator.next () == false");
	_g_object_unref0 (iterator);
	_g_object_unref0 (test_sorted_map);
}

void
gee_sorted_map_tests_test_first (GeeSortedMapTests* self)
{
	GeeSortedMap* test_sorted_map = NULL;
	GeeMap* _tmp0_;
	GeeSortedMap* _tmp1_;
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp2_;
	GeeSortedSet* _tmp3_;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp5_;
	GeeSortedSet* _tmp6_;
	GeeSortedSet* _tmp7_;
	GeeSortedMap* _tmp8_;
	GeeSortedMap* _tmp15_;
	GeeSortedMap* _tmp16_;
	GeeSortedMap* _tmp17_;
	GeeSortedMap* _tmp18_;
	GeeSortedMap* _tmp19_;
	GeeSortedMap* _tmp20_;
	GeeSortedMap* _tmp21_;
	GeeSortedMap* _tmp22_;
	GeeSortedMap* _tmp23_;
	GeeSortedMap* _tmp24_;
	GeeSortedMap* _tmp25_;
	GeeSortedMap* _tmp26_;
	GeeSortedSet* _tmp27_;
	gpointer _tmp28_;
	gchar* _tmp29_;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((MapTests*) self)->test_map;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_MAP) ? ((GeeSortedMap*) _tmp0_) : NULL);
	test_sorted_map = _tmp1_;
	_tmp2_ = test_sorted_map;
	_tmp3_ = gee_sorted_map_get_ascending_keys (_tmp2_);
	_tmp4_ = _tmp3_;
	keys = _tmp4_;
	_tmp5_ = test_sorted_map;
	_tmp6_ = gee_sorted_map_get_ascending_entries (_tmp5_);
	_tmp7_ = _tmp6_;
	entries = _tmp7_;
	_tmp8_ = test_sorted_map;
	_vala_assert (_tmp8_ != NULL, "test_sorted_map != null");
	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
		GeeSortedSet* _tmp9_;
		gpointer _tmp10_;
		gchar* _tmp11_;
		_tmp9_ = keys;
		_tmp10_ = gee_sorted_set_first (_tmp9_);
		_tmp11_ = (gchar*) _tmp10_;
		_g_free0 (_tmp11_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
		GeeSortedSet* _tmp12_;
		gpointer _tmp13_;
		GeeMapEntry* _tmp14_;
		_tmp12_ = entries;
		_tmp13_ = gee_sorted_set_first (_tmp12_);
		_tmp14_ = (GeeMapEntry*) _tmp13_;
		_g_object_unref0 (_tmp14_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	_tmp15_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp15_, "one", "one");
	_tmp16_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp16_, "two", "two");
	_tmp17_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp17_, "three", "three");
	_tmp18_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp18_, "four", "four");
	_tmp19_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp19_, "five", "five");
	_tmp20_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp20_, "six", "six");
	_tmp21_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp21_, "seven", "seven");
	_tmp22_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp22_, "eight", "eight");
	_tmp23_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp23_, "nine", "nine");
	_tmp24_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp24_, "ten", "ten");
	_tmp25_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp25_, "eleven", "eleven");
	_tmp26_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp26_, "twelve", "twelve");
	_tmp27_ = keys;
	_tmp28_ = gee_sorted_set_first (_tmp27_);
	_tmp29_ = (gchar*) _tmp28_;
	_vala_assert (g_strcmp0 (_tmp29_, "eight") == 0, "keys.first () == \"eight\"");
	_g_free0 (_tmp29_);
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	_g_object_unref0 (test_sorted_map);
}

void
gee_sorted_map_tests_test_last (GeeSortedMapTests* self)
{
	GeeSortedMap* test_sorted_map = NULL;
	GeeMap* _tmp0_;
	GeeSortedMap* _tmp1_;
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp2_;
	GeeSortedSet* _tmp3_;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp5_;
	GeeSortedSet* _tmp6_;
	GeeSortedSet* _tmp7_;
	GeeSortedMap* _tmp8_;
	GeeSortedMap* _tmp15_;
	GeeSortedMap* _tmp16_;
	GeeSortedMap* _tmp17_;
	GeeSortedMap* _tmp18_;
	GeeSortedMap* _tmp19_;
	GeeSortedMap* _tmp20_;
	GeeSortedMap* _tmp21_;
	GeeSortedMap* _tmp22_;
	GeeSortedMap* _tmp23_;
	GeeSortedMap* _tmp24_;
	GeeSortedMap* _tmp25_;
	GeeSortedMap* _tmp26_;
	GeeSortedSet* _tmp27_;
	gpointer _tmp28_;
	gchar* _tmp29_;
	GeeSortedSet* _tmp30_;
	gpointer _tmp31_;
	GeeMapEntry* _tmp32_;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((MapTests*) self)->test_map;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_MAP) ? ((GeeSortedMap*) _tmp0_) : NULL);
	test_sorted_map = _tmp1_;
	_tmp2_ = test_sorted_map;
	_tmp3_ = gee_sorted_map_get_ascending_keys (_tmp2_);
	_tmp4_ = _tmp3_;
	keys = _tmp4_;
	_tmp5_ = test_sorted_map;
	_tmp6_ = gee_sorted_map_get_ascending_entries (_tmp5_);
	_tmp7_ = _tmp6_;
	entries = _tmp7_;
	_tmp8_ = test_sorted_map;
	_vala_assert (_tmp8_ != NULL, "test_sorted_map != null");
	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
		GeeSortedSet* _tmp9_;
		gpointer _tmp10_;
		gchar* _tmp11_;
		_tmp9_ = keys;
		_tmp10_ = gee_sorted_set_last (_tmp9_);
		_tmp11_ = (gchar*) _tmp10_;
		_g_free0 (_tmp11_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
		GeeSortedSet* _tmp12_;
		gpointer _tmp13_;
		GeeMapEntry* _tmp14_;
		_tmp12_ = entries;
		_tmp13_ = gee_sorted_set_last (_tmp12_);
		_tmp14_ = (GeeMapEntry*) _tmp13_;
		_g_object_unref0 (_tmp14_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	_tmp15_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp15_, "one", "one");
	_tmp16_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp16_, "two", "two");
	_tmp17_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp17_, "three", "three");
	_tmp18_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp18_, "four", "four");
	_tmp19_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp19_, "five", "five");
	_tmp20_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp20_, "six", "six");
	_tmp21_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp21_, "seven", "seven");
	_tmp22_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp22_, "eight", "eight");
	_tmp23_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp23_, "nine", "nine");
	_tmp24_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp24_, "ten", "ten");
	_tmp25_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp25_, "eleven", "eleven");
	_tmp26_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp26_, "twelve", "twelve");
	_tmp27_ = keys;
	_tmp28_ = gee_sorted_set_last (_tmp27_);
	_tmp29_ = (gchar*) _tmp28_;
	_vala_assert (g_strcmp0 (_tmp29_, "two") == 0, "keys.last () == \"two\"");
	_g_free0 (_tmp29_);
	_tmp30_ = entries;
	_tmp31_ = gee_sorted_set_last (_tmp30_);
	_tmp32_ = (GeeMapEntry*) _tmp31_;
	map_tests_assert_entry (_tmp32_, "two", "two");
	_g_object_unref0 (_tmp32_);
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	_g_object_unref0 (test_sorted_map);
}

void
gee_sorted_map_tests_test_iterator_at (GeeSortedMapTests* self)
{
	GeeSortedMap* test_sorted_map = NULL;
	GeeMap* _tmp0_;
	GeeSortedMap* _tmp1_;
	GeeSortedSet* keys = NULL;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* _tmp3_;
	GeeSortedSet* entries = NULL;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	GeeMap* _tmp6_;
	GeeMap* _tmp7_;
	GeeMap* _tmp8_;
	GeeIterator* keys_iter = NULL;
	GeeIterator* _tmp9_;
	GeeIterator* _tmp10_;
	GeeIterator* _tmp11_;
	gpointer _tmp12_;
	gchar* _tmp13_;
	GeeIterator* entries_iter = NULL;
	GeeMapEntry* _tmp14_;
	GeeMapEntry* _tmp15_;
	GeeIterator* _tmp16_;
	GeeIterator* _tmp17_;
	GeeIterator* _tmp18_;
	GeeIterator* _tmp19_;
	gpointer _tmp20_;
	GeeMapEntry* _tmp21_;
	GeeIterator* _tmp22_;
	GeeIterator* _tmp23_;
	GeeIterator* _tmp24_;
	gpointer _tmp25_;
	gchar* _tmp26_;
	GeeMapEntry* _tmp27_;
	GeeMapEntry* _tmp28_;
	GeeIterator* _tmp29_;
	GeeIterator* _tmp30_;
	GeeIterator* _tmp31_;
	gpointer _tmp32_;
	GeeMapEntry* _tmp33_;
	GeeIterator* _tmp34_;
	GeeIterator* _tmp35_;
	GeeIterator* _tmp36_;
	gpointer _tmp37_;
	gchar* _tmp38_;
	GeeMapEntry* _tmp39_;
	GeeMapEntry* _tmp40_;
	GeeIterator* _tmp41_;
	GeeIterator* _tmp42_;
	GeeIterator* _tmp43_;
	gpointer _tmp44_;
	GeeMapEntry* _tmp45_;
	GeeIterator* _tmp46_;
	GeeIterator* _tmp47_;
	GeeMapEntry* _tmp48_;
	GeeMapEntry* _tmp49_;
	GeeIterator* _tmp50_;
	GeeIterator* _tmp51_;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((MapTests*) self)->test_map;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_MAP) ? ((GeeSortedMap*) _tmp0_) : NULL);
	test_sorted_map = _tmp1_;
	_tmp2_ = gee_sorted_map_get_ascending_keys (test_sorted_map);
	_tmp3_ = _tmp2_;
	keys = _tmp3_;
	_tmp4_ = gee_sorted_map_get_ascending_entries (test_sorted_map);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	_tmp6_ = ((MapTests*) self)->test_map;
	gee_map_set (_tmp6_, "one", "one");
	_tmp7_ = ((MapTests*) self)->test_map;
	gee_map_set (_tmp7_, "two", "two");
	_tmp8_ = ((MapTests*) self)->test_map;
	gee_map_set (_tmp8_, "three", "three");
	_tmp9_ = gee_sorted_set_iterator_at (keys, "one");
	keys_iter = _tmp9_;
	_tmp10_ = keys_iter;
	_vala_assert (_tmp10_ != NULL, "keys_iter != null");
	_tmp11_ = keys_iter;
	_tmp12_ = gee_iterator_get (_tmp11_);
	_tmp13_ = (gchar*) _tmp12_;
	_vala_assert (g_strcmp0 (_tmp13_, "one") == 0, "keys_iter.get () == \"one\"");
	_g_free0 (_tmp13_);
	_tmp14_ = map_tests_entry_for ("one", "one");
	_tmp15_ = _tmp14_;
	_tmp16_ = gee_sorted_set_iterator_at (entries, _tmp15_);
	_tmp17_ = _tmp16_;
	_g_object_unref0 (_tmp15_);
	entries_iter = _tmp17_;
	_tmp18_ = entries_iter;
	_vala_assert (_tmp18_ != NULL, "entries_iter != null");
	_tmp19_ = entries_iter;
	_tmp20_ = gee_iterator_get (_tmp19_);
	_tmp21_ = (GeeMapEntry*) _tmp20_;
	map_tests_assert_entry (_tmp21_, "one", "one");
	_g_object_unref0 (_tmp21_);
	_tmp22_ = gee_sorted_set_iterator_at (keys, "two");
	_g_object_unref0 (keys_iter);
	keys_iter = _tmp22_;
	_tmp23_ = keys_iter;
	_vala_assert (_tmp23_ != NULL, "keys_iter != null");
	_tmp24_ = keys_iter;
	_tmp25_ = gee_iterator_get (_tmp24_);
	_tmp26_ = (gchar*) _tmp25_;
	_vala_assert (g_strcmp0 (_tmp26_, "two") == 0, "keys_iter.get () == \"two\"");
	_g_free0 (_tmp26_);
	_tmp27_ = map_tests_entry_for ("two", "two");
	_tmp28_ = _tmp27_;
	_tmp29_ = gee_sorted_set_iterator_at (entries, _tmp28_);
	_g_object_unref0 (entries_iter);
	entries_iter = _tmp29_;
	_g_object_unref0 (_tmp28_);
	_tmp30_ = entries_iter;
	_vala_assert (_tmp30_ != NULL, "entries_iter != null");
	_tmp31_ = entries_iter;
	_tmp32_ = gee_iterator_get (_tmp31_);
	_tmp33_ = (GeeMapEntry*) _tmp32_;
	map_tests_assert_entry (_tmp33_, "two", "two");
	_g_object_unref0 (_tmp33_);
	_tmp34_ = gee_sorted_set_iterator_at (keys, "three");
	_g_object_unref0 (keys_iter);
	keys_iter = _tmp34_;
	_tmp35_ = keys_iter;
	_vala_assert (_tmp35_ != NULL, "keys_iter != null");
	_tmp36_ = keys_iter;
	_tmp37_ = gee_iterator_get (_tmp36_);
	_tmp38_ = (gchar*) _tmp37_;
	_vala_assert (g_strcmp0 (_tmp38_, "three") == 0, "keys_iter.get () == \"three\"");
	_g_free0 (_tmp38_);
	_tmp39_ = map_tests_entry_for ("three", "three");
	_tmp40_ = _tmp39_;
	_tmp41_ = gee_sorted_set_iterator_at (entries, _tmp40_);
	_g_object_unref0 (entries_iter);
	entries_iter = _tmp41_;
	_g_object_unref0 (_tmp40_);
	_tmp42_ = entries_iter;
	_vala_assert (_tmp42_ != NULL, "entries_iter != null");
	_tmp43_ = entries_iter;
	_tmp44_ = gee_iterator_get (_tmp43_);
	_tmp45_ = (GeeMapEntry*) _tmp44_;
	map_tests_assert_entry (_tmp45_, "three", "three");
	_g_object_unref0 (_tmp45_);
	_tmp46_ = gee_sorted_set_iterator_at (keys, "zero");
	_g_object_unref0 (keys_iter);
	keys_iter = _tmp46_;
	_tmp47_ = keys_iter;
	_vala_assert (_tmp47_ == NULL, "keys_iter == null");
	_tmp48_ = map_tests_entry_for ("zero", "zero");
	_tmp49_ = _tmp48_;
	_tmp50_ = gee_sorted_set_iterator_at (entries, _tmp49_);
	_g_object_unref0 (entries_iter);
	entries_iter = _tmp50_;
	_g_object_unref0 (_tmp49_);
	_tmp51_ = entries_iter;
	_vala_assert (_tmp51_ == NULL, "entries_iter == null");
	_g_object_unref0 (entries_iter);
	_g_object_unref0 (keys_iter);
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	_g_object_unref0 (test_sorted_map);
}

void
gee_sorted_map_tests_test_lower (GeeSortedMapTests* self)
{
	GeeSortedMap* test_sorted_map = NULL;
	GeeMap* _tmp0_;
	GeeSortedMap* _tmp1_;
	GeeSortedSet* keys = NULL;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* _tmp3_;
	GeeSortedSet* entries = NULL;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gpointer _tmp6_;
	gchar* _tmp7_;
	gpointer _tmp8_;
	gchar* _tmp9_;
	GeeMapEntry* _tmp10_;
	GeeMapEntry* _tmp11_;
	gpointer _tmp12_;
	GeeMapEntry* _tmp13_;
	gpointer _tmp14_;
	gchar* _tmp15_;
	GeeMapEntry* _tmp16_;
	GeeMapEntry* _tmp17_;
	gpointer _tmp18_;
	GeeMapEntry* _tmp19_;
	gpointer _tmp20_;
	gchar* _tmp21_;
	GeeMapEntry* _tmp22_;
	GeeMapEntry* _tmp23_;
	gpointer _tmp24_;
	GeeMapEntry* _tmp25_;
	gpointer _tmp26_;
	gchar* _tmp27_;
	GeeMapEntry* _tmp28_;
	GeeMapEntry* _tmp29_;
	gpointer _tmp30_;
	GeeMapEntry* _tmp31_;
	gpointer _tmp32_;
	gchar* _tmp33_;
	GeeMapEntry* _tmp34_;
	GeeMapEntry* _tmp35_;
	gpointer _tmp36_;
	GeeMapEntry* _tmp37_;
	gpointer _tmp38_;
	gchar* _tmp39_;
	GeeMapEntry* _tmp40_;
	GeeMapEntry* _tmp41_;
	gpointer _tmp42_;
	GeeMapEntry* _tmp43_;
	gpointer _tmp44_;
	gchar* _tmp45_;
	GeeMapEntry* _tmp46_;
	GeeMapEntry* _tmp47_;
	gpointer _tmp48_;
	GeeMapEntry* _tmp49_;
	gpointer _tmp50_;
	gchar* _tmp51_;
	GeeMapEntry* _tmp52_;
	GeeMapEntry* _tmp53_;
	gpointer _tmp54_;
	GeeMapEntry* _tmp55_;
	gpointer _tmp56_;
	gchar* _tmp57_;
	GeeMapEntry* _tmp58_;
	GeeMapEntry* _tmp59_;
	gpointer _tmp60_;
	GeeMapEntry* _tmp61_;
	gpointer _tmp62_;
	gchar* _tmp63_;
	GeeMapEntry* _tmp64_;
	GeeMapEntry* _tmp65_;
	gpointer _tmp66_;
	GeeMapEntry* _tmp67_;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((MapTests*) self)->test_map;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_MAP) ? ((GeeSortedMap*) _tmp0_) : NULL);
	test_sorted_map = _tmp1_;
	_tmp2_ = gee_sorted_map_get_ascending_keys (test_sorted_map);
	_tmp3_ = _tmp2_;
	keys = _tmp3_;
	_tmp4_ = gee_sorted_map_get_ascending_entries (test_sorted_map);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	_tmp6_ = gee_sorted_set_lower (keys, "one");
	_tmp7_ = (gchar*) _tmp6_;
	_vala_assert (_tmp7_ == NULL, "keys.lower (\"one\") == null");
	_g_free0 (_tmp7_);
	gee_map_set ((GeeMap*) test_sorted_map, "one", "one");
	gee_map_set ((GeeMap*) test_sorted_map, "two", "two");
	gee_map_set ((GeeMap*) test_sorted_map, "three", "three");
	gee_map_set ((GeeMap*) test_sorted_map, "four", "four");
	gee_map_set ((GeeMap*) test_sorted_map, "five", "five");
	gee_map_set ((GeeMap*) test_sorted_map, "six", "six");
	_tmp8_ = gee_sorted_set_lower (keys, "one");
	_tmp9_ = (gchar*) _tmp8_;
	_vala_assert (g_strcmp0 (_tmp9_, "four") == 0, "keys.lower (\"one\") == \"four\"");
	_g_free0 (_tmp9_);
	_tmp10_ = map_tests_entry_for ("one", "one");
	_tmp11_ = _tmp10_;
	_tmp12_ = gee_sorted_set_lower (entries, _tmp11_);
	_tmp13_ = (GeeMapEntry*) _tmp12_;
	map_tests_assert_entry (_tmp13_, "four", "four");
	_g_object_unref0 (_tmp13_);
	_g_object_unref0 (_tmp11_);
	_tmp14_ = gee_sorted_set_lower (keys, "o");
	_tmp15_ = (gchar*) _tmp14_;
	_vala_assert (g_strcmp0 (_tmp15_, "four") == 0, "keys.lower (\"o\") == \"four\"");
	_g_free0 (_tmp15_);
	_tmp16_ = map_tests_entry_for ("o", "one");
	_tmp17_ = _tmp16_;
	_tmp18_ = gee_sorted_set_lower (entries, _tmp17_);
	_tmp19_ = (GeeMapEntry*) _tmp18_;
	map_tests_assert_entry (_tmp19_, "four", "four");
	_g_object_unref0 (_tmp19_);
	_g_object_unref0 (_tmp17_);
	_tmp20_ = gee_sorted_set_lower (keys, "two");
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (g_strcmp0 (_tmp21_, "three") == 0, "keys.lower (\"two\") == \"three\"");
	_g_free0 (_tmp21_);
	_tmp22_ = map_tests_entry_for ("two", "two");
	_tmp23_ = _tmp22_;
	_tmp24_ = gee_sorted_set_lower (entries, _tmp23_);
	_tmp25_ = (GeeMapEntry*) _tmp24_;
	map_tests_assert_entry (_tmp25_, "three", "three");
	_g_object_unref0 (_tmp25_);
	_g_object_unref0 (_tmp23_);
	_tmp26_ = gee_sorted_set_lower (keys, "t");
	_tmp27_ = (gchar*) _tmp26_;
	_vala_assert (g_strcmp0 (_tmp27_, "six") == 0, "keys.lower (\"t\") == \"six\"");
	_g_free0 (_tmp27_);
	_tmp28_ = map_tests_entry_for ("t", "two");
	_tmp29_ = _tmp28_;
	_tmp30_ = gee_sorted_set_lower (entries, _tmp29_);
	_tmp31_ = (GeeMapEntry*) _tmp30_;
	map_tests_assert_entry (_tmp31_, "six", "six");
	_g_object_unref0 (_tmp31_);
	_g_object_unref0 (_tmp29_);
	_tmp32_ = gee_sorted_set_lower (keys, "three");
	_tmp33_ = (gchar*) _tmp32_;
	_vala_assert (g_strcmp0 (_tmp33_, "six") == 0, "keys.lower (\"three\") == \"six\"");
	_g_free0 (_tmp33_);
	_tmp34_ = map_tests_entry_for ("three", "three");
	_tmp35_ = _tmp34_;
	_tmp36_ = gee_sorted_set_lower (entries, _tmp35_);
	_tmp37_ = (GeeMapEntry*) _tmp36_;
	map_tests_assert_entry (_tmp37_, "six", "six");
	_g_object_unref0 (_tmp37_);
	_g_object_unref0 (_tmp35_);
	_tmp38_ = gee_sorted_set_lower (keys, "four");
	_tmp39_ = (gchar*) _tmp38_;
	_vala_assert (g_strcmp0 (_tmp39_, "five") == 0, "keys.lower (\"four\") == \"five\"");
	_g_free0 (_tmp39_);
	_tmp40_ = map_tests_entry_for ("four", "four");
	_tmp41_ = _tmp40_;
	_tmp42_ = gee_sorted_set_lower (entries, _tmp41_);
	_tmp43_ = (GeeMapEntry*) _tmp42_;
	map_tests_assert_entry (_tmp43_, "five", "five");
	_g_object_unref0 (_tmp43_);
	_g_object_unref0 (_tmp41_);
	_tmp44_ = gee_sorted_set_lower (keys, "f");
	_tmp45_ = (gchar*) _tmp44_;
	_vala_assert (_tmp45_ == NULL, "keys.lower (\"f\") == null");
	_g_free0 (_tmp45_);
	_tmp46_ = map_tests_entry_for ("f", "four");
	_tmp47_ = _tmp46_;
	_tmp48_ = gee_sorted_set_lower (entries, _tmp47_);
	_tmp49_ = (GeeMapEntry*) _tmp48_;
	_vala_assert (_tmp49_ == NULL, "entries.lower (entry_for (\"f\", \"four\")) == null");
	_g_object_unref0 (_tmp49_);
	_g_object_unref0 (_tmp47_);
	_tmp50_ = gee_sorted_set_lower (keys, "five");
	_tmp51_ = (gchar*) _tmp50_;
	_vala_assert (_tmp51_ == NULL, "keys.lower (\"five\") == null");
	_g_free0 (_tmp51_);
	_tmp52_ = map_tests_entry_for ("five", "five");
	_tmp53_ = _tmp52_;
	_tmp54_ = gee_sorted_set_lower (entries, _tmp53_);
	_tmp55_ = (GeeMapEntry*) _tmp54_;
	_vala_assert (_tmp55_ == NULL, "entries.lower (entry_for (\"five\", \"five\")) == null");
	_g_object_unref0 (_tmp55_);
	_g_object_unref0 (_tmp53_);
	_tmp56_ = gee_sorted_set_lower (keys, "six");
	_tmp57_ = (gchar*) _tmp56_;
	_vala_assert (g_strcmp0 (_tmp57_, "one") == 0, "keys.lower (\"six\") == \"one\"");
	_g_free0 (_tmp57_);
	_tmp58_ = map_tests_entry_for ("six", "six");
	_tmp59_ = _tmp58_;
	_tmp60_ = gee_sorted_set_lower (entries, _tmp59_);
	_tmp61_ = (GeeMapEntry*) _tmp60_;
	map_tests_assert_entry (_tmp61_, "one", "one");
	_g_object_unref0 (_tmp61_);
	_g_object_unref0 (_tmp59_);
	_tmp62_ = gee_sorted_set_lower (keys, "s");
	_tmp63_ = (gchar*) _tmp62_;
	_vala_assert (g_strcmp0 (_tmp63_, "one") == 0, "keys.lower (\"s\") == \"one\"");
	_g_free0 (_tmp63_);
	_tmp64_ = map_tests_entry_for ("s", "six");
	_tmp65_ = _tmp64_;
	_tmp66_ = gee_sorted_set_lower (entries, _tmp65_);
	_tmp67_ = (GeeMapEntry*) _tmp66_;
	map_tests_assert_entry (_tmp67_, "one", "one");
	_g_object_unref0 (_tmp67_);
	_g_object_unref0 (_tmp65_);
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	_g_object_unref0 (test_sorted_map);
}

void
gee_sorted_map_tests_test_higher (GeeSortedMapTests* self)
{
	GeeSortedMap* test_sorted_map = NULL;
	GeeMap* _tmp0_;
	GeeSortedMap* _tmp1_;
	GeeSortedSet* keys = NULL;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* _tmp3_;
	GeeSortedSet* entries = NULL;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gpointer _tmp6_;
	gchar* _tmp7_;
	gpointer _tmp8_;
	gchar* _tmp9_;
	GeeMapEntry* _tmp10_;
	GeeMapEntry* _tmp11_;
	gpointer _tmp12_;
	GeeMapEntry* _tmp13_;
	gpointer _tmp14_;
	gchar* _tmp15_;
	GeeMapEntry* _tmp16_;
	GeeMapEntry* _tmp17_;
	gpointer _tmp18_;
	GeeMapEntry* _tmp19_;
	gpointer _tmp20_;
	gchar* _tmp21_;
	GeeMapEntry* _tmp22_;
	GeeMapEntry* _tmp23_;
	gpointer _tmp24_;
	GeeMapEntry* _tmp25_;
	gpointer _tmp26_;
	gchar* _tmp27_;
	GeeMapEntry* _tmp28_;
	GeeMapEntry* _tmp29_;
	gpointer _tmp30_;
	GeeMapEntry* _tmp31_;
	gpointer _tmp32_;
	gchar* _tmp33_;
	GeeMapEntry* _tmp34_;
	GeeMapEntry* _tmp35_;
	gpointer _tmp36_;
	GeeMapEntry* _tmp37_;
	gpointer _tmp38_;
	gchar* _tmp39_;
	GeeMapEntry* _tmp40_;
	GeeMapEntry* _tmp41_;
	gpointer _tmp42_;
	GeeMapEntry* _tmp43_;
	gpointer _tmp44_;
	gchar* _tmp45_;
	GeeMapEntry* _tmp46_;
	GeeMapEntry* _tmp47_;
	gpointer _tmp48_;
	GeeMapEntry* _tmp49_;
	gpointer _tmp50_;
	gchar* _tmp51_;
	GeeMapEntry* _tmp52_;
	GeeMapEntry* _tmp53_;
	gpointer _tmp54_;
	GeeMapEntry* _tmp55_;
	gpointer _tmp56_;
	gchar* _tmp57_;
	GeeMapEntry* _tmp58_;
	GeeMapEntry* _tmp59_;
	gpointer _tmp60_;
	GeeMapEntry* _tmp61_;
	gpointer _tmp62_;
	gchar* _tmp63_;
	GeeMapEntry* _tmp64_;
	GeeMapEntry* _tmp65_;
	gpointer _tmp66_;
	GeeMapEntry* _tmp67_;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((MapTests*) self)->test_map;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_MAP) ? ((GeeSortedMap*) _tmp0_) : NULL);
	test_sorted_map = _tmp1_;
	_tmp2_ = gee_sorted_map_get_ascending_keys (test_sorted_map);
	_tmp3_ = _tmp2_;
	keys = _tmp3_;
	_tmp4_ = gee_sorted_map_get_ascending_entries (test_sorted_map);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	_tmp6_ = gee_sorted_set_higher (keys, "one");
	_tmp7_ = (gchar*) _tmp6_;
	_vala_assert (_tmp7_ == NULL, "keys.higher (\"one\") == null");
	_g_free0 (_tmp7_);
	gee_map_set ((GeeMap*) test_sorted_map, "one", "one");
	gee_map_set ((GeeMap*) test_sorted_map, "two", "two");
	gee_map_set ((GeeMap*) test_sorted_map, "three", "three");
	gee_map_set ((GeeMap*) test_sorted_map, "four", "four");
	gee_map_set ((GeeMap*) test_sorted_map, "five", "five");
	gee_map_set ((GeeMap*) test_sorted_map, "six", "six");
	_tmp8_ = gee_sorted_set_higher (keys, "one");
	_tmp9_ = (gchar*) _tmp8_;
	_vala_assert (g_strcmp0 (_tmp9_, "six") == 0, "keys.higher (\"one\") == \"six\"");
	_g_free0 (_tmp9_);
	_tmp10_ = map_tests_entry_for ("one", "one");
	_tmp11_ = _tmp10_;
	_tmp12_ = gee_sorted_set_higher (entries, _tmp11_);
	_tmp13_ = (GeeMapEntry*) _tmp12_;
	map_tests_assert_entry (_tmp13_, "six", "six");
	_g_object_unref0 (_tmp13_);
	_g_object_unref0 (_tmp11_);
	_tmp14_ = gee_sorted_set_higher (keys, "o");
	_tmp15_ = (gchar*) _tmp14_;
	_vala_assert (g_strcmp0 (_tmp15_, "one") == 0, "keys.higher (\"o\") == \"one\"");
	_g_free0 (_tmp15_);
	_tmp16_ = map_tests_entry_for ("o", "one");
	_tmp17_ = _tmp16_;
	_tmp18_ = gee_sorted_set_higher (entries, _tmp17_);
	_tmp19_ = (GeeMapEntry*) _tmp18_;
	map_tests_assert_entry (_tmp19_, "one", "one");
	_g_object_unref0 (_tmp19_);
	_g_object_unref0 (_tmp17_);
	_tmp20_ = gee_sorted_set_higher (keys, "two");
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (_tmp21_ == NULL, "keys.higher (\"two\") == null");
	_g_free0 (_tmp21_);
	_tmp22_ = map_tests_entry_for ("two", "two");
	_tmp23_ = _tmp22_;
	_tmp24_ = gee_sorted_set_higher (entries, _tmp23_);
	_tmp25_ = (GeeMapEntry*) _tmp24_;
	_vala_assert (_tmp25_ == NULL, "entries.higher (entry_for (\"two\", \"two\")) == null");
	_g_object_unref0 (_tmp25_);
	_g_object_unref0 (_tmp23_);
	_tmp26_ = gee_sorted_set_higher (keys, "t");
	_tmp27_ = (gchar*) _tmp26_;
	_vala_assert (g_strcmp0 (_tmp27_, "three") == 0, "keys.higher (\"t\") == \"three\"");
	_g_free0 (_tmp27_);
	_tmp28_ = map_tests_entry_for ("t", "two");
	_tmp29_ = _tmp28_;
	_tmp30_ = gee_sorted_set_higher (entries, _tmp29_);
	_tmp31_ = (GeeMapEntry*) _tmp30_;
	map_tests_assert_entry (_tmp31_, "three", "three");
	_g_object_unref0 (_tmp31_);
	_g_object_unref0 (_tmp29_);
	_tmp32_ = gee_sorted_set_higher (keys, "three");
	_tmp33_ = (gchar*) _tmp32_;
	_vala_assert (g_strcmp0 (_tmp33_, "two") == 0, "keys.higher (\"three\") == \"two\"");
	_g_free0 (_tmp33_);
	_tmp34_ = map_tests_entry_for ("three", "three");
	_tmp35_ = _tmp34_;
	_tmp36_ = gee_sorted_set_higher (entries, _tmp35_);
	_tmp37_ = (GeeMapEntry*) _tmp36_;
	map_tests_assert_entry (_tmp37_, "two", "two");
	_g_object_unref0 (_tmp37_);
	_g_object_unref0 (_tmp35_);
	_tmp38_ = gee_sorted_set_higher (keys, "four");
	_tmp39_ = (gchar*) _tmp38_;
	_vala_assert (g_strcmp0 (_tmp39_, "one") == 0, "keys.higher (\"four\") == \"one\"");
	_g_free0 (_tmp39_);
	_tmp40_ = map_tests_entry_for ("four", "four");
	_tmp41_ = _tmp40_;
	_tmp42_ = gee_sorted_set_higher (entries, _tmp41_);
	_tmp43_ = (GeeMapEntry*) _tmp42_;
	map_tests_assert_entry (_tmp43_, "one", "one");
	_g_object_unref0 (_tmp43_);
	_g_object_unref0 (_tmp41_);
	_tmp44_ = gee_sorted_set_higher (keys, "f");
	_tmp45_ = (gchar*) _tmp44_;
	_vala_assert (g_strcmp0 (_tmp45_, "five") == 0, "keys.higher (\"f\") == \"five\"");
	_g_free0 (_tmp45_);
	_tmp46_ = map_tests_entry_for ("f", "four");
	_tmp47_ = _tmp46_;
	_tmp48_ = gee_sorted_set_higher (entries, _tmp47_);
	_tmp49_ = (GeeMapEntry*) _tmp48_;
	map_tests_assert_entry (_tmp49_, "five", "five");
	_g_object_unref0 (_tmp49_);
	_g_object_unref0 (_tmp47_);
	_tmp50_ = gee_sorted_set_higher (keys, "five");
	_tmp51_ = (gchar*) _tmp50_;
	_vala_assert (g_strcmp0 (_tmp51_, "four") == 0, "keys.higher (\"five\") == \"four\"");
	_g_free0 (_tmp51_);
	_tmp52_ = map_tests_entry_for ("five", "five");
	_tmp53_ = _tmp52_;
	_tmp54_ = gee_sorted_set_higher (entries, _tmp53_);
	_tmp55_ = (GeeMapEntry*) _tmp54_;
	map_tests_assert_entry (_tmp55_, "four", "four");
	_g_object_unref0 (_tmp55_);
	_g_object_unref0 (_tmp53_);
	_tmp56_ = gee_sorted_set_higher (keys, "six");
	_tmp57_ = (gchar*) _tmp56_;
	_vala_assert (g_strcmp0 (_tmp57_, "three") == 0, "keys.higher (\"six\") == \"three\"");
	_g_free0 (_tmp57_);
	_tmp58_ = map_tests_entry_for ("six", "six");
	_tmp59_ = _tmp58_;
	_tmp60_ = gee_sorted_set_higher (entries, _tmp59_);
	_tmp61_ = (GeeMapEntry*) _tmp60_;
	map_tests_assert_entry (_tmp61_, "three", "three");
	_g_object_unref0 (_tmp61_);
	_g_object_unref0 (_tmp59_);
	_tmp62_ = gee_sorted_set_higher (keys, "s");
	_tmp63_ = (gchar*) _tmp62_;
	_vala_assert (g_strcmp0 (_tmp63_, "six") == 0, "keys.higher (\"s\") == \"six\"");
	_g_free0 (_tmp63_);
	_tmp64_ = map_tests_entry_for ("s", "six");
	_tmp65_ = _tmp64_;
	_tmp66_ = gee_sorted_set_higher (entries, _tmp65_);
	_tmp67_ = (GeeMapEntry*) _tmp66_;
	map_tests_assert_entry (_tmp67_, "six", "six");
	_g_object_unref0 (_tmp67_);
	_g_object_unref0 (_tmp65_);
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	_g_object_unref0 (test_sorted_map);
}

void
gee_sorted_map_tests_test_floor (GeeSortedMapTests* self)
{
	GeeSortedMap* test_sorted_map = NULL;
	GeeMap* _tmp0_;
	GeeSortedMap* _tmp1_;
	GeeSortedSet* keys = NULL;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* _tmp3_;
	GeeSortedSet* entries = NULL;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gpointer _tmp6_;
	gchar* _tmp7_;
	gpointer _tmp8_;
	gchar* _tmp9_;
	GeeMapEntry* _tmp10_;
	GeeMapEntry* _tmp11_;
	gpointer _tmp12_;
	GeeMapEntry* _tmp13_;
	gpointer _tmp14_;
	gchar* _tmp15_;
	GeeMapEntry* _tmp16_;
	GeeMapEntry* _tmp17_;
	gpointer _tmp18_;
	GeeMapEntry* _tmp19_;
	gpointer _tmp20_;
	gchar* _tmp21_;
	GeeMapEntry* _tmp22_;
	GeeMapEntry* _tmp23_;
	gpointer _tmp24_;
	GeeMapEntry* _tmp25_;
	gpointer _tmp26_;
	gchar* _tmp27_;
	GeeMapEntry* _tmp28_;
	GeeMapEntry* _tmp29_;
	gpointer _tmp30_;
	GeeMapEntry* _tmp31_;
	gpointer _tmp32_;
	gchar* _tmp33_;
	GeeMapEntry* _tmp34_;
	GeeMapEntry* _tmp35_;
	gpointer _tmp36_;
	GeeMapEntry* _tmp37_;
	gpointer _tmp38_;
	gchar* _tmp39_;
	GeeMapEntry* _tmp40_;
	GeeMapEntry* _tmp41_;
	gpointer _tmp42_;
	GeeMapEntry* _tmp43_;
	gpointer _tmp44_;
	gchar* _tmp45_;
	GeeMapEntry* _tmp46_;
	GeeMapEntry* _tmp47_;
	gpointer _tmp48_;
	GeeMapEntry* _tmp49_;
	gpointer _tmp50_;
	gchar* _tmp51_;
	GeeMapEntry* _tmp52_;
	GeeMapEntry* _tmp53_;
	gpointer _tmp54_;
	GeeMapEntry* _tmp55_;
	gpointer _tmp56_;
	gchar* _tmp57_;
	GeeMapEntry* _tmp58_;
	GeeMapEntry* _tmp59_;
	gpointer _tmp60_;
	GeeMapEntry* _tmp61_;
	gpointer _tmp62_;
	gchar* _tmp63_;
	GeeMapEntry* _tmp64_;
	GeeMapEntry* _tmp65_;
	gpointer _tmp66_;
	GeeMapEntry* _tmp67_;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((MapTests*) self)->test_map;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_MAP) ? ((GeeSortedMap*) _tmp0_) : NULL);
	test_sorted_map = _tmp1_;
	_tmp2_ = gee_sorted_map_get_ascending_keys (test_sorted_map);
	_tmp3_ = _tmp2_;
	keys = _tmp3_;
	_tmp4_ = gee_sorted_map_get_ascending_entries (test_sorted_map);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	_tmp6_ = gee_sorted_set_floor (keys, "one");
	_tmp7_ = (gchar*) _tmp6_;
	_vala_assert (_tmp7_ == NULL, "keys.floor (\"one\") == null");
	_g_free0 (_tmp7_);
	gee_map_set ((GeeMap*) test_sorted_map, "one", "one");
	gee_map_set ((GeeMap*) test_sorted_map, "two", "two");
	gee_map_set ((GeeMap*) test_sorted_map, "three", "three");
	gee_map_set ((GeeMap*) test_sorted_map, "four", "four");
	gee_map_set ((GeeMap*) test_sorted_map, "five", "five");
	gee_map_set ((GeeMap*) test_sorted_map, "six", "six");
	_tmp8_ = gee_sorted_set_floor (keys, "one");
	_tmp9_ = (gchar*) _tmp8_;
	_vala_assert (g_strcmp0 (_tmp9_, "one") == 0, "keys.floor (\"one\") == \"one\"");
	_g_free0 (_tmp9_);
	_tmp10_ = map_tests_entry_for ("one", "one");
	_tmp11_ = _tmp10_;
	_tmp12_ = gee_sorted_set_floor (entries, _tmp11_);
	_tmp13_ = (GeeMapEntry*) _tmp12_;
	map_tests_assert_entry (_tmp13_, "one", "one");
	_g_object_unref0 (_tmp13_);
	_g_object_unref0 (_tmp11_);
	_tmp14_ = gee_sorted_set_floor (keys, "o");
	_tmp15_ = (gchar*) _tmp14_;
	_vala_assert (g_strcmp0 (_tmp15_, "four") == 0, "keys.floor (\"o\") == \"four\"");
	_g_free0 (_tmp15_);
	_tmp16_ = map_tests_entry_for ("o", "one");
	_tmp17_ = _tmp16_;
	_tmp18_ = gee_sorted_set_floor (entries, _tmp17_);
	_tmp19_ = (GeeMapEntry*) _tmp18_;
	map_tests_assert_entry (_tmp19_, "four", "four");
	_g_object_unref0 (_tmp19_);
	_g_object_unref0 (_tmp17_);
	_tmp20_ = gee_sorted_set_floor (keys, "two");
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (g_strcmp0 (_tmp21_, "two") == 0, "keys.floor (\"two\") == \"two\"");
	_g_free0 (_tmp21_);
	_tmp22_ = map_tests_entry_for ("two", "two");
	_tmp23_ = _tmp22_;
	_tmp24_ = gee_sorted_set_floor (entries, _tmp23_);
	_tmp25_ = (GeeMapEntry*) _tmp24_;
	map_tests_assert_entry (_tmp25_, "two", "two");
	_g_object_unref0 (_tmp25_);
	_g_object_unref0 (_tmp23_);
	_tmp26_ = gee_sorted_set_floor (keys, "t");
	_tmp27_ = (gchar*) _tmp26_;
	_vala_assert (g_strcmp0 (_tmp27_, "six") == 0, "keys.floor (\"t\") == \"six\"");
	_g_free0 (_tmp27_);
	_tmp28_ = map_tests_entry_for ("t", "two");
	_tmp29_ = _tmp28_;
	_tmp30_ = gee_sorted_set_floor (entries, _tmp29_);
	_tmp31_ = (GeeMapEntry*) _tmp30_;
	map_tests_assert_entry (_tmp31_, "six", "six");
	_g_object_unref0 (_tmp31_);
	_g_object_unref0 (_tmp29_);
	_tmp32_ = gee_sorted_set_floor (keys, "three");
	_tmp33_ = (gchar*) _tmp32_;
	_vala_assert (g_strcmp0 (_tmp33_, "three") == 0, "keys.floor (\"three\") == \"three\"");
	_g_free0 (_tmp33_);
	_tmp34_ = map_tests_entry_for ("three", "three");
	_tmp35_ = _tmp34_;
	_tmp36_ = gee_sorted_set_floor (entries, _tmp35_);
	_tmp37_ = (GeeMapEntry*) _tmp36_;
	map_tests_assert_entry (_tmp37_, "three", "three");
	_g_object_unref0 (_tmp37_);
	_g_object_unref0 (_tmp35_);
	_tmp38_ = gee_sorted_set_floor (keys, "four");
	_tmp39_ = (gchar*) _tmp38_;
	_vala_assert (g_strcmp0 (_tmp39_, "four") == 0, "keys.floor (\"four\") == \"four\"");
	_g_free0 (_tmp39_);
	_tmp40_ = map_tests_entry_for ("four", "four");
	_tmp41_ = _tmp40_;
	_tmp42_ = gee_sorted_set_floor (entries, _tmp41_);
	_tmp43_ = (GeeMapEntry*) _tmp42_;
	map_tests_assert_entry (_tmp43_, "four", "four");
	_g_object_unref0 (_tmp43_);
	_g_object_unref0 (_tmp41_);
	_tmp44_ = gee_sorted_set_floor (keys, "f");
	_tmp45_ = (gchar*) _tmp44_;
	_vala_assert (_tmp45_ == NULL, "keys.floor (\"f\") == null");
	_g_free0 (_tmp45_);
	_tmp46_ = map_tests_entry_for ("f", "four");
	_tmp47_ = _tmp46_;
	_tmp48_ = gee_sorted_set_floor (entries, _tmp47_);
	_tmp49_ = (GeeMapEntry*) _tmp48_;
	_vala_assert (_tmp49_ == NULL, "entries.floor (entry_for (\"f\", \"four\")) == null");
	_g_object_unref0 (_tmp49_);
	_g_object_unref0 (_tmp47_);
	_tmp50_ = gee_sorted_set_floor (keys, "five");
	_tmp51_ = (gchar*) _tmp50_;
	_vala_assert (g_strcmp0 (_tmp51_, "five") == 0, "keys.floor (\"five\") == \"five\"");
	_g_free0 (_tmp51_);
	_tmp52_ = map_tests_entry_for ("five", "five");
	_tmp53_ = _tmp52_;
	_tmp54_ = gee_sorted_set_floor (entries, _tmp53_);
	_tmp55_ = (GeeMapEntry*) _tmp54_;
	map_tests_assert_entry (_tmp55_, "five", "five");
	_g_object_unref0 (_tmp55_);
	_g_object_unref0 (_tmp53_);
	_tmp56_ = gee_sorted_set_floor (keys, "six");
	_tmp57_ = (gchar*) _tmp56_;
	_vala_assert (g_strcmp0 (_tmp57_, "six") == 0, "keys.floor (\"six\") == \"six\"");
	_g_free0 (_tmp57_);
	_tmp58_ = map_tests_entry_for ("six", "six");
	_tmp59_ = _tmp58_;
	_tmp60_ = gee_sorted_set_floor (entries, _tmp59_);
	_tmp61_ = (GeeMapEntry*) _tmp60_;
	map_tests_assert_entry (_tmp61_, "six", "six");
	_g_object_unref0 (_tmp61_);
	_g_object_unref0 (_tmp59_);
	_tmp62_ = gee_sorted_set_floor (keys, "s");
	_tmp63_ = (gchar*) _tmp62_;
	_vala_assert (g_strcmp0 (_tmp63_, "one") == 0, "keys.floor (\"s\") == \"one\"");
	_g_free0 (_tmp63_);
	_tmp64_ = map_tests_entry_for ("s", "six");
	_tmp65_ = _tmp64_;
	_tmp66_ = gee_sorted_set_floor (entries, _tmp65_);
	_tmp67_ = (GeeMapEntry*) _tmp66_;
	map_tests_assert_entry (_tmp67_, "one", "one");
	_g_object_unref0 (_tmp67_);
	_g_object_unref0 (_tmp65_);
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	_g_object_unref0 (test_sorted_map);
}

void
gee_sorted_map_tests_test_ceil (GeeSortedMapTests* self)
{
	GeeSortedMap* test_sorted_map = NULL;
	GeeMap* _tmp0_;
	GeeSortedMap* _tmp1_;
	GeeSortedSet* keys = NULL;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* _tmp3_;
	GeeSortedSet* entries = NULL;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gpointer _tmp6_;
	gchar* _tmp7_;
	gpointer _tmp8_;
	gchar* _tmp9_;
	GeeMapEntry* _tmp10_;
	GeeMapEntry* _tmp11_;
	gpointer _tmp12_;
	GeeMapEntry* _tmp13_;
	gpointer _tmp14_;
	gchar* _tmp15_;
	GeeMapEntry* _tmp16_;
	GeeMapEntry* _tmp17_;
	gpointer _tmp18_;
	GeeMapEntry* _tmp19_;
	gpointer _tmp20_;
	gchar* _tmp21_;
	GeeMapEntry* _tmp22_;
	GeeMapEntry* _tmp23_;
	gpointer _tmp24_;
	GeeMapEntry* _tmp25_;
	gpointer _tmp26_;
	gchar* _tmp27_;
	GeeMapEntry* _tmp28_;
	GeeMapEntry* _tmp29_;
	gpointer _tmp30_;
	GeeMapEntry* _tmp31_;
	gpointer _tmp32_;
	gchar* _tmp33_;
	GeeMapEntry* _tmp34_;
	GeeMapEntry* _tmp35_;
	gpointer _tmp36_;
	GeeMapEntry* _tmp37_;
	gpointer _tmp38_;
	gchar* _tmp39_;
	GeeMapEntry* _tmp40_;
	GeeMapEntry* _tmp41_;
	gpointer _tmp42_;
	GeeMapEntry* _tmp43_;
	gpointer _tmp44_;
	gchar* _tmp45_;
	GeeMapEntry* _tmp46_;
	GeeMapEntry* _tmp47_;
	gpointer _tmp48_;
	GeeMapEntry* _tmp49_;
	gpointer _tmp50_;
	gchar* _tmp51_;
	GeeMapEntry* _tmp52_;
	GeeMapEntry* _tmp53_;
	gpointer _tmp54_;
	GeeMapEntry* _tmp55_;
	gpointer _tmp56_;
	gchar* _tmp57_;
	GeeMapEntry* _tmp58_;
	GeeMapEntry* _tmp59_;
	gpointer _tmp60_;
	GeeMapEntry* _tmp61_;
	gpointer _tmp62_;
	gchar* _tmp63_;
	GeeMapEntry* _tmp64_;
	GeeMapEntry* _tmp65_;
	gpointer _tmp66_;
	GeeMapEntry* _tmp67_;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((MapTests*) self)->test_map;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_MAP) ? ((GeeSortedMap*) _tmp0_) : NULL);
	test_sorted_map = _tmp1_;
	_tmp2_ = gee_sorted_map_get_ascending_keys (test_sorted_map);
	_tmp3_ = _tmp2_;
	keys = _tmp3_;
	_tmp4_ = gee_sorted_map_get_ascending_entries (test_sorted_map);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	_tmp6_ = gee_sorted_set_ceil (keys, "one");
	_tmp7_ = (gchar*) _tmp6_;
	_vala_assert (_tmp7_ == NULL, "keys.ceil (\"one\") == null");
	_g_free0 (_tmp7_);
	gee_map_set ((GeeMap*) test_sorted_map, "one", "one");
	gee_map_set ((GeeMap*) test_sorted_map, "two", "two");
	gee_map_set ((GeeMap*) test_sorted_map, "three", "three");
	gee_map_set ((GeeMap*) test_sorted_map, "four", "four");
	gee_map_set ((GeeMap*) test_sorted_map, "five", "five");
	gee_map_set ((GeeMap*) test_sorted_map, "six", "six");
	_tmp8_ = gee_sorted_set_ceil (keys, "one");
	_tmp9_ = (gchar*) _tmp8_;
	_vala_assert (g_strcmp0 (_tmp9_, "one") == 0, "keys.ceil (\"one\") == \"one\"");
	_g_free0 (_tmp9_);
	_tmp10_ = map_tests_entry_for ("one", "one");
	_tmp11_ = _tmp10_;
	_tmp12_ = gee_sorted_set_ceil (entries, _tmp11_);
	_tmp13_ = (GeeMapEntry*) _tmp12_;
	map_tests_assert_entry (_tmp13_, "one", "one");
	_g_object_unref0 (_tmp13_);
	_g_object_unref0 (_tmp11_);
	_tmp14_ = gee_sorted_set_ceil (keys, "o");
	_tmp15_ = (gchar*) _tmp14_;
	_vala_assert (g_strcmp0 (_tmp15_, "one") == 0, "keys.ceil (\"o\") == \"one\"");
	_g_free0 (_tmp15_);
	_tmp16_ = map_tests_entry_for ("o", "one");
	_tmp17_ = _tmp16_;
	_tmp18_ = gee_sorted_set_ceil (entries, _tmp17_);
	_tmp19_ = (GeeMapEntry*) _tmp18_;
	map_tests_assert_entry (_tmp19_, "one", "one");
	_g_object_unref0 (_tmp19_);
	_g_object_unref0 (_tmp17_);
	_tmp20_ = gee_sorted_set_ceil (keys, "two");
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (g_strcmp0 (_tmp21_, "two") == 0, "keys.ceil (\"two\") == \"two\"");
	_g_free0 (_tmp21_);
	_tmp22_ = map_tests_entry_for ("two", "two");
	_tmp23_ = _tmp22_;
	_tmp24_ = gee_sorted_set_ceil (entries, _tmp23_);
	_tmp25_ = (GeeMapEntry*) _tmp24_;
	map_tests_assert_entry (_tmp25_, "two", "two");
	_g_object_unref0 (_tmp25_);
	_g_object_unref0 (_tmp23_);
	_tmp26_ = gee_sorted_set_ceil (keys, "t");
	_tmp27_ = (gchar*) _tmp26_;
	_vala_assert (g_strcmp0 (_tmp27_, "three") == 0, "keys.ceil (\"t\") == \"three\"");
	_g_free0 (_tmp27_);
	_tmp28_ = map_tests_entry_for ("t", "two");
	_tmp29_ = _tmp28_;
	_tmp30_ = gee_sorted_set_ceil (entries, _tmp29_);
	_tmp31_ = (GeeMapEntry*) _tmp30_;
	map_tests_assert_entry (_tmp31_, "three", "three");
	_g_object_unref0 (_tmp31_);
	_g_object_unref0 (_tmp29_);
	_tmp32_ = gee_sorted_set_ceil (keys, "three");
	_tmp33_ = (gchar*) _tmp32_;
	_vala_assert (g_strcmp0 (_tmp33_, "three") == 0, "keys.ceil (\"three\") == \"three\"");
	_g_free0 (_tmp33_);
	_tmp34_ = map_tests_entry_for ("three", "three");
	_tmp35_ = _tmp34_;
	_tmp36_ = gee_sorted_set_ceil (entries, _tmp35_);
	_tmp37_ = (GeeMapEntry*) _tmp36_;
	map_tests_assert_entry (_tmp37_, "three", "three");
	_g_object_unref0 (_tmp37_);
	_g_object_unref0 (_tmp35_);
	_tmp38_ = gee_sorted_set_ceil (keys, "four");
	_tmp39_ = (gchar*) _tmp38_;
	_vala_assert (g_strcmp0 (_tmp39_, "four") == 0, "keys.ceil (\"four\") == \"four\"");
	_g_free0 (_tmp39_);
	_tmp40_ = map_tests_entry_for ("four", "four");
	_tmp41_ = _tmp40_;
	_tmp42_ = gee_sorted_set_ceil (entries, _tmp41_);
	_tmp43_ = (GeeMapEntry*) _tmp42_;
	map_tests_assert_entry (_tmp43_, "four", "four");
	_g_object_unref0 (_tmp43_);
	_g_object_unref0 (_tmp41_);
	_tmp44_ = gee_sorted_set_ceil (keys, "f");
	_tmp45_ = (gchar*) _tmp44_;
	_vala_assert (g_strcmp0 (_tmp45_, "five") == 0, "keys.ceil (\"f\") == \"five\"");
	_g_free0 (_tmp45_);
	_tmp46_ = map_tests_entry_for ("f", "four");
	_tmp47_ = _tmp46_;
	_tmp48_ = gee_sorted_set_ceil (entries, _tmp47_);
	_tmp49_ = (GeeMapEntry*) _tmp48_;
	map_tests_assert_entry (_tmp49_, "five", "five");
	_g_object_unref0 (_tmp49_);
	_g_object_unref0 (_tmp47_);
	_tmp50_ = gee_sorted_set_ceil (keys, "five");
	_tmp51_ = (gchar*) _tmp50_;
	_vala_assert (g_strcmp0 (_tmp51_, "five") == 0, "keys.ceil (\"five\") == \"five\"");
	_g_free0 (_tmp51_);
	_tmp52_ = map_tests_entry_for ("five", "five");
	_tmp53_ = _tmp52_;
	_tmp54_ = gee_sorted_set_ceil (entries, _tmp53_);
	_tmp55_ = (GeeMapEntry*) _tmp54_;
	map_tests_assert_entry (_tmp55_, "five", "five");
	_g_object_unref0 (_tmp55_);
	_g_object_unref0 (_tmp53_);
	_tmp56_ = gee_sorted_set_ceil (keys, "six");
	_tmp57_ = (gchar*) _tmp56_;
	_vala_assert (g_strcmp0 (_tmp57_, "six") == 0, "keys.ceil (\"six\") == \"six\"");
	_g_free0 (_tmp57_);
	_tmp58_ = map_tests_entry_for ("six", "six");
	_tmp59_ = _tmp58_;
	_tmp60_ = gee_sorted_set_ceil (entries, _tmp59_);
	_tmp61_ = (GeeMapEntry*) _tmp60_;
	map_tests_assert_entry (_tmp61_, "six", "six");
	_g_object_unref0 (_tmp61_);
	_g_object_unref0 (_tmp59_);
	_tmp62_ = gee_sorted_set_ceil (keys, "s");
	_tmp63_ = (gchar*) _tmp62_;
	_vala_assert (g_strcmp0 (_tmp63_, "six") == 0, "keys.ceil (\"s\") == \"six\"");
	_g_free0 (_tmp63_);
	_tmp64_ = map_tests_entry_for ("s", "six");
	_tmp65_ = _tmp64_;
	_tmp66_ = gee_sorted_set_ceil (entries, _tmp65_);
	_tmp67_ = (GeeMapEntry*) _tmp66_;
	map_tests_assert_entry (_tmp67_, "six", "six");
	_g_object_unref0 (_tmp67_);
	_g_object_unref0 (_tmp65_);
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	_g_object_unref0 (test_sorted_map);
}

static inline gpointer
gee_sorted_map_tests_sub_map_tests_get_instance_private (GeeSortedMapTestsSubMapTests* self)
{
	return G_STRUCT_MEMBER_P (self, GeeSortedMapTestsSubMapTests_private_offset);
}

const gchar*
gee_sorted_map_tests_sub_map_tests_type_to_string (GeeSortedMapTestsSubMapTestsType self)
{
	const gchar* result;
	switch (self) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			result = "Head";
			return result;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			result = "Tail";
			return result;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			result = "Range";
			return result;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			result = "Empty";
			return result;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}

static GType
gee_sorted_map_tests_sub_map_tests_type_get_type_once (void)
{
	static const GEnumValue values[] = {{GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD, "GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD", "head"}, {GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL, "GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL", "tail"}, {GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB, "GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB", "sub"}, {GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY, "GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY", "empty"}, {0, NULL, NULL}};
	GType gee_sorted_map_tests_sub_map_tests_type_type_id;
	gee_sorted_map_tests_sub_map_tests_type_type_id = g_enum_register_static ("GeeSortedMapTestsSubMapTestsType", values);
	return gee_sorted_map_tests_sub_map_tests_type_type_id;
}

GType
gee_sorted_map_tests_sub_map_tests_type_get_type (void)
{
	static volatile gsize gee_sorted_map_tests_sub_map_tests_type_type_id__once = 0;
	if (g_once_init_enter (&gee_sorted_map_tests_sub_map_tests_type_type_id__once)) {
		GType gee_sorted_map_tests_sub_map_tests_type_type_id;
		gee_sorted_map_tests_sub_map_tests_type_type_id = gee_sorted_map_tests_sub_map_tests_type_get_type_once ();
		g_once_init_leave (&gee_sorted_map_tests_sub_map_tests_type_type_id__once, gee_sorted_map_tests_sub_map_tests_type_type_id);
	}
	return gee_sorted_map_tests_sub_map_tests_type_type_id__once;
}

static void
_gee_sorted_map_tests_sub_map_tests_test_has_key_size_is_empty_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_has_key_size_is_empty ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_keys_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_keys ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_values_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_values ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_entries_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_entries ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_get_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_get ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_set_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_set ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_unset_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_unset ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_clear_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_clear ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_iterators_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_iterators ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_boundaries_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_boundaries ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_lower_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_lower ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_higher_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_higher ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_floor_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_floor ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_ceil_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_ceil ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_iterator_at_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_iterator_at ((GeeSortedMapTestsSubMapTests*) self);
}

static void
_gee_sorted_map_tests_sub_map_tests_test_submap_and_subsets_gee_test_case_test_method (gpointer self)
{
	gee_sorted_map_tests_sub_map_tests_test_submap_and_subsets ((GeeSortedMapTestsSubMapTests*) self);
}

GeeSortedMapTestsSubMapTests*
gee_sorted_map_tests_sub_map_tests_construct (GType object_type,
                                              GeeSortedMapTests* test,
                                              GeeSortedMapTestsSubMapTestsType type)
{
	GeeSortedMapTestsSubMapTests * self = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	GeeSortedMapTests* _tmp3_;
	g_return_val_if_fail (test != NULL, NULL);
	_tmp0_ = gee_sorted_map_tests_sub_map_tests_type_to_string (type);
	_tmp1_ = g_strdup_printf ("%s Submap", _tmp0_);
	_tmp2_ = _tmp1_;
	self = (GeeSortedMapTestsSubMapTests*) gee_test_case_construct (object_type, _tmp2_);
	_g_free0 (_tmp2_);
	_tmp3_ = _g_object_ref0 (test);
	_g_object_unref0 (self->priv->test);
	self->priv->test = _tmp3_;
	self->priv->type = type;
	gee_test_case_add_test ((GeeTestCase*) self, "[Map] has_key, size and is_empty", _gee_sorted_map_tests_sub_map_tests_test_has_key_size_is_empty_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Map] keys", _gee_sorted_map_tests_sub_map_tests_test_keys_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Map] values", _gee_sorted_map_tests_sub_map_tests_test_values_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Map] entries", _gee_sorted_map_tests_sub_map_tests_test_entries_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Map] get", _gee_sorted_map_tests_sub_map_tests_test_get_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Map] set", _gee_sorted_map_tests_sub_map_tests_test_set_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Map] unset", _gee_sorted_map_tests_sub_map_tests_test_unset_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Map] clear", _gee_sorted_map_tests_sub_map_tests_test_clear_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Map] iterators", _gee_sorted_map_tests_sub_map_tests_test_iterators_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] boundaries", _gee_sorted_map_tests_sub_map_tests_test_boundaries_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] lower", _gee_sorted_map_tests_sub_map_tests_test_lower_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] higher", _gee_sorted_map_tests_sub_map_tests_test_higher_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] floor", _gee_sorted_map_tests_sub_map_tests_test_floor_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] ceil", _gee_sorted_map_tests_sub_map_tests_test_ceil_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] iterator_at", _gee_sorted_map_tests_sub_map_tests_test_iterator_at_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedMap] submap and subsets", _gee_sorted_map_tests_sub_map_tests_test_submap_and_subsets_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	return self;
}

GeeSortedMapTestsSubMapTests*
gee_sorted_map_tests_sub_map_tests_new (GeeSortedMapTests* test,
                                        GeeSortedMapTestsSubMapTestsType type)
{
	return gee_sorted_map_tests_sub_map_tests_construct (GEE_SORTED_MAP_TESTS_TYPE_SUB_MAP_TESTS, test, type);
}

static void
gee_sorted_map_tests_sub_map_tests_real_set_up (GeeTestCase* base)
{
	GeeSortedMapTestsSubMapTests * self;
	GeeSortedMapTests* _tmp0_;
	GeeSortedMapTests* _tmp1_;
	GeeMap* _tmp2_;
	GeeSortedMap* _tmp3_;
	self = (GeeSortedMapTestsSubMapTests*) base;
	_tmp0_ = self->priv->test;
	gee_test_case_set_up ((GeeTestCase*) _tmp0_);
	_tmp1_ = self->priv->test;
	_tmp2_ = ((MapTests*) _tmp1_)->test_map;
	_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, GEE_TYPE_SORTED_MAP) ? ((GeeSortedMap*) _tmp2_) : NULL);
	_g_object_unref0 (self->priv->master);
	self->priv->master = _tmp3_;
	switch (self->priv->type) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedMap* _tmp4_;
			GeeSortedMap* _tmp5_;
			_tmp4_ = self->priv->master;
			_tmp5_ = gee_sorted_map_head_map (_tmp4_, "one");
			_g_object_unref0 (self->priv->submap);
			self->priv->submap = _tmp5_;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedMap* _tmp6_;
			GeeSortedMap* _tmp7_;
			_tmp6_ = self->priv->master;
			_tmp7_ = gee_sorted_map_tail_map (_tmp6_, "six");
			_g_object_unref0 (self->priv->submap);
			self->priv->submap = _tmp7_;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedMap* _tmp8_;
			GeeSortedMap* _tmp9_;
			_tmp8_ = self->priv->master;
			_tmp9_ = gee_sorted_map_sub_map (_tmp8_, "four", "three");
			_g_object_unref0 (self->priv->submap);
			self->priv->submap = _tmp9_;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedMap* _tmp10_;
			GeeSortedMap* _tmp11_;
			_tmp10_ = self->priv->master;
			_tmp11_ = gee_sorted_map_sub_map (_tmp10_, "three", "four");
			_g_object_unref0 (self->priv->submap);
			self->priv->submap = _tmp11_;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}

static void
gee_sorted_map_tests_sub_map_tests_real_tear_down (GeeTestCase* base)
{
	GeeSortedMapTestsSubMapTests * self;
	GeeSortedMapTests* _tmp0_;
	self = (GeeSortedMapTestsSubMapTests*) base;
	_tmp0_ = self->priv->test;
	gee_test_case_tear_down ((GeeTestCase*) _tmp0_);
}

void
gee_sorted_map_tests_sub_map_tests_set_default_values (GeeSortedMapTestsSubMapTests* self,
                                                       gchar*** contains,
                                                       gint* contains_length1,
                                                       gchar*** not_contains,
                                                       gint* not_contains_length1)
{
	gchar** _vala_contains = NULL;
	gint _vala_contains_length1 = 0;
	gchar** _vala_not_contains = NULL;
	gint _vala_not_contains_length1 = 0;
	GeeSortedMap* _tmp0_;
	GeeSortedMap* _tmp1_;
	GeeSortedMap* _tmp2_;
	GeeSortedMap* _tmp3_;
	GeeSortedMap* _tmp4_;
	GeeSortedMap* _tmp5_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	gee_map_set ((GeeMap*) _tmp0_, "one", "one");
	_tmp1_ = self->priv->master;
	gee_map_set ((GeeMap*) _tmp1_, "two", "two");
	_tmp2_ = self->priv->master;
	gee_map_set ((GeeMap*) _tmp2_, "three", "three");
	_tmp3_ = self->priv->master;
	gee_map_set ((GeeMap*) _tmp3_, "four", "four");
	_tmp4_ = self->priv->master;
	gee_map_set ((GeeMap*) _tmp4_, "five", "five");
	_tmp5_ = self->priv->master;
	gee_map_set ((GeeMap*) _tmp5_, "six", "six");
	switch (self->priv->type) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			gchar* _tmp6_;
			gchar* _tmp7_;
			gchar** _tmp8_;
			gchar* _tmp9_;
			gchar* _tmp10_;
			gchar* _tmp11_;
			gchar* _tmp12_;
			gchar** _tmp13_;
			_tmp6_ = g_strdup ("five");
			_tmp7_ = g_strdup ("four");
			_tmp8_ = g_new0 (gchar*, 2 + 1);
			_tmp8_[0] = _tmp6_;
			_tmp8_[1] = _tmp7_;
			_vala_contains = (_vala_array_free (_vala_contains, _vala_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_contains = _tmp8_;
			_vala_contains_length1 = 2;
			_tmp9_ = g_strdup ("one");
			_tmp10_ = g_strdup ("two");
			_tmp11_ = g_strdup ("three");
			_tmp12_ = g_strdup ("six");
			_tmp13_ = g_new0 (gchar*, 4 + 1);
			_tmp13_[0] = _tmp9_;
			_tmp13_[1] = _tmp10_;
			_tmp13_[2] = _tmp11_;
			_tmp13_[3] = _tmp12_;
			_vala_not_contains = (_vala_array_free (_vala_not_contains, _vala_not_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_not_contains = _tmp13_;
			_vala_not_contains_length1 = 4;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			gchar* _tmp14_;
			gchar* _tmp15_;
			gchar* _tmp16_;
			gchar** _tmp17_;
			gchar* _tmp18_;
			gchar* _tmp19_;
			gchar* _tmp20_;
			gchar** _tmp21_;
			_tmp14_ = g_strdup ("six");
			_tmp15_ = g_strdup ("three");
			_tmp16_ = g_strdup ("two");
			_tmp17_ = g_new0 (gchar*, 3 + 1);
			_tmp17_[0] = _tmp14_;
			_tmp17_[1] = _tmp15_;
			_tmp17_[2] = _tmp16_;
			_vala_contains = (_vala_array_free (_vala_contains, _vala_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_contains = _tmp17_;
			_vala_contains_length1 = 3;
			_tmp18_ = g_strdup ("one");
			_tmp19_ = g_strdup ("four");
			_tmp20_ = g_strdup ("five");
			_tmp21_ = g_new0 (gchar*, 3 + 1);
			_tmp21_[0] = _tmp18_;
			_tmp21_[1] = _tmp19_;
			_tmp21_[2] = _tmp20_;
			_vala_not_contains = (_vala_array_free (_vala_not_contains, _vala_not_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_not_contains = _tmp21_;
			_vala_not_contains_length1 = 3;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			gchar* _tmp22_;
			gchar* _tmp23_;
			gchar* _tmp24_;
			gchar** _tmp25_;
			gchar* _tmp26_;
			gchar* _tmp27_;
			gchar* _tmp28_;
			gchar** _tmp29_;
			_tmp22_ = g_strdup ("four");
			_tmp23_ = g_strdup ("one");
			_tmp24_ = g_strdup ("six");
			_tmp25_ = g_new0 (gchar*, 3 + 1);
			_tmp25_[0] = _tmp22_;
			_tmp25_[1] = _tmp23_;
			_tmp25_[2] = _tmp24_;
			_vala_contains = (_vala_array_free (_vala_contains, _vala_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_contains = _tmp25_;
			_vala_contains_length1 = 3;
			_tmp26_ = g_strdup ("two");
			_tmp27_ = g_strdup ("three");
			_tmp28_ = g_strdup ("five");
			_tmp29_ = g_new0 (gchar*, 3 + 1);
			_tmp29_[0] = _tmp26_;
			_tmp29_[1] = _tmp27_;
			_tmp29_[2] = _tmp28_;
			_vala_not_contains = (_vala_array_free (_vala_not_contains, _vala_not_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_not_contains = _tmp29_;
			_vala_not_contains_length1 = 3;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			gchar** _tmp30_;
			gchar* _tmp31_;
			gchar* _tmp32_;
			gchar* _tmp33_;
			gchar* _tmp34_;
			gchar* _tmp35_;
			gchar* _tmp36_;
			gchar** _tmp37_;
			_tmp30_ = g_new0 (gchar*, 0 + 1);
			_vala_contains = (_vala_array_free (_vala_contains, _vala_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_contains = _tmp30_;
			_vala_contains_length1 = 0;
			_tmp31_ = g_strdup ("one");
			_tmp32_ = g_strdup ("two");
			_tmp33_ = g_strdup ("three");
			_tmp34_ = g_strdup ("four");
			_tmp35_ = g_strdup ("five");
			_tmp36_ = g_strdup ("six");
			_tmp37_ = g_new0 (gchar*, 6 + 1);
			_tmp37_[0] = _tmp31_;
			_tmp37_[1] = _tmp32_;
			_tmp37_[2] = _tmp33_;
			_tmp37_[3] = _tmp34_;
			_tmp37_[4] = _tmp35_;
			_tmp37_[5] = _tmp36_;
			_vala_not_contains = (_vala_array_free (_vala_not_contains, _vala_not_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_not_contains = _tmp37_;
			_vala_not_contains_length1 = 6;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	if (contains) {
		*contains = _vala_contains;
	} else {
		_vala_contains = (_vala_array_free (_vala_contains, _vala_contains_length1, (GDestroyNotify) g_free), NULL);
	}
	if (contains_length1) {
		*contains_length1 = _vala_contains_length1;
	}
	if (not_contains) {
		*not_contains = _vala_not_contains;
	} else {
		_vala_not_contains = (_vala_array_free (_vala_not_contains, _vala_not_contains_length1, (GDestroyNotify) g_free), NULL);
	}
	if (not_contains_length1) {
		*not_contains_length1 = _vala_not_contains_length1;
	}
}

void
gee_sorted_map_tests_sub_map_tests_test_has_key_size_is_empty (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	gchar** _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gchar** _tmp2_ = NULL;
	gint _tmp3_ = 0;
	GeeSortedMap* _tmp4_;
	gint _tmp5_;
	gint _tmp6_;
	gchar** _tmp7_;
	gint _tmp7__length1;
	GeeSortedMap* _tmp8_;
	gboolean _tmp9_;
	gboolean _tmp10_;
	gchar** _tmp11_;
	gint _tmp11__length1;
	gchar** _tmp12_;
	gint _tmp12__length1;
	gchar** _tmp19_;
	gint _tmp19__length1;
	g_return_if_fail (self != NULL);
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp0_;
	contains_length1 = _tmp1_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp2_;
	not_contains_length1 = _tmp3_;
	_not_contains_size_ = not_contains_length1;
	_tmp4_ = self->priv->submap;
	_tmp5_ = gee_map_get_size ((GeeMap*) _tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = contains;
	_tmp7__length1 = contains_length1;
	_vala_assert (_tmp6_ == _tmp7__length1, "submap.size == contains.length");
	_tmp8_ = self->priv->submap;
	_tmp9_ = gee_map_get_is_empty ((GeeMap*) _tmp8_);
	_tmp10_ = _tmp9_;
	_tmp11_ = contains;
	_tmp11__length1 = contains_length1;
	_vala_assert (_tmp10_ == (_tmp11__length1 == 0), "submap.is_empty == (contains.length == 0)");
	_tmp12_ = contains;
	_tmp12__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp12_;
		s_collection_length1 = _tmp12__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp13_;
			gchar* s = NULL;
			_tmp13_ = g_strdup (s_collection[s_it]);
			s = _tmp13_;
			{
				GeeSortedMap* _tmp14_;
				const gchar* _tmp15_;
				GeeSortedMap* _tmp16_;
				const gchar* _tmp17_;
				const gchar* _tmp18_;
				_tmp14_ = self->priv->submap;
				_tmp15_ = s;
				_vala_assert (gee_map_has_key ((GeeMap*) _tmp14_, _tmp15_), "submap.has_key (s)");
				_tmp16_ = self->priv->submap;
				_tmp17_ = s;
				_tmp18_ = s;
				_vala_assert (gee_map_has ((GeeMap*) _tmp16_, _tmp17_, _tmp18_), "submap.has (s, s)");
				_g_free0 (s);
			}
		}
	}
	_tmp19_ = not_contains;
	_tmp19__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp19_;
		s_collection_length1 = _tmp19__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp20_;
			gchar* s = NULL;
			_tmp20_ = g_strdup (s_collection[s_it]);
			s = _tmp20_;
			{
				GeeSortedMap* _tmp21_;
				const gchar* _tmp22_;
				GeeSortedMap* _tmp23_;
				const gchar* _tmp24_;
				const gchar* _tmp25_;
				_tmp21_ = self->priv->submap;
				_tmp22_ = s;
				_vala_assert (!gee_map_has_key ((GeeMap*) _tmp21_, _tmp22_), "!submap.has_key (s)");
				_tmp23_ = self->priv->submap;
				_tmp24_ = s;
				_tmp25_ = s;
				_vala_assert (!gee_map_has ((GeeMap*) _tmp23_, _tmp24_, _tmp25_), "!submap.has (s, s)");
				_g_free0 (s);
			}
		}
	}
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_get (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	gchar** _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gchar** _tmp2_ = NULL;
	gint _tmp3_ = 0;
	gchar** _tmp4_;
	gint _tmp4__length1;
	g_return_if_fail (self != NULL);
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp0_;
	contains_length1 = _tmp1_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp2_;
	not_contains_length1 = _tmp3_;
	_not_contains_size_ = not_contains_length1;
	_tmp4_ = contains;
	_tmp4__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp4_;
		s_collection_length1 = _tmp4__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp5_;
			gchar* s = NULL;
			_tmp5_ = g_strdup (s_collection[s_it]);
			s = _tmp5_;
			{
				GeeSortedMap* _tmp6_;
				const gchar* _tmp7_;
				gpointer _tmp8_;
				gchar* _tmp9_;
				const gchar* _tmp10_;
				_tmp6_ = self->priv->submap;
				_tmp7_ = s;
				_tmp8_ = gee_map_get ((GeeMap*) _tmp6_, _tmp7_);
				_tmp9_ = (gchar*) _tmp8_;
				_tmp10_ = s;
				_vala_assert (g_strcmp0 (_tmp9_, _tmp10_) == 0, "submap.get (s) == s");
				_g_free0 (_tmp9_);
				_g_free0 (s);
			}
		}
	}
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_keys (GeeSortedMapTestsSubMapTests* self)
{
	GeeSet* keys = NULL;
	GeeSortedMap* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
	GeeSet* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	GeeSet* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	gchar** _tmp9_ = NULL;
	gint _tmp10_ = 0;
	gchar** _tmp11_ = NULL;
	gint _tmp12_ = 0;
	GeeSet* _tmp13_;
	gint _tmp14_;
	gint _tmp15_;
	gchar** _tmp16_;
	gint _tmp16__length1;
	gchar** _tmp17_;
	gint _tmp17__length1;
	gchar** _tmp21_;
	gint _tmp21__length1;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_map_get_keys ((GeeMap*) _tmp0_);
	_tmp2_ = _tmp1_;
	keys = _tmp2_;
	_tmp3_ = keys;
	_tmp4_ = gee_collection_get_size ((GeeCollection*) _tmp3_);
	_tmp5_ = _tmp4_;
	_vala_assert (_tmp5_ == 0, "keys.size == 0");
	_tmp6_ = keys;
	_tmp7_ = gee_collection_get_is_empty ((GeeCollection*) _tmp6_);
	_tmp8_ = _tmp7_;
	_vala_assert (_tmp8_, "keys.is_empty");
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp9_, &_tmp10_, &_tmp11_, &_tmp12_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp9_;
	contains_length1 = _tmp10_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp11_;
	not_contains_length1 = _tmp12_;
	_not_contains_size_ = not_contains_length1;
	_tmp13_ = keys;
	_tmp14_ = gee_collection_get_size ((GeeCollection*) _tmp13_);
	_tmp15_ = _tmp14_;
	_tmp16_ = contains;
	_tmp16__length1 = contains_length1;
	_vala_assert (_tmp15_ == _tmp16__length1, "keys.size == contains.length");
	_tmp17_ = contains;
	_tmp17__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp17_;
		s_collection_length1 = _tmp17__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp18_;
			gchar* s = NULL;
			_tmp18_ = g_strdup (s_collection[s_it]);
			s = _tmp18_;
			{
				GeeSet* _tmp19_;
				const gchar* _tmp20_;
				_tmp19_ = keys;
				_tmp20_ = s;
				_vala_assert (gee_collection_contains ((GeeCollection*) _tmp19_, _tmp20_), "keys.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp21_ = not_contains;
	_tmp21__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp21_;
		s_collection_length1 = _tmp21__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp22_;
			gchar* s = NULL;
			_tmp22_ = g_strdup (s_collection[s_it]);
			s = _tmp22_;
			{
				GeeSet* _tmp23_;
				const gchar* _tmp24_;
				_tmp23_ = keys;
				_tmp24_ = s;
				_vala_assert (!gee_collection_contains ((GeeCollection*) _tmp23_, _tmp24_), "!keys.contains (s)");
				_g_free0 (s);
			}
		}
	}
	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
		GeeSet* _tmp25_;
		_tmp25_ = keys;
		gee_collection_add ((GeeCollection*) _tmp25_, "three");
		exit (0);
	}
	g_test_trap_assert_failed ();
	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
		GeeSet* _tmp26_;
		_tmp26_ = keys;
		gee_collection_remove ((GeeCollection*) _tmp26_, "three");
		exit (0);
	}
	g_test_trap_assert_failed ();
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (keys);
}

void
gee_sorted_map_tests_sub_map_tests_test_values (GeeSortedMapTestsSubMapTests* self)
{
	GeeCollection* values = NULL;
	GeeSortedMap* _tmp0_;
	GeeCollection* _tmp1_;
	GeeCollection* _tmp2_;
	GeeCollection* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	GeeCollection* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	gchar** _tmp9_ = NULL;
	gint _tmp10_ = 0;
	gchar** _tmp11_ = NULL;
	gint _tmp12_ = 0;
	GeeCollection* _tmp13_;
	gint _tmp14_;
	gint _tmp15_;
	gchar** _tmp16_;
	gint _tmp16__length1;
	gchar** _tmp17_;
	gint _tmp17__length1;
	gchar** _tmp21_;
	gint _tmp21__length1;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_map_get_values ((GeeMap*) _tmp0_);
	_tmp2_ = _tmp1_;
	values = _tmp2_;
	_tmp3_ = values;
	_tmp4_ = gee_collection_get_size (_tmp3_);
	_tmp5_ = _tmp4_;
	_vala_assert (_tmp5_ == 0, "values.size == 0");
	_tmp6_ = values;
	_tmp7_ = gee_collection_get_is_empty (_tmp6_);
	_tmp8_ = _tmp7_;
	_vala_assert (_tmp8_, "values.is_empty");
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp9_, &_tmp10_, &_tmp11_, &_tmp12_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp9_;
	contains_length1 = _tmp10_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp11_;
	not_contains_length1 = _tmp12_;
	_not_contains_size_ = not_contains_length1;
	_tmp13_ = values;
	_tmp14_ = gee_collection_get_size (_tmp13_);
	_tmp15_ = _tmp14_;
	_tmp16_ = contains;
	_tmp16__length1 = contains_length1;
	_vala_assert (_tmp15_ == _tmp16__length1, "values.size == contains.length");
	_tmp17_ = contains;
	_tmp17__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp17_;
		s_collection_length1 = _tmp17__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp18_;
			gchar* s = NULL;
			_tmp18_ = g_strdup (s_collection[s_it]);
			s = _tmp18_;
			{
				GeeCollection* _tmp19_;
				const gchar* _tmp20_;
				_tmp19_ = values;
				_tmp20_ = s;
				_vala_assert (gee_collection_contains (_tmp19_, _tmp20_), "values.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp21_ = not_contains;
	_tmp21__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp21_;
		s_collection_length1 = _tmp21__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp22_;
			gchar* s = NULL;
			_tmp22_ = g_strdup (s_collection[s_it]);
			s = _tmp22_;
			{
				GeeCollection* _tmp23_;
				const gchar* _tmp24_;
				_tmp23_ = values;
				_tmp24_ = s;
				_vala_assert (!gee_collection_contains (_tmp23_, _tmp24_), "!values.contains (s)");
				_g_free0 (s);
			}
		}
	}
	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
		GeeCollection* _tmp25_;
		_tmp25_ = values;
		gee_collection_add (_tmp25_, "three");
		exit (0);
	}
	g_test_trap_assert_failed ();
	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
		GeeCollection* _tmp26_;
		_tmp26_ = values;
		gee_collection_remove (_tmp26_, "three");
		exit (0);
	}
	g_test_trap_assert_failed ();
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (values);
}

void
gee_sorted_map_tests_sub_map_tests_test_entries (GeeSortedMapTestsSubMapTests* self)
{
	GeeSet* entries = NULL;
	GeeSortedMap* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
	GeeSet* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	GeeSet* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	gchar** _tmp9_ = NULL;
	gint _tmp10_ = 0;
	gchar** _tmp11_ = NULL;
	gint _tmp12_ = 0;
	GeeSet* _tmp13_;
	gint _tmp14_;
	gint _tmp15_;
	gchar** _tmp16_;
	gint _tmp16__length1;
	gchar** _tmp17_;
	gint _tmp17__length1;
	gchar** _tmp24_;
	gint _tmp24__length1;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_map_get_entries ((GeeMap*) _tmp0_);
	_tmp2_ = _tmp1_;
	entries = _tmp2_;
	_tmp3_ = entries;
	_tmp4_ = gee_collection_get_size ((GeeCollection*) _tmp3_);
	_tmp5_ = _tmp4_;
	_vala_assert (_tmp5_ == 0, "entries.size == 0");
	_tmp6_ = entries;
	_tmp7_ = gee_collection_get_is_empty ((GeeCollection*) _tmp6_);
	_tmp8_ = _tmp7_;
	_vala_assert (_tmp8_, "entries.is_empty");
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp9_, &_tmp10_, &_tmp11_, &_tmp12_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp9_;
	contains_length1 = _tmp10_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp11_;
	not_contains_length1 = _tmp12_;
	_not_contains_size_ = not_contains_length1;
	_tmp13_ = entries;
	_tmp14_ = gee_collection_get_size ((GeeCollection*) _tmp13_);
	_tmp15_ = _tmp14_;
	_tmp16_ = contains;
	_tmp16__length1 = contains_length1;
	_vala_assert (_tmp15_ == _tmp16__length1, "entries.size == contains.length");
	_tmp17_ = contains;
	_tmp17__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp17_;
		s_collection_length1 = _tmp17__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp18_;
			gchar* s = NULL;
			_tmp18_ = g_strdup (s_collection[s_it]);
			s = _tmp18_;
			{
				GeeSet* _tmp19_;
				const gchar* _tmp20_;
				const gchar* _tmp21_;
				GeeMapEntry* _tmp22_;
				GeeMapEntry* _tmp23_;
				_tmp19_ = entries;
				_tmp20_ = s;
				_tmp21_ = s;
				_tmp22_ = map_tests_entry_for (_tmp20_, _tmp21_);
				_tmp23_ = _tmp22_;
				_vala_assert (gee_collection_contains ((GeeCollection*) _tmp19_, _tmp23_), "entries.contains (MapTests.entry_for (s, s))");
				_g_object_unref0 (_tmp23_);
				_g_free0 (s);
			}
		}
	}
	_tmp24_ = not_contains;
	_tmp24__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp24_;
		s_collection_length1 = _tmp24__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp25_;
			gchar* s = NULL;
			_tmp25_ = g_strdup (s_collection[s_it]);
			s = _tmp25_;
			{
				GeeSet* _tmp26_;
				const gchar* _tmp27_;
				const gchar* _tmp28_;
				GeeMapEntry* _tmp29_;
				GeeMapEntry* _tmp30_;
				_tmp26_ = entries;
				_tmp27_ = s;
				_tmp28_ = s;
				_tmp29_ = map_tests_entry_for (_tmp27_, _tmp28_);
				_tmp30_ = _tmp29_;
				_vala_assert (!gee_collection_contains ((GeeCollection*) _tmp26_, _tmp30_), "!entries.contains (MapTests.entry_for (s, s))");
				_g_object_unref0 (_tmp30_);
				_g_free0 (s);
			}
		}
	}
	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
		GeeSet* _tmp31_;
		GeeMapEntry* _tmp32_;
		GeeMapEntry* _tmp33_;
		_tmp31_ = entries;
		_tmp32_ = map_tests_entry_for ("three", "three");
		_tmp33_ = _tmp32_;
		gee_collection_add ((GeeCollection*) _tmp31_, _tmp33_);
		_g_object_unref0 (_tmp33_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
		GeeSet* _tmp34_;
		GeeMapEntry* _tmp35_;
		GeeMapEntry* _tmp36_;
		_tmp34_ = entries;
		_tmp35_ = map_tests_entry_for ("three", "three");
		_tmp36_ = _tmp35_;
		gee_collection_remove ((GeeCollection*) _tmp34_, _tmp36_);
		_g_object_unref0 (_tmp36_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (entries);
}

void
gee_sorted_map_tests_sub_map_tests_test_set (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	gchar** _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gchar** _tmp2_ = NULL;
	gint _tmp3_ = 0;
	gchar** success = NULL;
	gint success_length1 = 0;
	gint _success_size_ = 0;
	gchar** fail = NULL;
	gint fail_length1 = 0;
	gint _fail_size_ = 0;
	gchar** _tmp28_;
	gint _tmp28__length1;
	gchar** _tmp39_;
	gint _tmp39__length1;
	GeeSortedMap* _tmp48_;
	gint _tmp49_;
	gint _tmp50_;
	gchar** _tmp51_;
	gint _tmp51__length1;
	g_return_if_fail (self != NULL);
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp0_;
	contains_length1 = _tmp1_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp2_;
	not_contains_length1 = _tmp3_;
	_not_contains_size_ = not_contains_length1;
	switch (self->priv->type) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			gchar* _tmp4_;
			gchar* _tmp5_;
			gchar** _tmp6_;
			gchar* _tmp7_;
			gchar* _tmp8_;
			gchar** _tmp9_;
			_tmp4_ = g_strdup ("a");
			_tmp5_ = g_strdup ("o");
			_tmp6_ = g_new0 (gchar*, 2 + 1);
			_tmp6_[0] = _tmp4_;
			_tmp6_[1] = _tmp5_;
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp6_;
			success_length1 = 2;
			_success_size_ = success_length1;
			_tmp7_ = g_strdup ("oz");
			_tmp8_ = g_strdup ("z");
			_tmp9_ = g_new0 (gchar*, 2 + 1);
			_tmp9_[0] = _tmp7_;
			_tmp9_[1] = _tmp8_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp9_;
			fail_length1 = 2;
			_fail_size_ = fail_length1;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			gchar* _tmp10_;
			gchar* _tmp11_;
			gchar** _tmp12_;
			gchar* _tmp13_;
			gchar* _tmp14_;
			gchar** _tmp15_;
			_tmp10_ = g_strdup ("siz");
			_tmp11_ = g_strdup ("z");
			_tmp12_ = g_new0 (gchar*, 2 + 1);
			_tmp12_[0] = _tmp10_;
			_tmp12_[1] = _tmp11_;
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp12_;
			success_length1 = 2;
			_success_size_ = success_length1;
			_tmp13_ = g_strdup ("sia");
			_tmp14_ = g_strdup ("a");
			_tmp15_ = g_new0 (gchar*, 2 + 1);
			_tmp15_[0] = _tmp13_;
			_tmp15_[1] = _tmp14_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp15_;
			fail_length1 = 2;
			_fail_size_ = fail_length1;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			gchar* _tmp16_;
			gchar* _tmp17_;
			gchar** _tmp18_;
			gchar* _tmp19_;
			gchar* _tmp20_;
			gchar** _tmp21_;
			_tmp16_ = g_strdup ("o");
			_tmp17_ = g_strdup ("th");
			_tmp18_ = g_new0 (gchar*, 2 + 1);
			_tmp18_[0] = _tmp16_;
			_tmp18_[1] = _tmp17_;
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp18_;
			success_length1 = 2;
			_success_size_ = success_length1;
			_tmp19_ = g_strdup ("f");
			_tmp20_ = g_strdup ("u");
			_tmp21_ = g_new0 (gchar*, 2 + 1);
			_tmp21_[0] = _tmp19_;
			_tmp21_[1] = _tmp20_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp21_;
			fail_length1 = 2;
			_fail_size_ = fail_length1;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			gchar** _tmp22_;
			gchar* _tmp23_;
			gchar* _tmp24_;
			gchar* _tmp25_;
			gchar* _tmp26_;
			gchar** _tmp27_;
			_tmp22_ = g_new0 (gchar*, 0 + 1);
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp22_;
			success_length1 = 0;
			_success_size_ = success_length1;
			_tmp23_ = g_strdup ("o");
			_tmp24_ = g_strdup ("th");
			_tmp25_ = g_strdup ("f");
			_tmp26_ = g_strdup ("u");
			_tmp27_ = g_new0 (gchar*, 4 + 1);
			_tmp27_[0] = _tmp23_;
			_tmp27_[1] = _tmp24_;
			_tmp27_[2] = _tmp25_;
			_tmp27_[3] = _tmp26_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp27_;
			fail_length1 = 4;
			_fail_size_ = fail_length1;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_tmp28_ = success;
	_tmp28__length1 = success_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp28_;
		s_collection_length1 = _tmp28__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp29_;
			gchar* s = NULL;
			_tmp29_ = g_strdup (s_collection[s_it]);
			s = _tmp29_;
			{
				GeeSortedMap* _tmp30_;
				const gchar* _tmp31_;
				const gchar* _tmp32_;
				GeeSortedMap* _tmp33_;
				const gchar* _tmp34_;
				const gchar* _tmp35_;
				GeeSortedMap* _tmp36_;
				const gchar* _tmp37_;
				const gchar* _tmp38_;
				_tmp30_ = self->priv->submap;
				_tmp31_ = s;
				_tmp32_ = s;
				gee_map_set ((GeeMap*) _tmp30_, _tmp31_, _tmp32_);
				_tmp33_ = self->priv->submap;
				_tmp34_ = s;
				_tmp35_ = s;
				_vala_assert (gee_map_has ((GeeMap*) _tmp33_, _tmp34_, _tmp35_), "submap.has (s, s)");
				_tmp36_ = self->priv->master;
				_tmp37_ = s;
				_tmp38_ = s;
				_vala_assert (gee_map_has ((GeeMap*) _tmp36_, _tmp37_, _tmp38_), "master.has (s, s)");
				_g_free0 (s);
			}
		}
	}
	_tmp39_ = fail;
	_tmp39__length1 = fail_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp39_;
		s_collection_length1 = _tmp39__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp40_;
			gchar* s = NULL;
			_tmp40_ = g_strdup (s_collection[s_it]);
			s = _tmp40_;
			{
				GeeSortedMap* _tmp41_;
				const gchar* _tmp42_;
				const gchar* _tmp43_;
				GeeSortedMap* _tmp44_;
				const gchar* _tmp45_;
				GeeSortedMap* _tmp46_;
				const gchar* _tmp47_;
				_tmp41_ = self->priv->submap;
				_tmp42_ = s;
				_tmp43_ = s;
				gee_map_set ((GeeMap*) _tmp41_, _tmp42_, _tmp43_);
				_tmp44_ = self->priv->submap;
				_tmp45_ = s;
				_vala_assert (!gee_map_has_key ((GeeMap*) _tmp44_, _tmp45_), "!submap.has_key (s)");
				_tmp46_ = self->priv->master;
				_tmp47_ = s;
				_vala_assert (!gee_map_has_key ((GeeMap*) _tmp46_, _tmp47_), "!master.has_key (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp48_ = self->priv->master;
	_tmp49_ = gee_map_get_size ((GeeMap*) _tmp48_);
	_tmp50_ = _tmp49_;
	_tmp51_ = success;
	_tmp51__length1 = success_length1;
	_vala_assert (_tmp50_ == (6 + _tmp51__length1), "master.size == 6 + success.length");
	fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
	success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_unset (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	gchar** _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gchar** _tmp2_ = NULL;
	gint _tmp3_ = 0;
	gchar** _tmp4_;
	gint _tmp4__length1;
	gchar** _tmp14_;
	gint _tmp14__length1;
	GeeSortedMap* _tmp21_;
	gint _tmp22_;
	gint _tmp23_;
	gchar** _tmp24_;
	gint _tmp24__length1;
	g_return_if_fail (self != NULL);
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp0_;
	contains_length1 = _tmp1_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp2_;
	not_contains_length1 = _tmp3_;
	_not_contains_size_ = not_contains_length1;
	_tmp4_ = contains;
	_tmp4__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp4_;
		s_collection_length1 = _tmp4__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp5_;
			gchar* s = NULL;
			_tmp5_ = g_strdup (s_collection[s_it]);
			s = _tmp5_;
			{
				gchar* value = NULL;
				GeeSortedMap* _tmp6_;
				const gchar* _tmp7_;
				gpointer _tmp8_ = NULL;
				gboolean _tmp9_;
				const gchar* _tmp10_;
				const gchar* _tmp11_;
				GeeSortedMap* _tmp12_;
				const gchar* _tmp13_;
				_tmp6_ = self->priv->submap;
				_tmp7_ = s;
				_tmp9_ = gee_map_unset ((GeeMap*) _tmp6_, _tmp7_, &_tmp8_);
				_g_free0 (value);
				value = _tmp8_;
				_vala_assert (_tmp9_, "submap.unset (s, out value)");
				_tmp10_ = value;
				_tmp11_ = s;
				_vala_assert (g_strcmp0 (_tmp10_, _tmp11_) == 0, "value == s");
				_tmp12_ = self->priv->master;
				_tmp13_ = s;
				_vala_assert (!gee_map_has_key ((GeeMap*) _tmp12_, _tmp13_), "!master.has_key (s)");
				_g_free0 (value);
				_g_free0 (s);
			}
		}
	}
	_tmp14_ = not_contains;
	_tmp14__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp14_;
		s_collection_length1 = _tmp14__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp15_;
			gchar* s = NULL;
			_tmp15_ = g_strdup (s_collection[s_it]);
			s = _tmp15_;
			{
				GeeSortedMap* _tmp16_;
				const gchar* _tmp17_;
				GeeSortedMap* _tmp18_;
				const gchar* _tmp19_;
				const gchar* _tmp20_;
				_tmp16_ = self->priv->submap;
				_tmp17_ = s;
				_vala_assert (!gee_map_unset ((GeeMap*) _tmp16_, _tmp17_, NULL), "!submap.unset (s)");
				_tmp18_ = self->priv->master;
				_tmp19_ = s;
				_tmp20_ = s;
				_vala_assert (gee_map_has ((GeeMap*) _tmp18_, _tmp19_, _tmp20_), "master.has (s, s)");
				_g_free0 (s);
			}
		}
	}
	_tmp21_ = self->priv->master;
	_tmp22_ = gee_map_get_size ((GeeMap*) _tmp21_);
	_tmp23_ = _tmp22_;
	_tmp24_ = contains;
	_tmp24__length1 = contains_length1;
	_vala_assert (_tmp23_ == (6 - _tmp24__length1), "master.size == 6 - contains.length");
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_clear (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	gchar** _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gchar** _tmp2_ = NULL;
	gint _tmp3_ = 0;
	GeeSortedMap* _tmp4_;
	gchar** _tmp5_;
	gint _tmp5__length1;
	gchar** _tmp9_;
	gint _tmp9__length1;
	GeeSortedMap* _tmp16_;
	gint _tmp17_;
	gint _tmp18_;
	gchar** _tmp19_;
	gint _tmp19__length1;
	g_return_if_fail (self != NULL);
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp0_;
	contains_length1 = _tmp1_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp2_;
	not_contains_length1 = _tmp3_;
	_not_contains_size_ = not_contains_length1;
	_tmp4_ = self->priv->submap;
	gee_map_clear ((GeeMap*) _tmp4_);
	_tmp5_ = contains;
	_tmp5__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp5_;
		s_collection_length1 = _tmp5__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp6_;
			gchar* s = NULL;
			_tmp6_ = g_strdup (s_collection[s_it]);
			s = _tmp6_;
			{
				GeeSortedMap* _tmp7_;
				const gchar* _tmp8_;
				_tmp7_ = self->priv->master;
				_tmp8_ = s;
				_vala_assert (!gee_map_has_key ((GeeMap*) _tmp7_, _tmp8_), "!master.has_key (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp9_ = not_contains;
	_tmp9__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp9_;
		s_collection_length1 = _tmp9__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp10_;
			gchar* s = NULL;
			_tmp10_ = g_strdup (s_collection[s_it]);
			s = _tmp10_;
			{
				GeeSortedMap* _tmp11_;
				const gchar* _tmp12_;
				GeeSortedMap* _tmp13_;
				const gchar* _tmp14_;
				const gchar* _tmp15_;
				_tmp11_ = self->priv->submap;
				_tmp12_ = s;
				_vala_assert (!gee_map_unset ((GeeMap*) _tmp11_, _tmp12_, NULL), "!submap.unset (s)");
				_tmp13_ = self->priv->master;
				_tmp14_ = s;
				_tmp15_ = s;
				_vala_assert (gee_map_has ((GeeMap*) _tmp13_, _tmp14_, _tmp15_), "master.has (s, s)");
				_g_free0 (s);
			}
		}
	}
	_tmp16_ = self->priv->master;
	_tmp17_ = gee_map_get_size ((GeeMap*) _tmp16_);
	_tmp18_ = _tmp17_;
	_tmp19_ = contains;
	_tmp19__length1 = contains_length1;
	_vala_assert (_tmp18_ == (6 - _tmp19__length1), "master.size == 6 - contains.length");
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_iterators (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	GeeMapIterator* _map_iter = NULL;
	GeeSortedMap* _tmp0_;
	GeeMapIterator* _tmp1_;
	GeeMapIterator* _tmp2_;
	GeeMapIterator* _tmp3_;
	gchar** _tmp4_ = NULL;
	gint _tmp5_ = 0;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gint i = 0;
	GeeSortedMap* _tmp8_;
	GeeMapIterator* _tmp9_;
	gchar** _tmp22_;
	gint _tmp22__length1;
	gchar** _tmp36_;
	gint _tmp36__length1;
	gchar** _tmp52_;
	gint _tmp52__length1;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_map_map_iterator ((GeeMap*) _tmp0_);
	_map_iter = _tmp1_;
	_tmp2_ = _map_iter;
	_vala_assert (!gee_map_iterator_has_next (_tmp2_), "!_map_iter.has_next ()");
	_tmp3_ = _map_iter;
	_vala_assert (!gee_map_iterator_next (_tmp3_), "!_map_iter.next ()");
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp4_, &_tmp5_, &_tmp6_, &_tmp7_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp4_;
	contains_length1 = _tmp5_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp6_;
	not_contains_length1 = _tmp7_;
	_not_contains_size_ = not_contains_length1;
	i = 0;
	_tmp8_ = self->priv->submap;
	_tmp9_ = gee_map_map_iterator ((GeeMap*) _tmp8_);
	_g_object_unref0 (_map_iter);
	_map_iter = _tmp9_;
	while (TRUE) {
		GeeMapIterator* _tmp10_;
		GeeMapIterator* _tmp11_;
		gpointer _tmp12_;
		gchar* _tmp13_;
		gchar** _tmp14_;
		gint _tmp14__length1;
		const gchar* _tmp15_;
		GeeMapIterator* _tmp16_;
		gpointer _tmp17_;
		gchar* _tmp18_;
		gchar** _tmp19_;
		gint _tmp19__length1;
		const gchar* _tmp20_;
		gint _tmp21_;
		_tmp10_ = _map_iter;
		if (!gee_map_iterator_next (_tmp10_)) {
			break;
		}
		_tmp11_ = _map_iter;
		_tmp12_ = gee_map_iterator_get_key (_tmp11_);
		_tmp13_ = (gchar*) _tmp12_;
		_tmp14_ = contains;
		_tmp14__length1 = contains_length1;
		_tmp15_ = _tmp14_[i];
		_vala_assert (g_strcmp0 (_tmp13_, _tmp15_) == 0, "_map_iter.get_key () == contains[i]");
		_g_free0 (_tmp13_);
		_tmp16_ = _map_iter;
		_tmp17_ = gee_map_iterator_get_value (_tmp16_);
		_tmp18_ = (gchar*) _tmp17_;
		_tmp19_ = contains;
		_tmp19__length1 = contains_length1;
		_tmp20_ = _tmp19_[i];
		_vala_assert (g_strcmp0 (_tmp18_, _tmp20_) == 0, "_map_iter.get_value () == contains[i]");
		_g_free0 (_tmp18_);
		_tmp21_ = i;
		i = _tmp21_ + 1;
	}
	_tmp22_ = contains;
	_tmp22__length1 = contains_length1;
	_vala_assert (i == _tmp22__length1, "i == contains.length");
	i = 0;
	{
		GeeIterator* _k_it = NULL;
		GeeSortedMap* _tmp23_;
		GeeSet* _tmp24_;
		GeeSet* _tmp25_;
		GeeSet* _tmp26_;
		GeeIterator* _tmp27_;
		GeeIterator* _tmp28_;
		_tmp23_ = self->priv->submap;
		_tmp24_ = gee_map_get_keys ((GeeMap*) _tmp23_);
		_tmp25_ = _tmp24_;
		_tmp26_ = _tmp25_;
		_tmp27_ = gee_iterable_iterator ((GeeIterable*) _tmp26_);
		_tmp28_ = _tmp27_;
		_g_object_unref0 (_tmp26_);
		_k_it = _tmp28_;
		while (TRUE) {
			GeeIterator* _tmp29_;
			gchar* k = NULL;
			GeeIterator* _tmp30_;
			gpointer _tmp31_;
			const gchar* _tmp32_;
			gchar** _tmp33_;
			gint _tmp33__length1;
			gint _tmp34_;
			const gchar* _tmp35_;
			_tmp29_ = _k_it;
			if (!gee_iterator_next (_tmp29_)) {
				break;
			}
			_tmp30_ = _k_it;
			_tmp31_ = gee_iterator_get (_tmp30_);
			k = (gchar*) _tmp31_;
			_tmp32_ = k;
			_tmp33_ = contains;
			_tmp33__length1 = contains_length1;
			_tmp34_ = i;
			i = _tmp34_ + 1;
			_tmp35_ = _tmp33_[_tmp34_];
			_vala_assert (g_strcmp0 (_tmp32_, _tmp35_) == 0, "k == contains[i++]");
			_g_free0 (k);
		}
		_g_object_unref0 (_k_it);
	}
	_tmp36_ = contains;
	_tmp36__length1 = contains_length1;
	_vala_assert (i == _tmp36__length1, "i == contains.length");
	i = 0;
	{
		GeeIterator* _e_it = NULL;
		GeeSortedMap* _tmp37_;
		GeeSet* _tmp38_;
		GeeSet* _tmp39_;
		GeeSet* _tmp40_;
		GeeIterator* _tmp41_;
		GeeIterator* _tmp42_;
		_tmp37_ = self->priv->submap;
		_tmp38_ = gee_map_get_entries ((GeeMap*) _tmp37_);
		_tmp39_ = _tmp38_;
		_tmp40_ = _tmp39_;
		_tmp41_ = gee_iterable_iterator ((GeeIterable*) _tmp40_);
		_tmp42_ = _tmp41_;
		_g_object_unref0 (_tmp40_);
		_e_it = _tmp42_;
		while (TRUE) {
			GeeIterator* _tmp43_;
			GeeMapEntry* e = NULL;
			GeeIterator* _tmp44_;
			gpointer _tmp45_;
			GeeMapEntry* _tmp46_;
			gchar** _tmp47_;
			gint _tmp47__length1;
			const gchar* _tmp48_;
			gchar** _tmp49_;
			gint _tmp49__length1;
			const gchar* _tmp50_;
			gint _tmp51_;
			_tmp43_ = _e_it;
			if (!gee_iterator_next (_tmp43_)) {
				break;
			}
			_tmp44_ = _e_it;
			_tmp45_ = gee_iterator_get (_tmp44_);
			e = (GeeMapEntry*) _tmp45_;
			_tmp46_ = e;
			_tmp47_ = contains;
			_tmp47__length1 = contains_length1;
			_tmp48_ = _tmp47_[i];
			_tmp49_ = contains;
			_tmp49__length1 = contains_length1;
			_tmp50_ = _tmp49_[i];
			map_tests_assert_entry (_tmp46_, _tmp48_, _tmp50_);
			_tmp51_ = i;
			i = _tmp51_ + 1;
			_g_object_unref0 (e);
		}
		_g_object_unref0 (_e_it);
	}
	_tmp52_ = contains;
	_tmp52__length1 = contains_length1;
	_vala_assert (i == _tmp52__length1, "i == contains.length");
	if (self->priv->type != GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY) {
		GeeMapIterator* map_iter = NULL;
		GeeSortedMap* _tmp53_;
		GeeMapIterator* _tmp54_;
		GeeMapIterator* _tmp55_;
		GeeMapIterator* _tmp56_;
		gpointer _tmp57_;
		gchar* _tmp58_;
		gchar** _tmp59_;
		gint _tmp59__length1;
		const gchar* _tmp60_;
		GeeMapIterator* _tmp61_;
		gpointer _tmp62_;
		gchar* _tmp63_;
		gchar** _tmp64_;
		gint _tmp64__length1;
		const gchar* _tmp65_;
		GeeMapIterator* _tmp66_;
		GeeMapIterator* _tmp67_;
		GeeMapIterator* _tmp68_;
		gpointer _tmp69_;
		gchar* _tmp70_;
		gchar** _tmp71_;
		gint _tmp71__length1;
		const gchar* _tmp72_;
		GeeMapIterator* _tmp73_;
		gpointer _tmp74_;
		gchar* _tmp75_;
		gchar** _tmp76_;
		gint _tmp76__length1;
		const gchar* _tmp77_;
		GeeSortedMap* _tmp78_;
		gchar** _tmp79_ = NULL;
		gint _tmp80_ = 0;
		gchar** _tmp81_ = NULL;
		gint _tmp82_ = 0;
		GeeIterator* keys_iter = NULL;
		GeeSortedMap* _tmp83_;
		GeeSortedSet* _tmp84_;
		GeeSortedSet* _tmp85_;
		GeeSortedSet* _tmp86_;
		GeeIterator* _tmp87_;
		GeeIterator* _tmp88_;
		GeeIterator* _tmp89_;
		GeeIterator* _tmp90_;
		GeeIterator* _tmp91_;
		gpointer _tmp92_;
		gchar* _tmp93_;
		gchar** _tmp94_;
		gint _tmp94__length1;
		const gchar* _tmp95_;
		GeeIterator* _tmp96_;
		GeeIterator* _tmp97_;
		GeeIterator* _tmp98_;
		gpointer _tmp99_;
		gchar* _tmp100_;
		gchar** _tmp101_;
		gint _tmp101__length1;
		const gchar* _tmp102_;
		GeeSortedMap* _tmp103_;
		gchar** _tmp104_ = NULL;
		gint _tmp105_ = 0;
		gchar** _tmp106_ = NULL;
		gint _tmp107_ = 0;
		GeeIterator* entries_iter = NULL;
		GeeSortedMap* _tmp108_;
		GeeSortedSet* _tmp109_;
		GeeSortedSet* _tmp110_;
		GeeSortedSet* _tmp111_;
		GeeIterator* _tmp112_;
		GeeIterator* _tmp113_;
		GeeIterator* _tmp114_;
		GeeIterator* _tmp115_;
		GeeIterator* _tmp116_;
		gpointer _tmp117_;
		GeeMapEntry* _tmp118_;
		gchar** _tmp119_;
		gint _tmp119__length1;
		const gchar* _tmp120_;
		gchar** _tmp121_;
		gint _tmp121__length1;
		const gchar* _tmp122_;
		GeeIterator* _tmp123_;
		GeeIterator* _tmp124_;
		GeeIterator* _tmp125_;
		gpointer _tmp126_;
		GeeMapEntry* _tmp127_;
		gchar** _tmp128_;
		gint _tmp128__length1;
		const gchar* _tmp129_;
		gchar** _tmp130_;
		gint _tmp130__length1;
		const gchar* _tmp131_;
		_tmp53_ = self->priv->submap;
		_tmp54_ = gee_map_map_iterator ((GeeMap*) _tmp53_);
		map_iter = _tmp54_;
		_tmp55_ = map_iter;
		_vala_assert (gee_map_iterator_next (_tmp55_), "map_iter.next ()");
		_tmp56_ = map_iter;
		_tmp57_ = gee_map_iterator_get_key (_tmp56_);
		_tmp58_ = (gchar*) _tmp57_;
		_tmp59_ = contains;
		_tmp59__length1 = contains_length1;
		_tmp60_ = _tmp59_[0];
		_vala_assert (g_strcmp0 (_tmp58_, _tmp60_) == 0, "map_iter.get_key () == contains[0]");
		_g_free0 (_tmp58_);
		_tmp61_ = map_iter;
		_tmp62_ = gee_map_iterator_get_value (_tmp61_);
		_tmp63_ = (gchar*) _tmp62_;
		_tmp64_ = contains;
		_tmp64__length1 = contains_length1;
		_tmp65_ = _tmp64_[0];
		_vala_assert (g_strcmp0 (_tmp63_, _tmp65_) == 0, "map_iter.get_value () == contains[0]");
		_g_free0 (_tmp63_);
		_tmp66_ = map_iter;
		_vala_assert (gee_map_iterator_has_next (_tmp66_), "map_iter.has_next ()");
		_tmp67_ = map_iter;
		_vala_assert (gee_map_iterator_next (_tmp67_), "map_iter.next ()");
		_tmp68_ = map_iter;
		_tmp69_ = gee_map_iterator_get_key (_tmp68_);
		_tmp70_ = (gchar*) _tmp69_;
		_tmp71_ = contains;
		_tmp71__length1 = contains_length1;
		_tmp72_ = _tmp71_[1];
		_vala_assert (g_strcmp0 (_tmp70_, _tmp72_) == 0, "map_iter.get_key () == contains[1]");
		_g_free0 (_tmp70_);
		_tmp73_ = map_iter;
		_tmp74_ = gee_map_iterator_get_value (_tmp73_);
		_tmp75_ = (gchar*) _tmp74_;
		_tmp76_ = contains;
		_tmp76__length1 = contains_length1;
		_tmp77_ = _tmp76_[1];
		_vala_assert (g_strcmp0 (_tmp75_, _tmp77_) == 0, "map_iter.get_value () == contains[1]");
		_g_free0 (_tmp75_);
		_tmp78_ = self->priv->master;
		gee_map_clear ((GeeMap*) _tmp78_);
		gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp79_, &_tmp80_, &_tmp81_, &_tmp82_);
		contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
		contains = _tmp79_;
		contains_length1 = _tmp80_;
		_contains_size_ = contains_length1;
		not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
		not_contains = _tmp81_;
		not_contains_length1 = _tmp82_;
		_not_contains_size_ = not_contains_length1;
		_tmp83_ = self->priv->submap;
		_tmp84_ = gee_sorted_map_get_ascending_keys (_tmp83_);
		_tmp85_ = _tmp84_;
		_tmp86_ = _tmp85_;
		_tmp87_ = gee_iterable_iterator ((GeeIterable*) _tmp86_);
		_tmp88_ = _tmp87_;
		_g_object_unref0 (_tmp86_);
		keys_iter = _tmp88_;
		_tmp89_ = keys_iter;
		_vala_assert (gee_iterator_has_next (_tmp89_), "keys_iter.has_next ()");
		_tmp90_ = keys_iter;
		_vala_assert (gee_iterator_next (_tmp90_), "keys_iter.next ()");
		_tmp91_ = keys_iter;
		_tmp92_ = gee_iterator_get (_tmp91_);
		_tmp93_ = (gchar*) _tmp92_;
		_tmp94_ = contains;
		_tmp94__length1 = contains_length1;
		_tmp95_ = _tmp94_[0];
		_vala_assert (g_strcmp0 (_tmp93_, _tmp95_) == 0, "keys_iter.get () == contains[0]");
		_g_free0 (_tmp93_);
		_tmp96_ = keys_iter;
		_vala_assert (gee_iterator_has_next (_tmp96_), "keys_iter.has_next ()");
		_tmp97_ = keys_iter;
		_vala_assert (gee_iterator_next (_tmp97_), "keys_iter.next ()");
		_tmp98_ = keys_iter;
		_tmp99_ = gee_iterator_get (_tmp98_);
		_tmp100_ = (gchar*) _tmp99_;
		_tmp101_ = contains;
		_tmp101__length1 = contains_length1;
		_tmp102_ = _tmp101_[1];
		_vala_assert (g_strcmp0 (_tmp100_, _tmp102_) == 0, "keys_iter.get () == contains[1]");
		_g_free0 (_tmp100_);
		_tmp103_ = self->priv->master;
		gee_map_clear ((GeeMap*) _tmp103_);
		gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp104_, &_tmp105_, &_tmp106_, &_tmp107_);
		contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
		contains = _tmp104_;
		contains_length1 = _tmp105_;
		_contains_size_ = contains_length1;
		not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
		not_contains = _tmp106_;
		not_contains_length1 = _tmp107_;
		_not_contains_size_ = not_contains_length1;
		_tmp108_ = self->priv->submap;
		_tmp109_ = gee_sorted_map_get_ascending_entries (_tmp108_);
		_tmp110_ = _tmp109_;
		_tmp111_ = _tmp110_;
		_tmp112_ = gee_iterable_iterator ((GeeIterable*) _tmp111_);
		_tmp113_ = _tmp112_;
		_g_object_unref0 (_tmp111_);
		entries_iter = _tmp113_;
		_tmp114_ = entries_iter;
		_vala_assert (gee_iterator_has_next (_tmp114_), "entries_iter.has_next ()");
		_tmp115_ = entries_iter;
		_vala_assert (gee_iterator_next (_tmp115_), "entries_iter.next ()");
		_tmp116_ = entries_iter;
		_tmp117_ = gee_iterator_get (_tmp116_);
		_tmp118_ = (GeeMapEntry*) _tmp117_;
		_tmp119_ = contains;
		_tmp119__length1 = contains_length1;
		_tmp120_ = _tmp119_[0];
		_tmp121_ = contains;
		_tmp121__length1 = contains_length1;
		_tmp122_ = _tmp121_[0];
		map_tests_assert_entry (_tmp118_, _tmp120_, _tmp122_);
		_g_object_unref0 (_tmp118_);
		_tmp123_ = entries_iter;
		_vala_assert (gee_iterator_has_next (_tmp123_), "entries_iter.has_next ()");
		_tmp124_ = entries_iter;
		_vala_assert (gee_iterator_next (_tmp124_), "entries_iter.next ()");
		_tmp125_ = entries_iter;
		_tmp126_ = gee_iterator_get (_tmp125_);
		_tmp127_ = (GeeMapEntry*) _tmp126_;
		_tmp128_ = contains;
		_tmp128__length1 = contains_length1;
		_tmp129_ = _tmp128_[1];
		_tmp130_ = contains;
		_tmp130__length1 = contains_length1;
		_tmp131_ = _tmp130_[1];
		map_tests_assert_entry (_tmp127_, _tmp129_, _tmp131_);
		_g_object_unref0 (_tmp127_);
		_g_object_unref0 (entries_iter);
		_g_object_unref0 (keys_iter);
		_g_object_unref0 (map_iter);
	} else {
		GeeIterator* keys_iter = NULL;
		GeeSortedMap* _tmp132_;
		GeeSortedSet* _tmp133_;
		GeeSortedSet* _tmp134_;
		GeeSortedSet* _tmp135_;
		GeeIterator* _tmp136_;
		GeeIterator* _tmp137_;
		_tmp132_ = self->priv->submap;
		_tmp133_ = gee_sorted_map_get_ascending_keys (_tmp132_);
		_tmp134_ = _tmp133_;
		_tmp135_ = _tmp134_;
		_tmp136_ = gee_iterable_iterator ((GeeIterable*) _tmp135_);
		_tmp137_ = _tmp136_;
		_g_object_unref0 (_tmp135_);
		keys_iter = _tmp137_;
		if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
			GeeIterator* _tmp138_;
			_tmp138_ = keys_iter;
			gee_iterator_remove (_tmp138_);
			exit (0);
		}
		g_test_trap_assert_failed ();
		_g_object_unref0 (keys_iter);
	}
	_g_object_unref0 (_map_iter);
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_boundaries (GeeSortedMapTestsSubMapTests* self)
{
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp0_;
	GeeSortedSet* _tmp1_;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_sorted_map_get_ascending_keys (_tmp0_);
	_tmp2_ = _tmp1_;
	keys = _tmp2_;
	_tmp3_ = self->priv->submap;
	_tmp4_ = gee_sorted_map_get_ascending_entries (_tmp3_);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp6_, &_tmp7_, &_tmp8_, &_tmp9_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp6_;
	contains_length1 = _tmp7_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp8_;
	not_contains_length1 = _tmp9_;
	_not_contains_size_ = not_contains_length1;
	switch (self->priv->type) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp10_;
			gpointer _tmp11_;
			gchar* _tmp12_;
			GeeSortedSet* _tmp13_;
			gpointer _tmp14_;
			gchar* _tmp15_;
			GeeSortedSet* _tmp16_;
			gpointer _tmp17_;
			GeeMapEntry* _tmp18_;
			GeeSortedSet* _tmp19_;
			gpointer _tmp20_;
			GeeMapEntry* _tmp21_;
			_tmp10_ = keys;
			_tmp11_ = gee_sorted_set_first (_tmp10_);
			_tmp12_ = (gchar*) _tmp11_;
			_vala_assert (g_strcmp0 (_tmp12_, "five") == 0, "keys.first () == \"five\"");
			_g_free0 (_tmp12_);
			_tmp13_ = keys;
			_tmp14_ = gee_sorted_set_last (_tmp13_);
			_tmp15_ = (gchar*) _tmp14_;
			_vala_assert (g_strcmp0 (_tmp15_, "four") == 0, "keys.last () == \"four\"");
			_g_free0 (_tmp15_);
			_tmp16_ = entries;
			_tmp17_ = gee_sorted_set_first (_tmp16_);
			_tmp18_ = (GeeMapEntry*) _tmp17_;
			map_tests_assert_entry (_tmp18_, "five", "five");
			_g_object_unref0 (_tmp18_);
			_tmp19_ = entries;
			_tmp20_ = gee_sorted_set_last (_tmp19_);
			_tmp21_ = (GeeMapEntry*) _tmp20_;
			map_tests_assert_entry (_tmp21_, "four", "four");
			_g_object_unref0 (_tmp21_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp22_;
			gpointer _tmp23_;
			gchar* _tmp24_;
			GeeSortedSet* _tmp25_;
			gpointer _tmp26_;
			gchar* _tmp27_;
			GeeSortedSet* _tmp28_;
			gpointer _tmp29_;
			GeeMapEntry* _tmp30_;
			GeeSortedSet* _tmp31_;
			gpointer _tmp32_;
			GeeMapEntry* _tmp33_;
			_tmp22_ = keys;
			_tmp23_ = gee_sorted_set_first (_tmp22_);
			_tmp24_ = (gchar*) _tmp23_;
			_vala_assert (g_strcmp0 (_tmp24_, "six") == 0, "keys.first () == \"six\"");
			_g_free0 (_tmp24_);
			_tmp25_ = keys;
			_tmp26_ = gee_sorted_set_last (_tmp25_);
			_tmp27_ = (gchar*) _tmp26_;
			_vala_assert (g_strcmp0 (_tmp27_, "two") == 0, "keys.last () == \"two\"");
			_g_free0 (_tmp27_);
			_tmp28_ = entries;
			_tmp29_ = gee_sorted_set_first (_tmp28_);
			_tmp30_ = (GeeMapEntry*) _tmp29_;
			map_tests_assert_entry (_tmp30_, "six", "six");
			_g_object_unref0 (_tmp30_);
			_tmp31_ = entries;
			_tmp32_ = gee_sorted_set_last (_tmp31_);
			_tmp33_ = (GeeMapEntry*) _tmp32_;
			map_tests_assert_entry (_tmp33_, "two", "two");
			_g_object_unref0 (_tmp33_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp34_;
			gpointer _tmp35_;
			gchar* _tmp36_;
			GeeSortedSet* _tmp37_;
			gpointer _tmp38_;
			gchar* _tmp39_;
			GeeSortedSet* _tmp40_;
			gpointer _tmp41_;
			GeeMapEntry* _tmp42_;
			GeeSortedSet* _tmp43_;
			gpointer _tmp44_;
			GeeMapEntry* _tmp45_;
			_tmp34_ = keys;
			_tmp35_ = gee_sorted_set_first (_tmp34_);
			_tmp36_ = (gchar*) _tmp35_;
			_vala_assert (g_strcmp0 (_tmp36_, "four") == 0, "keys.first () == \"four\"");
			_g_free0 (_tmp36_);
			_tmp37_ = keys;
			_tmp38_ = gee_sorted_set_last (_tmp37_);
			_tmp39_ = (gchar*) _tmp38_;
			_vala_assert (g_strcmp0 (_tmp39_, "six") == 0, "keys.last () == \"six\"");
			_g_free0 (_tmp39_);
			_tmp40_ = entries;
			_tmp41_ = gee_sorted_set_first (_tmp40_);
			_tmp42_ = (GeeMapEntry*) _tmp41_;
			map_tests_assert_entry (_tmp42_, "four", "four");
			_g_object_unref0 (_tmp42_);
			_tmp43_ = entries;
			_tmp44_ = gee_sorted_set_last (_tmp43_);
			_tmp45_ = (GeeMapEntry*) _tmp44_;
			map_tests_assert_entry (_tmp45_, "six", "six");
			_g_object_unref0 (_tmp45_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
				GeeSortedSet* _tmp46_;
				gpointer _tmp47_;
				gchar* _tmp48_;
				_tmp46_ = keys;
				_tmp47_ = gee_sorted_set_first (_tmp46_);
				_tmp48_ = (gchar*) _tmp47_;
				_g_free0 (_tmp48_);
				exit (0);
			}
			g_test_trap_assert_failed ();
			if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
				GeeSortedSet* _tmp49_;
				gpointer _tmp50_;
				gchar* _tmp51_;
				_tmp49_ = keys;
				_tmp50_ = gee_sorted_set_last (_tmp49_);
				_tmp51_ = (gchar*) _tmp50_;
				_g_free0 (_tmp51_);
				exit (0);
			}
			g_test_trap_assert_failed ();
			if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
				GeeSortedSet* _tmp52_;
				gpointer _tmp53_;
				GeeMapEntry* _tmp54_;
				_tmp52_ = entries;
				_tmp53_ = gee_sorted_set_first (_tmp52_);
				_tmp54_ = (GeeMapEntry*) _tmp53_;
				_g_object_unref0 (_tmp54_);
				exit (0);
			}
			g_test_trap_assert_failed ();
			if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
				GeeSortedSet* _tmp55_;
				gpointer _tmp56_;
				GeeMapEntry* _tmp57_;
				_tmp55_ = entries;
				_tmp56_ = gee_sorted_set_last (_tmp55_);
				_tmp57_ = (GeeMapEntry*) _tmp56_;
				_g_object_unref0 (_tmp57_);
				exit (0);
			}
			g_test_trap_assert_failed ();
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
}

void
gee_sorted_map_tests_sub_map_tests_test_lower (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp0_;
	GeeSortedSet* _tmp1_;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_sorted_map_get_ascending_keys (_tmp0_);
	_tmp2_ = _tmp1_;
	keys = _tmp2_;
	_tmp3_ = self->priv->submap;
	_tmp4_ = gee_sorted_map_get_ascending_entries (_tmp3_);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp6_, &_tmp7_, &_tmp8_, &_tmp9_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp6_;
	contains_length1 = _tmp7_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp8_;
	not_contains_length1 = _tmp9_;
	_not_contains_size_ = not_contains_length1;
	switch (self->priv->type) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp10_;
			gpointer _tmp11_;
			gchar* _tmp12_;
			GeeSortedSet* _tmp13_;
			GeeMapEntry* _tmp14_;
			GeeMapEntry* _tmp15_;
			gpointer _tmp16_;
			GeeMapEntry* _tmp17_;
			GeeSortedSet* _tmp18_;
			gpointer _tmp19_;
			gchar* _tmp20_;
			GeeSortedSet* _tmp21_;
			GeeMapEntry* _tmp22_;
			GeeMapEntry* _tmp23_;
			gpointer _tmp24_;
			GeeMapEntry* _tmp25_;
			GeeSortedSet* _tmp26_;
			gpointer _tmp27_;
			gchar* _tmp28_;
			GeeSortedSet* _tmp29_;
			GeeMapEntry* _tmp30_;
			GeeMapEntry* _tmp31_;
			gpointer _tmp32_;
			GeeMapEntry* _tmp33_;
			GeeSortedSet* _tmp34_;
			gpointer _tmp35_;
			gchar* _tmp36_;
			GeeSortedSet* _tmp37_;
			GeeMapEntry* _tmp38_;
			GeeMapEntry* _tmp39_;
			gpointer _tmp40_;
			GeeMapEntry* _tmp41_;
			_tmp10_ = keys;
			_tmp11_ = gee_sorted_set_lower (_tmp10_, "a");
			_tmp12_ = (gchar*) _tmp11_;
			_vala_assert (_tmp12_ == NULL, "keys.lower (\"a\") == null");
			_g_free0 (_tmp12_);
			_tmp13_ = entries;
			_tmp14_ = map_tests_entry_for ("a", "a");
			_tmp15_ = _tmp14_;
			_tmp16_ = gee_sorted_set_lower (_tmp13_, _tmp15_);
			_tmp17_ = (GeeMapEntry*) _tmp16_;
			_vala_assert (_tmp17_ == NULL, "entries.lower (MapTests.entry_for (\"a\", \"a\")) == null");
			_g_object_unref0 (_tmp17_);
			_g_object_unref0 (_tmp15_);
			_tmp18_ = keys;
			_tmp19_ = gee_sorted_set_lower (_tmp18_, "five");
			_tmp20_ = (gchar*) _tmp19_;
			_vala_assert (_tmp20_ == NULL, "keys.lower (\"five\") == null");
			_g_free0 (_tmp20_);
			_tmp21_ = entries;
			_tmp22_ = map_tests_entry_for ("five", "five");
			_tmp23_ = _tmp22_;
			_tmp24_ = gee_sorted_set_lower (_tmp21_, _tmp23_);
			_tmp25_ = (GeeMapEntry*) _tmp24_;
			_vala_assert (_tmp25_ == NULL, "entries.lower (MapTests.entry_for (\"five\", \"five\")) == null");
			_g_object_unref0 (_tmp25_);
			_g_object_unref0 (_tmp23_);
			_tmp26_ = keys;
			_tmp27_ = gee_sorted_set_lower (_tmp26_, "four");
			_tmp28_ = (gchar*) _tmp27_;
			_vala_assert (g_strcmp0 (_tmp28_, "five") == 0, "keys.lower (\"four\") == \"five\"");
			_g_free0 (_tmp28_);
			_tmp29_ = entries;
			_tmp30_ = map_tests_entry_for ("four", "four");
			_tmp31_ = _tmp30_;
			_tmp32_ = gee_sorted_set_lower (_tmp29_, _tmp31_);
			_tmp33_ = (GeeMapEntry*) _tmp32_;
			map_tests_assert_entry (_tmp33_, "five", "five");
			_g_object_unref0 (_tmp33_);
			_g_object_unref0 (_tmp31_);
			_tmp34_ = keys;
			_tmp35_ = gee_sorted_set_lower (_tmp34_, "six");
			_tmp36_ = (gchar*) _tmp35_;
			_vala_assert (g_strcmp0 (_tmp36_, "four") == 0, "keys.lower (\"six\") == \"four\"");
			_g_free0 (_tmp36_);
			_tmp37_ = entries;
			_tmp38_ = map_tests_entry_for ("six", "six");
			_tmp39_ = _tmp38_;
			_tmp40_ = gee_sorted_set_lower (_tmp37_, _tmp39_);
			_tmp41_ = (GeeMapEntry*) _tmp40_;
			map_tests_assert_entry (_tmp41_, "four", "four");
			_g_object_unref0 (_tmp41_);
			_g_object_unref0 (_tmp39_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp42_;
			gpointer _tmp43_;
			gchar* _tmp44_;
			GeeSortedSet* _tmp45_;
			GeeMapEntry* _tmp46_;
			GeeMapEntry* _tmp47_;
			gpointer _tmp48_;
			GeeMapEntry* _tmp49_;
			GeeSortedSet* _tmp50_;
			gpointer _tmp51_;
			gchar* _tmp52_;
			GeeSortedSet* _tmp53_;
			GeeMapEntry* _tmp54_;
			GeeMapEntry* _tmp55_;
			gpointer _tmp56_;
			GeeMapEntry* _tmp57_;
			GeeSortedSet* _tmp58_;
			gpointer _tmp59_;
			gchar* _tmp60_;
			GeeSortedSet* _tmp61_;
			GeeMapEntry* _tmp62_;
			GeeMapEntry* _tmp63_;
			gpointer _tmp64_;
			GeeMapEntry* _tmp65_;
			GeeSortedSet* _tmp66_;
			gpointer _tmp67_;
			gchar* _tmp68_;
			GeeSortedSet* _tmp69_;
			GeeMapEntry* _tmp70_;
			GeeMapEntry* _tmp71_;
			gpointer _tmp72_;
			GeeMapEntry* _tmp73_;
			GeeSortedSet* _tmp74_;
			gpointer _tmp75_;
			gchar* _tmp76_;
			GeeSortedSet* _tmp77_;
			GeeMapEntry* _tmp78_;
			GeeMapEntry* _tmp79_;
			gpointer _tmp80_;
			GeeMapEntry* _tmp81_;
			_tmp42_ = keys;
			_tmp43_ = gee_sorted_set_lower (_tmp42_, "one");
			_tmp44_ = (gchar*) _tmp43_;
			_vala_assert (_tmp44_ == NULL, "keys.lower (\"one\") == null");
			_g_free0 (_tmp44_);
			_tmp45_ = entries;
			_tmp46_ = map_tests_entry_for ("one", "one");
			_tmp47_ = _tmp46_;
			_tmp48_ = gee_sorted_set_lower (_tmp45_, _tmp47_);
			_tmp49_ = (GeeMapEntry*) _tmp48_;
			_vala_assert (_tmp49_ == NULL, "entries.lower (MapTests.entry_for (\"one\", \"one\")) == null");
			_g_object_unref0 (_tmp49_);
			_g_object_unref0 (_tmp47_);
			_tmp50_ = keys;
			_tmp51_ = gee_sorted_set_lower (_tmp50_, "six");
			_tmp52_ = (gchar*) _tmp51_;
			_vala_assert (_tmp52_ == NULL, "keys.lower (\"six\") == null");
			_g_free0 (_tmp52_);
			_tmp53_ = entries;
			_tmp54_ = map_tests_entry_for ("six", "six");
			_tmp55_ = _tmp54_;
			_tmp56_ = gee_sorted_set_lower (_tmp53_, _tmp55_);
			_tmp57_ = (GeeMapEntry*) _tmp56_;
			_vala_assert (_tmp57_ == NULL, "entries.lower (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp57_);
			_g_object_unref0 (_tmp55_);
			_tmp58_ = keys;
			_tmp59_ = gee_sorted_set_lower (_tmp58_, "three");
			_tmp60_ = (gchar*) _tmp59_;
			_vala_assert (g_strcmp0 (_tmp60_, "six") == 0, "keys.lower (\"three\") == \"six\"");
			_g_free0 (_tmp60_);
			_tmp61_ = entries;
			_tmp62_ = map_tests_entry_for ("three", "three");
			_tmp63_ = _tmp62_;
			_tmp64_ = gee_sorted_set_lower (_tmp61_, _tmp63_);
			_tmp65_ = (GeeMapEntry*) _tmp64_;
			map_tests_assert_entry (_tmp65_, "six", "six");
			_g_object_unref0 (_tmp65_);
			_g_object_unref0 (_tmp63_);
			_tmp66_ = keys;
			_tmp67_ = gee_sorted_set_lower (_tmp66_, "two");
			_tmp68_ = (gchar*) _tmp67_;
			_vala_assert (g_strcmp0 (_tmp68_, "three") == 0, "keys.lower (\"two\") == \"three\"");
			_g_free0 (_tmp68_);
			_tmp69_ = entries;
			_tmp70_ = map_tests_entry_for ("two", "two");
			_tmp71_ = _tmp70_;
			_tmp72_ = gee_sorted_set_lower (_tmp69_, _tmp71_);
			_tmp73_ = (GeeMapEntry*) _tmp72_;
			map_tests_assert_entry (_tmp73_, "three", "three");
			_g_object_unref0 (_tmp73_);
			_g_object_unref0 (_tmp71_);
			_tmp74_ = keys;
			_tmp75_ = gee_sorted_set_lower (_tmp74_, "z");
			_tmp76_ = (gchar*) _tmp75_;
			_vala_assert (g_strcmp0 (_tmp76_, "two") == 0, "keys.lower (\"z\") == \"two\"");
			_g_free0 (_tmp76_);
			_tmp77_ = entries;
			_tmp78_ = map_tests_entry_for ("z", "z");
			_tmp79_ = _tmp78_;
			_tmp80_ = gee_sorted_set_lower (_tmp77_, _tmp79_);
			_tmp81_ = (GeeMapEntry*) _tmp80_;
			map_tests_assert_entry (_tmp81_, "two", "two");
			_g_object_unref0 (_tmp81_);
			_g_object_unref0 (_tmp79_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp82_;
			gpointer _tmp83_;
			gchar* _tmp84_;
			GeeSortedSet* _tmp85_;
			GeeMapEntry* _tmp86_;
			GeeMapEntry* _tmp87_;
			gpointer _tmp88_;
			GeeMapEntry* _tmp89_;
			GeeSortedSet* _tmp90_;
			gpointer _tmp91_;
			gchar* _tmp92_;
			GeeSortedSet* _tmp93_;
			GeeMapEntry* _tmp94_;
			GeeMapEntry* _tmp95_;
			gpointer _tmp96_;
			GeeMapEntry* _tmp97_;
			GeeSortedSet* _tmp98_;
			gpointer _tmp99_;
			gchar* _tmp100_;
			GeeSortedSet* _tmp101_;
			GeeMapEntry* _tmp102_;
			GeeMapEntry* _tmp103_;
			gpointer _tmp104_;
			GeeMapEntry* _tmp105_;
			GeeSortedSet* _tmp106_;
			gpointer _tmp107_;
			gchar* _tmp108_;
			GeeSortedSet* _tmp109_;
			GeeMapEntry* _tmp110_;
			GeeMapEntry* _tmp111_;
			gpointer _tmp112_;
			GeeMapEntry* _tmp113_;
			GeeSortedSet* _tmp114_;
			gpointer _tmp115_;
			gchar* _tmp116_;
			GeeSortedSet* _tmp117_;
			GeeMapEntry* _tmp118_;
			GeeMapEntry* _tmp119_;
			gpointer _tmp120_;
			GeeMapEntry* _tmp121_;
			_tmp82_ = keys;
			_tmp83_ = gee_sorted_set_lower (_tmp82_, "five");
			_tmp84_ = (gchar*) _tmp83_;
			_vala_assert (_tmp84_ == NULL, "keys.lower (\"five\") == null");
			_g_free0 (_tmp84_);
			_tmp85_ = entries;
			_tmp86_ = map_tests_entry_for ("five", "five");
			_tmp87_ = _tmp86_;
			_tmp88_ = gee_sorted_set_lower (_tmp85_, _tmp87_);
			_tmp89_ = (GeeMapEntry*) _tmp88_;
			_vala_assert (_tmp89_ == NULL, "entries.lower (MapTests.entry_for (\"five\", \"five\")) == null");
			_g_object_unref0 (_tmp89_);
			_g_object_unref0 (_tmp87_);
			_tmp90_ = keys;
			_tmp91_ = gee_sorted_set_lower (_tmp90_, "four");
			_tmp92_ = (gchar*) _tmp91_;
			_vala_assert (_tmp92_ == NULL, "keys.lower (\"four\") == null");
			_g_free0 (_tmp92_);
			_tmp93_ = entries;
			_tmp94_ = map_tests_entry_for ("four", "four");
			_tmp95_ = _tmp94_;
			_tmp96_ = gee_sorted_set_lower (_tmp93_, _tmp95_);
			_tmp97_ = (GeeMapEntry*) _tmp96_;
			_vala_assert (_tmp97_ == NULL, "entries.lower (MapTests.entry_for (\"four\", \"four\")) == null");
			_g_object_unref0 (_tmp97_);
			_g_object_unref0 (_tmp95_);
			_tmp98_ = keys;
			_tmp99_ = gee_sorted_set_lower (_tmp98_, "one");
			_tmp100_ = (gchar*) _tmp99_;
			_vala_assert (g_strcmp0 (_tmp100_, "four") == 0, "keys.lower (\"one\") == \"four\"");
			_g_free0 (_tmp100_);
			_tmp101_ = entries;
			_tmp102_ = map_tests_entry_for ("one", "one");
			_tmp103_ = _tmp102_;
			_tmp104_ = gee_sorted_set_lower (_tmp101_, _tmp103_);
			_tmp105_ = (GeeMapEntry*) _tmp104_;
			map_tests_assert_entry (_tmp105_, "four", "four");
			_g_object_unref0 (_tmp105_);
			_g_object_unref0 (_tmp103_);
			_tmp106_ = keys;
			_tmp107_ = gee_sorted_set_lower (_tmp106_, "six");
			_tmp108_ = (gchar*) _tmp107_;
			_vala_assert (g_strcmp0 (_tmp108_, "one") == 0, "keys.lower (\"six\") == \"one\"");
			_g_free0 (_tmp108_);
			_tmp109_ = entries;
			_tmp110_ = map_tests_entry_for ("six", "six");
			_tmp111_ = _tmp110_;
			_tmp112_ = gee_sorted_set_lower (_tmp109_, _tmp111_);
			_tmp113_ = (GeeMapEntry*) _tmp112_;
			map_tests_assert_entry (_tmp113_, "one", "one");
			_g_object_unref0 (_tmp113_);
			_g_object_unref0 (_tmp111_);
			_tmp114_ = keys;
			_tmp115_ = gee_sorted_set_lower (_tmp114_, "three");
			_tmp116_ = (gchar*) _tmp115_;
			_vala_assert (g_strcmp0 (_tmp116_, "six") == 0, "keys.lower (\"three\") == \"six\"");
			_g_free0 (_tmp116_);
			_tmp117_ = entries;
			_tmp118_ = map_tests_entry_for ("three", "three");
			_tmp119_ = _tmp118_;
			_tmp120_ = gee_sorted_set_lower (_tmp117_, _tmp119_);
			_tmp121_ = (GeeMapEntry*) _tmp120_;
			map_tests_assert_entry (_tmp121_, "six", "six");
			_g_object_unref0 (_tmp121_);
			_g_object_unref0 (_tmp119_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp122_;
			gpointer _tmp123_;
			gchar* _tmp124_;
			GeeSortedSet* _tmp125_;
			GeeMapEntry* _tmp126_;
			GeeMapEntry* _tmp127_;
			gpointer _tmp128_;
			GeeMapEntry* _tmp129_;
			_tmp122_ = keys;
			_tmp123_ = gee_sorted_set_lower (_tmp122_, "six");
			_tmp124_ = (gchar*) _tmp123_;
			_vala_assert (_tmp124_ == NULL, "keys.lower (\"six\") == null");
			_g_free0 (_tmp124_);
			_tmp125_ = entries;
			_tmp126_ = map_tests_entry_for ("six", "six");
			_tmp127_ = _tmp126_;
			_tmp128_ = gee_sorted_set_lower (_tmp125_, _tmp127_);
			_tmp129_ = (GeeMapEntry*) _tmp128_;
			_vala_assert (_tmp129_ == NULL, "entries.lower (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp129_);
			_g_object_unref0 (_tmp127_);
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_higher (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp0_;
	GeeSortedSet* _tmp1_;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_sorted_map_get_ascending_keys (_tmp0_);
	_tmp2_ = _tmp1_;
	keys = _tmp2_;
	_tmp3_ = self->priv->submap;
	_tmp4_ = gee_sorted_map_get_ascending_entries (_tmp3_);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp6_, &_tmp7_, &_tmp8_, &_tmp9_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp6_;
	contains_length1 = _tmp7_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp8_;
	not_contains_length1 = _tmp9_;
	_not_contains_size_ = not_contains_length1;
	switch (self->priv->type) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp10_;
			gpointer _tmp11_;
			gchar* _tmp12_;
			GeeSortedSet* _tmp13_;
			GeeMapEntry* _tmp14_;
			GeeMapEntry* _tmp15_;
			gpointer _tmp16_;
			GeeMapEntry* _tmp17_;
			GeeSortedSet* _tmp18_;
			gpointer _tmp19_;
			gchar* _tmp20_;
			GeeSortedSet* _tmp21_;
			GeeMapEntry* _tmp22_;
			GeeMapEntry* _tmp23_;
			gpointer _tmp24_;
			GeeMapEntry* _tmp25_;
			GeeSortedSet* _tmp26_;
			gpointer _tmp27_;
			gchar* _tmp28_;
			GeeSortedSet* _tmp29_;
			GeeMapEntry* _tmp30_;
			GeeMapEntry* _tmp31_;
			gpointer _tmp32_;
			GeeMapEntry* _tmp33_;
			GeeSortedSet* _tmp34_;
			gpointer _tmp35_;
			gchar* _tmp36_;
			GeeSortedSet* _tmp37_;
			GeeMapEntry* _tmp38_;
			GeeMapEntry* _tmp39_;
			gpointer _tmp40_;
			GeeMapEntry* _tmp41_;
			_tmp10_ = keys;
			_tmp11_ = gee_sorted_set_higher (_tmp10_, "a");
			_tmp12_ = (gchar*) _tmp11_;
			_vala_assert (g_strcmp0 (_tmp12_, "five") == 0, "keys.higher (\"a\") == \"five\"");
			_g_free0 (_tmp12_);
			_tmp13_ = entries;
			_tmp14_ = map_tests_entry_for ("a", "a");
			_tmp15_ = _tmp14_;
			_tmp16_ = gee_sorted_set_higher (_tmp13_, _tmp15_);
			_tmp17_ = (GeeMapEntry*) _tmp16_;
			map_tests_assert_entry (_tmp17_, "five", "five");
			_g_object_unref0 (_tmp17_);
			_g_object_unref0 (_tmp15_);
			_tmp18_ = keys;
			_tmp19_ = gee_sorted_set_higher (_tmp18_, "five");
			_tmp20_ = (gchar*) _tmp19_;
			_vala_assert (g_strcmp0 (_tmp20_, "four") == 0, "keys.higher (\"five\") == \"four\"");
			_g_free0 (_tmp20_);
			_tmp21_ = entries;
			_tmp22_ = map_tests_entry_for ("five", "five");
			_tmp23_ = _tmp22_;
			_tmp24_ = gee_sorted_set_higher (_tmp21_, _tmp23_);
			_tmp25_ = (GeeMapEntry*) _tmp24_;
			map_tests_assert_entry (_tmp25_, "four", "four");
			_g_object_unref0 (_tmp25_);
			_g_object_unref0 (_tmp23_);
			_tmp26_ = keys;
			_tmp27_ = gee_sorted_set_higher (_tmp26_, "four");
			_tmp28_ = (gchar*) _tmp27_;
			_vala_assert (_tmp28_ == NULL, "keys.higher (\"four\") == null");
			_g_free0 (_tmp28_);
			_tmp29_ = entries;
			_tmp30_ = map_tests_entry_for ("four", "four");
			_tmp31_ = _tmp30_;
			_tmp32_ = gee_sorted_set_higher (_tmp29_, _tmp31_);
			_tmp33_ = (GeeMapEntry*) _tmp32_;
			_vala_assert (_tmp33_ == NULL, "entries.higher (MapTests.entry_for (\"four\", \"four\")) == null");
			_g_object_unref0 (_tmp33_);
			_g_object_unref0 (_tmp31_);
			_tmp34_ = keys;
			_tmp35_ = gee_sorted_set_higher (_tmp34_, "six");
			_tmp36_ = (gchar*) _tmp35_;
			_vala_assert (_tmp36_ == NULL, "keys.higher (\"six\") == null");
			_g_free0 (_tmp36_);
			_tmp37_ = entries;
			_tmp38_ = map_tests_entry_for ("six", "six");
			_tmp39_ = _tmp38_;
			_tmp40_ = gee_sorted_set_higher (_tmp37_, _tmp39_);
			_tmp41_ = (GeeMapEntry*) _tmp40_;
			_vala_assert (_tmp41_ == NULL, "entries.higher (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp41_);
			_g_object_unref0 (_tmp39_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp42_;
			gpointer _tmp43_;
			gchar* _tmp44_;
			GeeSortedSet* _tmp45_;
			GeeMapEntry* _tmp46_;
			GeeMapEntry* _tmp47_;
			gpointer _tmp48_;
			GeeMapEntry* _tmp49_;
			GeeSortedSet* _tmp50_;
			gpointer _tmp51_;
			gchar* _tmp52_;
			GeeSortedSet* _tmp53_;
			GeeMapEntry* _tmp54_;
			GeeMapEntry* _tmp55_;
			gpointer _tmp56_;
			GeeMapEntry* _tmp57_;
			GeeSortedSet* _tmp58_;
			gpointer _tmp59_;
			gchar* _tmp60_;
			GeeSortedSet* _tmp61_;
			GeeMapEntry* _tmp62_;
			GeeMapEntry* _tmp63_;
			gpointer _tmp64_;
			GeeMapEntry* _tmp65_;
			GeeSortedSet* _tmp66_;
			gpointer _tmp67_;
			gchar* _tmp68_;
			GeeSortedSet* _tmp69_;
			GeeMapEntry* _tmp70_;
			GeeMapEntry* _tmp71_;
			gpointer _tmp72_;
			GeeMapEntry* _tmp73_;
			GeeSortedSet* _tmp74_;
			gpointer _tmp75_;
			gchar* _tmp76_;
			GeeSortedSet* _tmp77_;
			GeeMapEntry* _tmp78_;
			GeeMapEntry* _tmp79_;
			gpointer _tmp80_;
			GeeMapEntry* _tmp81_;
			_tmp42_ = keys;
			_tmp43_ = gee_sorted_set_higher (_tmp42_, "one");
			_tmp44_ = (gchar*) _tmp43_;
			_vala_assert (g_strcmp0 (_tmp44_, "six") == 0, "keys.higher (\"one\") == \"six\"");
			_g_free0 (_tmp44_);
			_tmp45_ = entries;
			_tmp46_ = map_tests_entry_for ("one", "one");
			_tmp47_ = _tmp46_;
			_tmp48_ = gee_sorted_set_higher (_tmp45_, _tmp47_);
			_tmp49_ = (GeeMapEntry*) _tmp48_;
			map_tests_assert_entry (_tmp49_, "six", "six");
			_g_object_unref0 (_tmp49_);
			_g_object_unref0 (_tmp47_);
			_tmp50_ = keys;
			_tmp51_ = gee_sorted_set_higher (_tmp50_, "six");
			_tmp52_ = (gchar*) _tmp51_;
			_vala_assert (g_strcmp0 (_tmp52_, "three") == 0, "keys.higher (\"six\") == \"three\"");
			_g_free0 (_tmp52_);
			_tmp53_ = entries;
			_tmp54_ = map_tests_entry_for ("six", "six");
			_tmp55_ = _tmp54_;
			_tmp56_ = gee_sorted_set_higher (_tmp53_, _tmp55_);
			_tmp57_ = (GeeMapEntry*) _tmp56_;
			map_tests_assert_entry (_tmp57_, "three", "three");
			_g_object_unref0 (_tmp57_);
			_g_object_unref0 (_tmp55_);
			_tmp58_ = keys;
			_tmp59_ = gee_sorted_set_higher (_tmp58_, "three");
			_tmp60_ = (gchar*) _tmp59_;
			_vala_assert (g_strcmp0 (_tmp60_, "two") == 0, "keys.higher (\"three\") == \"two\"");
			_g_free0 (_tmp60_);
			_tmp61_ = entries;
			_tmp62_ = map_tests_entry_for ("three", "three");
			_tmp63_ = _tmp62_;
			_tmp64_ = gee_sorted_set_higher (_tmp61_, _tmp63_);
			_tmp65_ = (GeeMapEntry*) _tmp64_;
			map_tests_assert_entry (_tmp65_, "two", "two");
			_g_object_unref0 (_tmp65_);
			_g_object_unref0 (_tmp63_);
			_tmp66_ = keys;
			_tmp67_ = gee_sorted_set_higher (_tmp66_, "two");
			_tmp68_ = (gchar*) _tmp67_;
			_vala_assert (_tmp68_ == NULL, "keys.higher (\"two\") == null");
			_g_free0 (_tmp68_);
			_tmp69_ = entries;
			_tmp70_ = map_tests_entry_for ("two", "two");
			_tmp71_ = _tmp70_;
			_tmp72_ = gee_sorted_set_higher (_tmp69_, _tmp71_);
			_tmp73_ = (GeeMapEntry*) _tmp72_;
			_vala_assert (_tmp73_ == NULL, "entries.higher (MapTests.entry_for (\"two\", \"two\")) == null");
			_g_object_unref0 (_tmp73_);
			_g_object_unref0 (_tmp71_);
			_tmp74_ = keys;
			_tmp75_ = gee_sorted_set_higher (_tmp74_, "z");
			_tmp76_ = (gchar*) _tmp75_;
			_vala_assert (_tmp76_ == NULL, "keys.higher (\"z\") == null");
			_g_free0 (_tmp76_);
			_tmp77_ = entries;
			_tmp78_ = map_tests_entry_for ("z", "z");
			_tmp79_ = _tmp78_;
			_tmp80_ = gee_sorted_set_higher (_tmp77_, _tmp79_);
			_tmp81_ = (GeeMapEntry*) _tmp80_;
			_vala_assert (_tmp81_ == NULL, "entries.higher (MapTests.entry_for (\"z\", \"z\")) == null");
			_g_object_unref0 (_tmp81_);
			_g_object_unref0 (_tmp79_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp82_;
			gpointer _tmp83_;
			gchar* _tmp84_;
			GeeSortedSet* _tmp85_;
			GeeMapEntry* _tmp86_;
			GeeMapEntry* _tmp87_;
			gpointer _tmp88_;
			GeeMapEntry* _tmp89_;
			GeeSortedSet* _tmp90_;
			gpointer _tmp91_;
			gchar* _tmp92_;
			GeeSortedSet* _tmp93_;
			GeeMapEntry* _tmp94_;
			GeeMapEntry* _tmp95_;
			gpointer _tmp96_;
			GeeMapEntry* _tmp97_;
			GeeSortedSet* _tmp98_;
			gpointer _tmp99_;
			gchar* _tmp100_;
			GeeSortedSet* _tmp101_;
			GeeMapEntry* _tmp102_;
			GeeMapEntry* _tmp103_;
			gpointer _tmp104_;
			GeeMapEntry* _tmp105_;
			GeeSortedSet* _tmp106_;
			gpointer _tmp107_;
			gchar* _tmp108_;
			GeeSortedSet* _tmp109_;
			GeeMapEntry* _tmp110_;
			GeeMapEntry* _tmp111_;
			gpointer _tmp112_;
			GeeMapEntry* _tmp113_;
			GeeSortedSet* _tmp114_;
			gpointer _tmp115_;
			gchar* _tmp116_;
			GeeSortedSet* _tmp117_;
			GeeMapEntry* _tmp118_;
			GeeMapEntry* _tmp119_;
			gpointer _tmp120_;
			GeeMapEntry* _tmp121_;
			_tmp82_ = keys;
			_tmp83_ = gee_sorted_set_higher (_tmp82_, "five");
			_tmp84_ = (gchar*) _tmp83_;
			_vala_assert (g_strcmp0 (_tmp84_, "four") == 0, "keys.higher (\"five\") == \"four\"");
			_g_free0 (_tmp84_);
			_tmp85_ = entries;
			_tmp86_ = map_tests_entry_for ("five", "five");
			_tmp87_ = _tmp86_;
			_tmp88_ = gee_sorted_set_higher (_tmp85_, _tmp87_);
			_tmp89_ = (GeeMapEntry*) _tmp88_;
			map_tests_assert_entry (_tmp89_, "four", "four");
			_g_object_unref0 (_tmp89_);
			_g_object_unref0 (_tmp87_);
			_tmp90_ = keys;
			_tmp91_ = gee_sorted_set_higher (_tmp90_, "four");
			_tmp92_ = (gchar*) _tmp91_;
			_vala_assert (g_strcmp0 (_tmp92_, "one") == 0, "keys.higher (\"four\") == \"one\"");
			_g_free0 (_tmp92_);
			_tmp93_ = entries;
			_tmp94_ = map_tests_entry_for ("four", "four");
			_tmp95_ = _tmp94_;
			_tmp96_ = gee_sorted_set_higher (_tmp93_, _tmp95_);
			_tmp97_ = (GeeMapEntry*) _tmp96_;
			map_tests_assert_entry (_tmp97_, "one", "one");
			_g_object_unref0 (_tmp97_);
			_g_object_unref0 (_tmp95_);
			_tmp98_ = keys;
			_tmp99_ = gee_sorted_set_higher (_tmp98_, "one");
			_tmp100_ = (gchar*) _tmp99_;
			_vala_assert (g_strcmp0 (_tmp100_, "six") == 0, "keys.higher (\"one\") == \"six\"");
			_g_free0 (_tmp100_);
			_tmp101_ = entries;
			_tmp102_ = map_tests_entry_for ("one", "one");
			_tmp103_ = _tmp102_;
			_tmp104_ = gee_sorted_set_higher (_tmp101_, _tmp103_);
			_tmp105_ = (GeeMapEntry*) _tmp104_;
			map_tests_assert_entry (_tmp105_, "six", "six");
			_g_object_unref0 (_tmp105_);
			_g_object_unref0 (_tmp103_);
			_tmp106_ = keys;
			_tmp107_ = gee_sorted_set_higher (_tmp106_, "six");
			_tmp108_ = (gchar*) _tmp107_;
			_vala_assert (_tmp108_ == NULL, "keys.higher (\"six\") == null");
			_g_free0 (_tmp108_);
			_tmp109_ = entries;
			_tmp110_ = map_tests_entry_for ("six", "six");
			_tmp111_ = _tmp110_;
			_tmp112_ = gee_sorted_set_higher (_tmp109_, _tmp111_);
			_tmp113_ = (GeeMapEntry*) _tmp112_;
			_vala_assert (_tmp113_ == NULL, "entries.higher (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp113_);
			_g_object_unref0 (_tmp111_);
			_tmp114_ = keys;
			_tmp115_ = gee_sorted_set_higher (_tmp114_, "three");
			_tmp116_ = (gchar*) _tmp115_;
			_vala_assert (_tmp116_ == NULL, "keys.higher (\"three\") == null");
			_g_free0 (_tmp116_);
			_tmp117_ = entries;
			_tmp118_ = map_tests_entry_for ("three", "three");
			_tmp119_ = _tmp118_;
			_tmp120_ = gee_sorted_set_higher (_tmp117_, _tmp119_);
			_tmp121_ = (GeeMapEntry*) _tmp120_;
			_vala_assert (_tmp121_ == NULL, "entries.higher (MapTests.entry_for (\"three\", \"three\")) == null");
			_g_object_unref0 (_tmp121_);
			_g_object_unref0 (_tmp119_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp122_;
			gpointer _tmp123_;
			gchar* _tmp124_;
			GeeSortedSet* _tmp125_;
			GeeMapEntry* _tmp126_;
			GeeMapEntry* _tmp127_;
			gpointer _tmp128_;
			GeeMapEntry* _tmp129_;
			_tmp122_ = keys;
			_tmp123_ = gee_sorted_set_higher (_tmp122_, "six");
			_tmp124_ = (gchar*) _tmp123_;
			_vala_assert (_tmp124_ == NULL, "keys.higher (\"six\") == null");
			_g_free0 (_tmp124_);
			_tmp125_ = entries;
			_tmp126_ = map_tests_entry_for ("six", "six");
			_tmp127_ = _tmp126_;
			_tmp128_ = gee_sorted_set_higher (_tmp125_, _tmp127_);
			_tmp129_ = (GeeMapEntry*) _tmp128_;
			_vala_assert (_tmp129_ == NULL, "entries.higher (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp129_);
			_g_object_unref0 (_tmp127_);
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_floor (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp0_;
	GeeSortedSet* _tmp1_;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_sorted_map_get_ascending_keys (_tmp0_);
	_tmp2_ = _tmp1_;
	keys = _tmp2_;
	_tmp3_ = self->priv->submap;
	_tmp4_ = gee_sorted_map_get_ascending_entries (_tmp3_);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp6_, &_tmp7_, &_tmp8_, &_tmp9_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp6_;
	contains_length1 = _tmp7_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp8_;
	not_contains_length1 = _tmp9_;
	_not_contains_size_ = not_contains_length1;
	switch (self->priv->type) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp10_;
			gpointer _tmp11_;
			gchar* _tmp12_;
			GeeSortedSet* _tmp13_;
			GeeMapEntry* _tmp14_;
			GeeMapEntry* _tmp15_;
			gpointer _tmp16_;
			GeeMapEntry* _tmp17_;
			GeeSortedSet* _tmp18_;
			gpointer _tmp19_;
			gchar* _tmp20_;
			GeeSortedSet* _tmp21_;
			GeeMapEntry* _tmp22_;
			GeeMapEntry* _tmp23_;
			gpointer _tmp24_;
			GeeMapEntry* _tmp25_;
			GeeSortedSet* _tmp26_;
			gpointer _tmp27_;
			gchar* _tmp28_;
			GeeSortedSet* _tmp29_;
			GeeMapEntry* _tmp30_;
			GeeMapEntry* _tmp31_;
			gpointer _tmp32_;
			GeeMapEntry* _tmp33_;
			GeeSortedSet* _tmp34_;
			gpointer _tmp35_;
			gchar* _tmp36_;
			GeeSortedSet* _tmp37_;
			GeeMapEntry* _tmp38_;
			GeeMapEntry* _tmp39_;
			gpointer _tmp40_;
			GeeMapEntry* _tmp41_;
			_tmp10_ = keys;
			_tmp11_ = gee_sorted_set_floor (_tmp10_, "a");
			_tmp12_ = (gchar*) _tmp11_;
			_vala_assert (_tmp12_ == NULL, "keys.floor (\"a\") == null");
			_g_free0 (_tmp12_);
			_tmp13_ = entries;
			_tmp14_ = map_tests_entry_for ("a", "a");
			_tmp15_ = _tmp14_;
			_tmp16_ = gee_sorted_set_floor (_tmp13_, _tmp15_);
			_tmp17_ = (GeeMapEntry*) _tmp16_;
			_vala_assert (_tmp17_ == NULL, "entries.floor (MapTests.entry_for (\"a\", \"a\")) == null");
			_g_object_unref0 (_tmp17_);
			_g_object_unref0 (_tmp15_);
			_tmp18_ = keys;
			_tmp19_ = gee_sorted_set_floor (_tmp18_, "five");
			_tmp20_ = (gchar*) _tmp19_;
			_vala_assert (g_strcmp0 (_tmp20_, "five") == 0, "keys.floor (\"five\") == \"five\"");
			_g_free0 (_tmp20_);
			_tmp21_ = entries;
			_tmp22_ = map_tests_entry_for ("five", "fiv");
			_tmp23_ = _tmp22_;
			_tmp24_ = gee_sorted_set_floor (_tmp21_, _tmp23_);
			_tmp25_ = (GeeMapEntry*) _tmp24_;
			map_tests_assert_entry (_tmp25_, "five", "five");
			_g_object_unref0 (_tmp25_);
			_g_object_unref0 (_tmp23_);
			_tmp26_ = keys;
			_tmp27_ = gee_sorted_set_floor (_tmp26_, "four");
			_tmp28_ = (gchar*) _tmp27_;
			_vala_assert (g_strcmp0 (_tmp28_, "four") == 0, "keys.floor (\"four\") == \"four\"");
			_g_free0 (_tmp28_);
			_tmp29_ = entries;
			_tmp30_ = map_tests_entry_for ("four", "four");
			_tmp31_ = _tmp30_;
			_tmp32_ = gee_sorted_set_floor (_tmp29_, _tmp31_);
			_tmp33_ = (GeeMapEntry*) _tmp32_;
			map_tests_assert_entry (_tmp33_, "four", "four");
			_g_object_unref0 (_tmp33_);
			_g_object_unref0 (_tmp31_);
			_tmp34_ = keys;
			_tmp35_ = gee_sorted_set_floor (_tmp34_, "six");
			_tmp36_ = (gchar*) _tmp35_;
			_vala_assert (g_strcmp0 (_tmp36_, "four") == 0, "keys.floor (\"six\") == \"four\"");
			_g_free0 (_tmp36_);
			_tmp37_ = entries;
			_tmp38_ = map_tests_entry_for ("six", "six");
			_tmp39_ = _tmp38_;
			_tmp40_ = gee_sorted_set_floor (_tmp37_, _tmp39_);
			_tmp41_ = (GeeMapEntry*) _tmp40_;
			map_tests_assert_entry (_tmp41_, "four", "four");
			_g_object_unref0 (_tmp41_);
			_g_object_unref0 (_tmp39_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp42_;
			gpointer _tmp43_;
			gchar* _tmp44_;
			GeeSortedSet* _tmp45_;
			GeeMapEntry* _tmp46_;
			GeeMapEntry* _tmp47_;
			gpointer _tmp48_;
			GeeMapEntry* _tmp49_;
			GeeSortedSet* _tmp50_;
			gpointer _tmp51_;
			gchar* _tmp52_;
			GeeSortedSet* _tmp53_;
			GeeMapEntry* _tmp54_;
			GeeMapEntry* _tmp55_;
			gpointer _tmp56_;
			GeeMapEntry* _tmp57_;
			GeeSortedSet* _tmp58_;
			gpointer _tmp59_;
			gchar* _tmp60_;
			GeeSortedSet* _tmp61_;
			GeeMapEntry* _tmp62_;
			GeeMapEntry* _tmp63_;
			gpointer _tmp64_;
			GeeMapEntry* _tmp65_;
			GeeSortedSet* _tmp66_;
			gpointer _tmp67_;
			gchar* _tmp68_;
			GeeSortedSet* _tmp69_;
			GeeMapEntry* _tmp70_;
			GeeMapEntry* _tmp71_;
			gpointer _tmp72_;
			GeeMapEntry* _tmp73_;
			GeeSortedSet* _tmp74_;
			gpointer _tmp75_;
			gchar* _tmp76_;
			GeeSortedSet* _tmp77_;
			GeeMapEntry* _tmp78_;
			GeeMapEntry* _tmp79_;
			gpointer _tmp80_;
			GeeMapEntry* _tmp81_;
			_tmp42_ = keys;
			_tmp43_ = gee_sorted_set_floor (_tmp42_, "one");
			_tmp44_ = (gchar*) _tmp43_;
			_vala_assert (_tmp44_ == NULL, "keys.floor (\"one\") == null");
			_g_free0 (_tmp44_);
			_tmp45_ = entries;
			_tmp46_ = map_tests_entry_for ("one", "one");
			_tmp47_ = _tmp46_;
			_tmp48_ = gee_sorted_set_floor (_tmp45_, _tmp47_);
			_tmp49_ = (GeeMapEntry*) _tmp48_;
			_vala_assert (_tmp49_ == NULL, "entries.floor (MapTests.entry_for (\"one\", \"one\")) == null");
			_g_object_unref0 (_tmp49_);
			_g_object_unref0 (_tmp47_);
			_tmp50_ = keys;
			_tmp51_ = gee_sorted_set_floor (_tmp50_, "six");
			_tmp52_ = (gchar*) _tmp51_;
			_vala_assert (g_strcmp0 (_tmp52_, "six") == 0, "keys.floor (\"six\") == \"six\"");
			_g_free0 (_tmp52_);
			_tmp53_ = entries;
			_tmp54_ = map_tests_entry_for ("six", "six");
			_tmp55_ = _tmp54_;
			_tmp56_ = gee_sorted_set_floor (_tmp53_, _tmp55_);
			_tmp57_ = (GeeMapEntry*) _tmp56_;
			map_tests_assert_entry (_tmp57_, "six", "six");
			_g_object_unref0 (_tmp57_);
			_g_object_unref0 (_tmp55_);
			_tmp58_ = keys;
			_tmp59_ = gee_sorted_set_floor (_tmp58_, "three");
			_tmp60_ = (gchar*) _tmp59_;
			_vala_assert (g_strcmp0 (_tmp60_, "three") == 0, "keys.floor (\"three\") == \"three\"");
			_g_free0 (_tmp60_);
			_tmp61_ = entries;
			_tmp62_ = map_tests_entry_for ("three", "three");
			_tmp63_ = _tmp62_;
			_tmp64_ = gee_sorted_set_floor (_tmp61_, _tmp63_);
			_tmp65_ = (GeeMapEntry*) _tmp64_;
			map_tests_assert_entry (_tmp65_, "three", "three");
			_g_object_unref0 (_tmp65_);
			_g_object_unref0 (_tmp63_);
			_tmp66_ = keys;
			_tmp67_ = gee_sorted_set_floor (_tmp66_, "two");
			_tmp68_ = (gchar*) _tmp67_;
			_vala_assert (g_strcmp0 (_tmp68_, "two") == 0, "keys.floor (\"two\") == \"two\"");
			_g_free0 (_tmp68_);
			_tmp69_ = entries;
			_tmp70_ = map_tests_entry_for ("two", "two");
			_tmp71_ = _tmp70_;
			_tmp72_ = gee_sorted_set_floor (_tmp69_, _tmp71_);
			_tmp73_ = (GeeMapEntry*) _tmp72_;
			map_tests_assert_entry (_tmp73_, "two", "two");
			_g_object_unref0 (_tmp73_);
			_g_object_unref0 (_tmp71_);
			_tmp74_ = keys;
			_tmp75_ = gee_sorted_set_floor (_tmp74_, "z");
			_tmp76_ = (gchar*) _tmp75_;
			_vala_assert (g_strcmp0 (_tmp76_, "two") == 0, "keys.floor (\"z\") == \"two\"");
			_g_free0 (_tmp76_);
			_tmp77_ = entries;
			_tmp78_ = map_tests_entry_for ("z", "z");
			_tmp79_ = _tmp78_;
			_tmp80_ = gee_sorted_set_floor (_tmp77_, _tmp79_);
			_tmp81_ = (GeeMapEntry*) _tmp80_;
			map_tests_assert_entry (_tmp81_, "two", "two");
			_g_object_unref0 (_tmp81_);
			_g_object_unref0 (_tmp79_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp82_;
			gpointer _tmp83_;
			gchar* _tmp84_;
			GeeSortedSet* _tmp85_;
			GeeMapEntry* _tmp86_;
			GeeMapEntry* _tmp87_;
			gpointer _tmp88_;
			GeeMapEntry* _tmp89_;
			GeeSortedSet* _tmp90_;
			gpointer _tmp91_;
			gchar* _tmp92_;
			GeeSortedSet* _tmp93_;
			GeeMapEntry* _tmp94_;
			GeeMapEntry* _tmp95_;
			gpointer _tmp96_;
			GeeMapEntry* _tmp97_;
			GeeSortedSet* _tmp98_;
			gpointer _tmp99_;
			gchar* _tmp100_;
			GeeSortedSet* _tmp101_;
			GeeMapEntry* _tmp102_;
			GeeMapEntry* _tmp103_;
			gpointer _tmp104_;
			GeeMapEntry* _tmp105_;
			GeeSortedSet* _tmp106_;
			gpointer _tmp107_;
			gchar* _tmp108_;
			GeeSortedSet* _tmp109_;
			GeeMapEntry* _tmp110_;
			GeeMapEntry* _tmp111_;
			gpointer _tmp112_;
			GeeMapEntry* _tmp113_;
			GeeSortedSet* _tmp114_;
			gpointer _tmp115_;
			gchar* _tmp116_;
			GeeSortedSet* _tmp117_;
			GeeMapEntry* _tmp118_;
			GeeMapEntry* _tmp119_;
			gpointer _tmp120_;
			GeeMapEntry* _tmp121_;
			_tmp82_ = keys;
			_tmp83_ = gee_sorted_set_floor (_tmp82_, "five");
			_tmp84_ = (gchar*) _tmp83_;
			_vala_assert (_tmp84_ == NULL, "keys.floor (\"five\") == null");
			_g_free0 (_tmp84_);
			_tmp85_ = entries;
			_tmp86_ = map_tests_entry_for ("five", "five");
			_tmp87_ = _tmp86_;
			_tmp88_ = gee_sorted_set_floor (_tmp85_, _tmp87_);
			_tmp89_ = (GeeMapEntry*) _tmp88_;
			_vala_assert (_tmp89_ == NULL, "entries.floor (MapTests.entry_for (\"five\", \"five\")) == null");
			_g_object_unref0 (_tmp89_);
			_g_object_unref0 (_tmp87_);
			_tmp90_ = keys;
			_tmp91_ = gee_sorted_set_floor (_tmp90_, "four");
			_tmp92_ = (gchar*) _tmp91_;
			_vala_assert (g_strcmp0 (_tmp92_, "four") == 0, "keys.floor (\"four\") == \"four\"");
			_g_free0 (_tmp92_);
			_tmp93_ = entries;
			_tmp94_ = map_tests_entry_for ("four", "four");
			_tmp95_ = _tmp94_;
			_tmp96_ = gee_sorted_set_floor (_tmp93_, _tmp95_);
			_tmp97_ = (GeeMapEntry*) _tmp96_;
			map_tests_assert_entry (_tmp97_, "four", "four");
			_g_object_unref0 (_tmp97_);
			_g_object_unref0 (_tmp95_);
			_tmp98_ = keys;
			_tmp99_ = gee_sorted_set_floor (_tmp98_, "one");
			_tmp100_ = (gchar*) _tmp99_;
			_vala_assert (g_strcmp0 (_tmp100_, "one") == 0, "keys.floor (\"one\") == \"one\"");
			_g_free0 (_tmp100_);
			_tmp101_ = entries;
			_tmp102_ = map_tests_entry_for ("one", "one");
			_tmp103_ = _tmp102_;
			_tmp104_ = gee_sorted_set_floor (_tmp101_, _tmp103_);
			_tmp105_ = (GeeMapEntry*) _tmp104_;
			map_tests_assert_entry (_tmp105_, "one", "one");
			_g_object_unref0 (_tmp105_);
			_g_object_unref0 (_tmp103_);
			_tmp106_ = keys;
			_tmp107_ = gee_sorted_set_floor (_tmp106_, "six");
			_tmp108_ = (gchar*) _tmp107_;
			_vala_assert (g_strcmp0 (_tmp108_, "six") == 0, "keys.floor (\"six\") == \"six\"");
			_g_free0 (_tmp108_);
			_tmp109_ = entries;
			_tmp110_ = map_tests_entry_for ("six", "six");
			_tmp111_ = _tmp110_;
			_tmp112_ = gee_sorted_set_floor (_tmp109_, _tmp111_);
			_tmp113_ = (GeeMapEntry*) _tmp112_;
			map_tests_assert_entry (_tmp113_, "six", "six");
			_g_object_unref0 (_tmp113_);
			_g_object_unref0 (_tmp111_);
			_tmp114_ = keys;
			_tmp115_ = gee_sorted_set_floor (_tmp114_, "three");
			_tmp116_ = (gchar*) _tmp115_;
			_vala_assert (g_strcmp0 (_tmp116_, "six") == 0, "keys.floor (\"three\") == \"six\"");
			_g_free0 (_tmp116_);
			_tmp117_ = entries;
			_tmp118_ = map_tests_entry_for ("three", "three");
			_tmp119_ = _tmp118_;
			_tmp120_ = gee_sorted_set_floor (_tmp117_, _tmp119_);
			_tmp121_ = (GeeMapEntry*) _tmp120_;
			map_tests_assert_entry (_tmp121_, "six", "six");
			_g_object_unref0 (_tmp121_);
			_g_object_unref0 (_tmp119_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp122_;
			gpointer _tmp123_;
			gchar* _tmp124_;
			GeeSortedSet* _tmp125_;
			GeeMapEntry* _tmp126_;
			GeeMapEntry* _tmp127_;
			gpointer _tmp128_;
			GeeMapEntry* _tmp129_;
			_tmp122_ = keys;
			_tmp123_ = gee_sorted_set_floor (_tmp122_, "six");
			_tmp124_ = (gchar*) _tmp123_;
			_vala_assert (_tmp124_ == NULL, "keys.floor (\"six\") == null");
			_g_free0 (_tmp124_);
			_tmp125_ = entries;
			_tmp126_ = map_tests_entry_for ("six", "six");
			_tmp127_ = _tmp126_;
			_tmp128_ = gee_sorted_set_floor (_tmp125_, _tmp127_);
			_tmp129_ = (GeeMapEntry*) _tmp128_;
			_vala_assert (_tmp129_ == NULL, "entries.floor (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp129_);
			_g_object_unref0 (_tmp127_);
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_ceil (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp0_;
	GeeSortedSet* _tmp1_;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_sorted_map_get_ascending_keys (_tmp0_);
	_tmp2_ = _tmp1_;
	keys = _tmp2_;
	_tmp3_ = self->priv->submap;
	_tmp4_ = gee_sorted_map_get_ascending_entries (_tmp3_);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp6_, &_tmp7_, &_tmp8_, &_tmp9_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp6_;
	contains_length1 = _tmp7_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp8_;
	not_contains_length1 = _tmp9_;
	_not_contains_size_ = not_contains_length1;
	switch (self->priv->type) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp10_;
			gpointer _tmp11_;
			gchar* _tmp12_;
			GeeSortedSet* _tmp13_;
			GeeMapEntry* _tmp14_;
			GeeMapEntry* _tmp15_;
			gpointer _tmp16_;
			GeeMapEntry* _tmp17_;
			GeeSortedSet* _tmp18_;
			gpointer _tmp19_;
			gchar* _tmp20_;
			GeeSortedSet* _tmp21_;
			GeeMapEntry* _tmp22_;
			GeeMapEntry* _tmp23_;
			gpointer _tmp24_;
			GeeMapEntry* _tmp25_;
			GeeSortedSet* _tmp26_;
			gpointer _tmp27_;
			gchar* _tmp28_;
			GeeSortedSet* _tmp29_;
			GeeMapEntry* _tmp30_;
			GeeMapEntry* _tmp31_;
			gpointer _tmp32_;
			GeeMapEntry* _tmp33_;
			GeeSortedSet* _tmp34_;
			gpointer _tmp35_;
			gchar* _tmp36_;
			GeeSortedSet* _tmp37_;
			GeeMapEntry* _tmp38_;
			GeeMapEntry* _tmp39_;
			gpointer _tmp40_;
			GeeMapEntry* _tmp41_;
			_tmp10_ = keys;
			_tmp11_ = gee_sorted_set_ceil (_tmp10_, "a");
			_tmp12_ = (gchar*) _tmp11_;
			_vala_assert (g_strcmp0 (_tmp12_, "five") == 0, "keys.ceil (\"a\") == \"five\"");
			_g_free0 (_tmp12_);
			_tmp13_ = entries;
			_tmp14_ = map_tests_entry_for ("a", "a");
			_tmp15_ = _tmp14_;
			_tmp16_ = gee_sorted_set_ceil (_tmp13_, _tmp15_);
			_tmp17_ = (GeeMapEntry*) _tmp16_;
			map_tests_assert_entry (_tmp17_, "five", "five");
			_g_object_unref0 (_tmp17_);
			_g_object_unref0 (_tmp15_);
			_tmp18_ = keys;
			_tmp19_ = gee_sorted_set_ceil (_tmp18_, "five");
			_tmp20_ = (gchar*) _tmp19_;
			_vala_assert (g_strcmp0 (_tmp20_, "five") == 0, "keys.ceil (\"five\") == \"five\"");
			_g_free0 (_tmp20_);
			_tmp21_ = entries;
			_tmp22_ = map_tests_entry_for ("five", "five");
			_tmp23_ = _tmp22_;
			_tmp24_ = gee_sorted_set_ceil (_tmp21_, _tmp23_);
			_tmp25_ = (GeeMapEntry*) _tmp24_;
			map_tests_assert_entry (_tmp25_, "five", "five");
			_g_object_unref0 (_tmp25_);
			_g_object_unref0 (_tmp23_);
			_tmp26_ = keys;
			_tmp27_ = gee_sorted_set_ceil (_tmp26_, "four");
			_tmp28_ = (gchar*) _tmp27_;
			_vala_assert (g_strcmp0 (_tmp28_, "four") == 0, "keys.ceil (\"four\") == \"four\"");
			_g_free0 (_tmp28_);
			_tmp29_ = entries;
			_tmp30_ = map_tests_entry_for ("four", "four");
			_tmp31_ = _tmp30_;
			_tmp32_ = gee_sorted_set_ceil (_tmp29_, _tmp31_);
			_tmp33_ = (GeeMapEntry*) _tmp32_;
			map_tests_assert_entry (_tmp33_, "four", "four");
			_g_object_unref0 (_tmp33_);
			_g_object_unref0 (_tmp31_);
			_tmp34_ = keys;
			_tmp35_ = gee_sorted_set_ceil (_tmp34_, "six");
			_tmp36_ = (gchar*) _tmp35_;
			_vala_assert (_tmp36_ == NULL, "keys.ceil (\"six\") == null");
			_g_free0 (_tmp36_);
			_tmp37_ = entries;
			_tmp38_ = map_tests_entry_for ("six", "six");
			_tmp39_ = _tmp38_;
			_tmp40_ = gee_sorted_set_ceil (_tmp37_, _tmp39_);
			_tmp41_ = (GeeMapEntry*) _tmp40_;
			_vala_assert (_tmp41_ == NULL, "entries.ceil (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp41_);
			_g_object_unref0 (_tmp39_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp42_;
			gpointer _tmp43_;
			gchar* _tmp44_;
			GeeSortedSet* _tmp45_;
			GeeMapEntry* _tmp46_;
			GeeMapEntry* _tmp47_;
			gpointer _tmp48_;
			GeeMapEntry* _tmp49_;
			GeeSortedSet* _tmp50_;
			gpointer _tmp51_;
			gchar* _tmp52_;
			GeeSortedSet* _tmp53_;
			GeeMapEntry* _tmp54_;
			GeeMapEntry* _tmp55_;
			gpointer _tmp56_;
			GeeMapEntry* _tmp57_;
			GeeSortedSet* _tmp58_;
			gpointer _tmp59_;
			gchar* _tmp60_;
			GeeSortedSet* _tmp61_;
			GeeMapEntry* _tmp62_;
			GeeMapEntry* _tmp63_;
			gpointer _tmp64_;
			GeeMapEntry* _tmp65_;
			GeeSortedSet* _tmp66_;
			gpointer _tmp67_;
			gchar* _tmp68_;
			GeeSortedSet* _tmp69_;
			GeeMapEntry* _tmp70_;
			GeeMapEntry* _tmp71_;
			gpointer _tmp72_;
			GeeMapEntry* _tmp73_;
			GeeSortedSet* _tmp74_;
			gpointer _tmp75_;
			gchar* _tmp76_;
			GeeSortedSet* _tmp77_;
			GeeMapEntry* _tmp78_;
			GeeMapEntry* _tmp79_;
			gpointer _tmp80_;
			GeeMapEntry* _tmp81_;
			_tmp42_ = keys;
			_tmp43_ = gee_sorted_set_ceil (_tmp42_, "one");
			_tmp44_ = (gchar*) _tmp43_;
			_vala_assert (g_strcmp0 (_tmp44_, "six") == 0, "keys.ceil (\"one\") == \"six\"");
			_g_free0 (_tmp44_);
			_tmp45_ = entries;
			_tmp46_ = map_tests_entry_for ("one", "one");
			_tmp47_ = _tmp46_;
			_tmp48_ = gee_sorted_set_ceil (_tmp45_, _tmp47_);
			_tmp49_ = (GeeMapEntry*) _tmp48_;
			map_tests_assert_entry (_tmp49_, "six", "six");
			_g_object_unref0 (_tmp49_);
			_g_object_unref0 (_tmp47_);
			_tmp50_ = keys;
			_tmp51_ = gee_sorted_set_ceil (_tmp50_, "six");
			_tmp52_ = (gchar*) _tmp51_;
			_vala_assert (g_strcmp0 (_tmp52_, "six") == 0, "keys.ceil (\"six\") == \"six\"");
			_g_free0 (_tmp52_);
			_tmp53_ = entries;
			_tmp54_ = map_tests_entry_for ("six", "six");
			_tmp55_ = _tmp54_;
			_tmp56_ = gee_sorted_set_ceil (_tmp53_, _tmp55_);
			_tmp57_ = (GeeMapEntry*) _tmp56_;
			map_tests_assert_entry (_tmp57_, "six", "six");
			_g_object_unref0 (_tmp57_);
			_g_object_unref0 (_tmp55_);
			_tmp58_ = keys;
			_tmp59_ = gee_sorted_set_ceil (_tmp58_, "three");
			_tmp60_ = (gchar*) _tmp59_;
			_vala_assert (g_strcmp0 (_tmp60_, "three") == 0, "keys.ceil (\"three\") == \"three\"");
			_g_free0 (_tmp60_);
			_tmp61_ = entries;
			_tmp62_ = map_tests_entry_for ("three", "three");
			_tmp63_ = _tmp62_;
			_tmp64_ = gee_sorted_set_ceil (_tmp61_, _tmp63_);
			_tmp65_ = (GeeMapEntry*) _tmp64_;
			map_tests_assert_entry (_tmp65_, "three", "three");
			_g_object_unref0 (_tmp65_);
			_g_object_unref0 (_tmp63_);
			_tmp66_ = keys;
			_tmp67_ = gee_sorted_set_ceil (_tmp66_, "two");
			_tmp68_ = (gchar*) _tmp67_;
			_vala_assert (g_strcmp0 (_tmp68_, "two") == 0, "keys.ceil (\"two\") == \"two\"");
			_g_free0 (_tmp68_);
			_tmp69_ = entries;
			_tmp70_ = map_tests_entry_for ("two", "two");
			_tmp71_ = _tmp70_;
			_tmp72_ = gee_sorted_set_ceil (_tmp69_, _tmp71_);
			_tmp73_ = (GeeMapEntry*) _tmp72_;
			map_tests_assert_entry (_tmp73_, "two", "two");
			_g_object_unref0 (_tmp73_);
			_g_object_unref0 (_tmp71_);
			_tmp74_ = keys;
			_tmp75_ = gee_sorted_set_ceil (_tmp74_, "z");
			_tmp76_ = (gchar*) _tmp75_;
			_vala_assert (_tmp76_ == NULL, "keys.ceil (\"z\") == null");
			_g_free0 (_tmp76_);
			_tmp77_ = entries;
			_tmp78_ = map_tests_entry_for ("z", "z");
			_tmp79_ = _tmp78_;
			_tmp80_ = gee_sorted_set_ceil (_tmp77_, _tmp79_);
			_tmp81_ = (GeeMapEntry*) _tmp80_;
			_vala_assert (_tmp81_ == NULL, "entries.ceil (MapTests.entry_for (\"z\", \"z\")) == null");
			_g_object_unref0 (_tmp81_);
			_g_object_unref0 (_tmp79_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp82_;
			gpointer _tmp83_;
			gchar* _tmp84_;
			GeeSortedSet* _tmp85_;
			GeeMapEntry* _tmp86_;
			GeeMapEntry* _tmp87_;
			gpointer _tmp88_;
			GeeMapEntry* _tmp89_;
			GeeSortedSet* _tmp90_;
			gpointer _tmp91_;
			gchar* _tmp92_;
			GeeSortedSet* _tmp93_;
			GeeMapEntry* _tmp94_;
			GeeMapEntry* _tmp95_;
			gpointer _tmp96_;
			GeeMapEntry* _tmp97_;
			GeeSortedSet* _tmp98_;
			gpointer _tmp99_;
			gchar* _tmp100_;
			GeeSortedSet* _tmp101_;
			GeeMapEntry* _tmp102_;
			GeeMapEntry* _tmp103_;
			gpointer _tmp104_;
			GeeMapEntry* _tmp105_;
			GeeSortedSet* _tmp106_;
			gpointer _tmp107_;
			gchar* _tmp108_;
			GeeSortedSet* _tmp109_;
			GeeMapEntry* _tmp110_;
			GeeMapEntry* _tmp111_;
			gpointer _tmp112_;
			GeeMapEntry* _tmp113_;
			GeeSortedSet* _tmp114_;
			gpointer _tmp115_;
			gchar* _tmp116_;
			GeeSortedSet* _tmp117_;
			GeeMapEntry* _tmp118_;
			GeeMapEntry* _tmp119_;
			gpointer _tmp120_;
			GeeMapEntry* _tmp121_;
			_tmp82_ = keys;
			_tmp83_ = gee_sorted_set_ceil (_tmp82_, "five");
			_tmp84_ = (gchar*) _tmp83_;
			_vala_assert (g_strcmp0 (_tmp84_, "four") == 0, "keys.ceil (\"five\") == \"four\"");
			_g_free0 (_tmp84_);
			_tmp85_ = entries;
			_tmp86_ = map_tests_entry_for ("five", "five");
			_tmp87_ = _tmp86_;
			_tmp88_ = gee_sorted_set_ceil (_tmp85_, _tmp87_);
			_tmp89_ = (GeeMapEntry*) _tmp88_;
			map_tests_assert_entry (_tmp89_, "four", "four");
			_g_object_unref0 (_tmp89_);
			_g_object_unref0 (_tmp87_);
			_tmp90_ = keys;
			_tmp91_ = gee_sorted_set_ceil (_tmp90_, "four");
			_tmp92_ = (gchar*) _tmp91_;
			_vala_assert (g_strcmp0 (_tmp92_, "four") == 0, "keys.ceil (\"four\") == \"four\"");
			_g_free0 (_tmp92_);
			_tmp93_ = entries;
			_tmp94_ = map_tests_entry_for ("four", "four");
			_tmp95_ = _tmp94_;
			_tmp96_ = gee_sorted_set_ceil (_tmp93_, _tmp95_);
			_tmp97_ = (GeeMapEntry*) _tmp96_;
			map_tests_assert_entry (_tmp97_, "four", "four");
			_g_object_unref0 (_tmp97_);
			_g_object_unref0 (_tmp95_);
			_tmp98_ = keys;
			_tmp99_ = gee_sorted_set_ceil (_tmp98_, "one");
			_tmp100_ = (gchar*) _tmp99_;
			_vala_assert (g_strcmp0 (_tmp100_, "one") == 0, "keys.ceil (\"one\") == \"one\"");
			_g_free0 (_tmp100_);
			_tmp101_ = entries;
			_tmp102_ = map_tests_entry_for ("one", "one");
			_tmp103_ = _tmp102_;
			_tmp104_ = gee_sorted_set_ceil (_tmp101_, _tmp103_);
			_tmp105_ = (GeeMapEntry*) _tmp104_;
			map_tests_assert_entry (_tmp105_, "one", "one");
			_g_object_unref0 (_tmp105_);
			_g_object_unref0 (_tmp103_);
			_tmp106_ = keys;
			_tmp107_ = gee_sorted_set_ceil (_tmp106_, "six");
			_tmp108_ = (gchar*) _tmp107_;
			_vala_assert (g_strcmp0 (_tmp108_, "six") == 0, "keys.ceil (\"six\") == \"six\"");
			_g_free0 (_tmp108_);
			_tmp109_ = entries;
			_tmp110_ = map_tests_entry_for ("six", "six");
			_tmp111_ = _tmp110_;
			_tmp112_ = gee_sorted_set_ceil (_tmp109_, _tmp111_);
			_tmp113_ = (GeeMapEntry*) _tmp112_;
			map_tests_assert_entry (_tmp113_, "six", "six");
			_g_object_unref0 (_tmp113_);
			_g_object_unref0 (_tmp111_);
			_tmp114_ = keys;
			_tmp115_ = gee_sorted_set_ceil (_tmp114_, "three");
			_tmp116_ = (gchar*) _tmp115_;
			_vala_assert (_tmp116_ == NULL, "keys.ceil (\"three\") == null");
			_g_free0 (_tmp116_);
			_tmp117_ = entries;
			_tmp118_ = map_tests_entry_for ("three", "three");
			_tmp119_ = _tmp118_;
			_tmp120_ = gee_sorted_set_ceil (_tmp117_, _tmp119_);
			_tmp121_ = (GeeMapEntry*) _tmp120_;
			_vala_assert (_tmp121_ == NULL, "entries.ceil (MapTests.entry_for (\"three\", \"three\")) == null");
			_g_object_unref0 (_tmp121_);
			_g_object_unref0 (_tmp119_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp122_;
			gpointer _tmp123_;
			gchar* _tmp124_;
			GeeSortedSet* _tmp125_;
			GeeMapEntry* _tmp126_;
			GeeMapEntry* _tmp127_;
			gpointer _tmp128_;
			GeeMapEntry* _tmp129_;
			_tmp122_ = keys;
			_tmp123_ = gee_sorted_set_ceil (_tmp122_, "six");
			_tmp124_ = (gchar*) _tmp123_;
			_vala_assert (_tmp124_ == NULL, "keys.ceil (\"six\") == null");
			_g_free0 (_tmp124_);
			_tmp125_ = entries;
			_tmp126_ = map_tests_entry_for ("six", "six");
			_tmp127_ = _tmp126_;
			_tmp128_ = gee_sorted_set_ceil (_tmp125_, _tmp127_);
			_tmp129_ = (GeeMapEntry*) _tmp128_;
			_vala_assert (_tmp129_ == NULL, "entries.ceil (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp129_);
			_g_object_unref0 (_tmp127_);
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_iterator_at (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp0_;
	GeeSortedSet* _tmp1_;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	gchar** _tmp10_;
	gint _tmp10__length1;
	gchar** _tmp32_;
	gint _tmp32__length1;
	GeeSortedSet* _tmp46_;
	GeeIterator* _tmp47_;
	GeeIterator* _tmp48_;
	GeeSortedSet* _tmp49_;
	GeeMapEntry* _tmp50_;
	GeeMapEntry* _tmp51_;
	GeeIterator* _tmp52_;
	GeeIterator* _tmp53_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_sorted_map_get_ascending_keys (_tmp0_);
	_tmp2_ = _tmp1_;
	keys = _tmp2_;
	_tmp3_ = self->priv->submap;
	_tmp4_ = gee_sorted_map_get_ascending_entries (_tmp3_);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp6_, &_tmp7_, &_tmp8_, &_tmp9_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp6_;
	contains_length1 = _tmp7_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp8_;
	not_contains_length1 = _tmp9_;
	_not_contains_size_ = not_contains_length1;
	_tmp10_ = contains;
	_tmp10__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp10_;
		s_collection_length1 = _tmp10__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp11_;
			gchar* s = NULL;
			_tmp11_ = g_strdup (s_collection[s_it]);
			s = _tmp11_;
			{
				GeeIterator* key_iter = NULL;
				GeeSortedSet* _tmp12_;
				const gchar* _tmp13_;
				GeeIterator* _tmp14_;
				GeeIterator* entry_iter = NULL;
				GeeSortedSet* _tmp15_;
				const gchar* _tmp16_;
				const gchar* _tmp17_;
				GeeMapEntry* _tmp18_;
				GeeMapEntry* _tmp19_;
				GeeIterator* _tmp20_;
				GeeIterator* _tmp21_;
				GeeIterator* _tmp22_;
				GeeIterator* _tmp23_;
				gpointer _tmp24_;
				gchar* _tmp25_;
				const gchar* _tmp26_;
				GeeIterator* _tmp27_;
				gpointer _tmp28_;
				GeeMapEntry* _tmp29_;
				const gchar* _tmp30_;
				const gchar* _tmp31_;
				_tmp12_ = keys;
				_tmp13_ = s;
				_tmp14_ = gee_sorted_set_iterator_at (_tmp12_, _tmp13_);
				key_iter = _tmp14_;
				_tmp15_ = entries;
				_tmp16_ = s;
				_tmp17_ = s;
				_tmp18_ = map_tests_entry_for (_tmp16_, _tmp17_);
				_tmp19_ = _tmp18_;
				_tmp20_ = gee_sorted_set_iterator_at (_tmp15_, _tmp19_);
				_tmp21_ = _tmp20_;
				_g_object_unref0 (_tmp19_);
				entry_iter = _tmp21_;
				_tmp22_ = key_iter;
				_vala_assert (_tmp22_ != NULL, "key_iter != null");
				_tmp23_ = key_iter;
				_tmp24_ = gee_iterator_get (_tmp23_);
				_tmp25_ = (gchar*) _tmp24_;
				_tmp26_ = s;
				_vala_assert (g_strcmp0 (_tmp25_, _tmp26_) == 0, "key_iter.get () == s");
				_g_free0 (_tmp25_);
				_tmp27_ = entry_iter;
				_tmp28_ = gee_iterator_get (_tmp27_);
				_tmp29_ = (GeeMapEntry*) _tmp28_;
				_tmp30_ = s;
				_tmp31_ = s;
				map_tests_assert_entry (_tmp29_, _tmp30_, _tmp31_);
				_g_object_unref0 (_tmp29_);
				_g_object_unref0 (entry_iter);
				_g_object_unref0 (key_iter);
				_g_free0 (s);
			}
		}
	}
	_tmp32_ = not_contains;
	_tmp32__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp32_;
		s_collection_length1 = _tmp32__length1;
		for (s_it = 0; s_it < s_collection_length1; s_it = s_it + 1) {
			gchar* _tmp33_;
			gchar* s = NULL;
			_tmp33_ = g_strdup (s_collection[s_it]);
			s = _tmp33_;
			{
				GeeIterator* key_iter = NULL;
				GeeSortedSet* _tmp34_;
				const gchar* _tmp35_;
				GeeIterator* _tmp36_;
				GeeIterator* entry_iter = NULL;
				GeeSortedSet* _tmp37_;
				const gchar* _tmp38_;
				const gchar* _tmp39_;
				GeeMapEntry* _tmp40_;
				GeeMapEntry* _tmp41_;
				GeeIterator* _tmp42_;
				GeeIterator* _tmp43_;
				GeeIterator* _tmp44_;
				GeeIterator* _tmp45_;
				_tmp34_ = keys;
				_tmp35_ = s;
				_tmp36_ = gee_sorted_set_iterator_at (_tmp34_, _tmp35_);
				key_iter = _tmp36_;
				_tmp37_ = entries;
				_tmp38_ = s;
				_tmp39_ = s;
				_tmp40_ = map_tests_entry_for (_tmp38_, _tmp39_);
				_tmp41_ = _tmp40_;
				_tmp42_ = gee_sorted_set_iterator_at (_tmp37_, _tmp41_);
				_tmp43_ = _tmp42_;
				_g_object_unref0 (_tmp41_);
				entry_iter = _tmp43_;
				_tmp44_ = key_iter;
				_vala_assert (_tmp44_ == NULL, "key_iter == null");
				_tmp45_ = entry_iter;
				_vala_assert (_tmp45_ == NULL, "entry_iter == null");
				_g_object_unref0 (entry_iter);
				_g_object_unref0 (key_iter);
				_g_free0 (s);
			}
		}
	}
	_tmp46_ = keys;
	_tmp47_ = gee_sorted_set_iterator_at (_tmp46_, "seven");
	_tmp48_ = _tmp47_;
	_vala_assert (_tmp48_ == NULL, "keys.iterator_at (\"seven\") == null");
	_g_object_unref0 (_tmp48_);
	_tmp49_ = entries;
	_tmp50_ = map_tests_entry_for ("seven", "seven");
	_tmp51_ = _tmp50_;
	_tmp52_ = gee_sorted_set_iterator_at (_tmp49_, _tmp51_);
	_tmp53_ = _tmp52_;
	_vala_assert (_tmp53_ == NULL, "entries.iterator_at (MapTests.entry_for (\"seven\", \"seven\")) == null");
	_g_object_unref0 (_tmp53_);
	_g_object_unref0 (_tmp51_);
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

void
gee_sorted_map_tests_sub_map_tests_test_submap_and_subsets (GeeSortedMapTestsSubMapTests* self)
{
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	gchar** not_contains = NULL;
	gint not_contains_length1 = 0;
	gint _not_contains_size_ = 0;
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp0_;
	GeeSortedSet* _tmp1_;
	GeeSortedSet* _tmp2_;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_;
	GeeSortedSet* _tmp4_;
	GeeSortedSet* _tmp5_;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_sorted_map_get_ascending_keys (_tmp0_);
	_tmp2_ = _tmp1_;
	keys = _tmp2_;
	_tmp3_ = self->priv->submap;
	_tmp4_ = gee_sorted_map_get_ascending_entries (_tmp3_);
	_tmp5_ = _tmp4_;
	entries = _tmp5_;
	gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp6_, &_tmp7_, &_tmp8_, &_tmp9_);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
	contains = _tmp6_;
	contains_length1 = _tmp7_;
	_contains_size_ = contains_length1;
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	not_contains = _tmp8_;
	not_contains_length1 = _tmp9_;
	_not_contains_size_ = not_contains_length1;
	switch (self->priv->type) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedMap* subsubmap = NULL;
			GeeSortedMap* _tmp10_;
			GeeSortedMap* _tmp11_;
			GeeSortedSet* keyssubset = NULL;
			GeeSortedSet* _tmp12_;
			GeeSortedSet* _tmp13_;
			GeeSortedSet* entriessubset = NULL;
			GeeSortedSet* _tmp14_;
			GeeMapEntry* _tmp15_;
			GeeMapEntry* _tmp16_;
			GeeSortedSet* _tmp17_;
			GeeSortedSet* _tmp18_;
			GeeSortedMap* _tmp19_;
			gint _tmp20_;
			gint _tmp21_;
			GeeSortedSet* _tmp22_;
			gint _tmp23_;
			gint _tmp24_;
			GeeSortedSet* _tmp25_;
			gint _tmp26_;
			gint _tmp27_;
			GeeSortedMap* _tmp28_;
			GeeSortedMap* _tmp29_;
			GeeSortedSet* _tmp30_;
			GeeSortedSet* _tmp31_;
			GeeSortedSet* _tmp32_;
			GeeMapEntry* _tmp33_;
			GeeMapEntry* _tmp34_;
			GeeSortedSet* _tmp35_;
			GeeSortedMap* _tmp36_;
			gint _tmp37_;
			gint _tmp38_;
			GeeSortedSet* _tmp39_;
			gint _tmp40_;
			gint _tmp41_;
			GeeSortedSet* _tmp42_;
			gint _tmp43_;
			gint _tmp44_;
			GeeSortedMap* _tmp45_;
			GeeSortedMap* _tmp46_;
			GeeSortedSet* _tmp47_;
			GeeSortedSet* _tmp48_;
			GeeSortedSet* _tmp49_;
			GeeMapEntry* _tmp50_;
			GeeMapEntry* _tmp51_;
			GeeMapEntry* _tmp52_;
			GeeMapEntry* _tmp53_;
			GeeSortedSet* _tmp54_;
			GeeSortedMap* _tmp55_;
			gint _tmp56_;
			gint _tmp57_;
			GeeSortedSet* _tmp58_;
			gint _tmp59_;
			gint _tmp60_;
			GeeSortedSet* _tmp61_;
			gint _tmp62_;
			gint _tmp63_;
			GeeSortedMap* _tmp64_;
			GeeSortedMap* _tmp65_;
			GeeSortedSet* _tmp66_;
			GeeSortedSet* _tmp67_;
			GeeSortedSet* _tmp68_;
			GeeMapEntry* _tmp69_;
			GeeMapEntry* _tmp70_;
			GeeMapEntry* _tmp71_;
			GeeMapEntry* _tmp72_;
			GeeSortedSet* _tmp73_;
			GeeSortedMap* _tmp74_;
			gint _tmp75_;
			gint _tmp76_;
			GeeSortedSet* _tmp77_;
			gint _tmp78_;
			gint _tmp79_;
			GeeSortedSet* _tmp80_;
			gint _tmp81_;
			gint _tmp82_;
			_tmp10_ = self->priv->submap;
			_tmp11_ = gee_sorted_map_head_map (_tmp10_, "four");
			subsubmap = _tmp11_;
			_tmp12_ = keys;
			_tmp13_ = gee_sorted_set_head_set (_tmp12_, "four");
			keyssubset = _tmp13_;
			_tmp14_ = entries;
			_tmp15_ = map_tests_entry_for ("four", "four");
			_tmp16_ = _tmp15_;
			_tmp17_ = gee_sorted_set_head_set (_tmp14_, _tmp16_);
			_tmp18_ = _tmp17_;
			_g_object_unref0 (_tmp16_);
			entriessubset = _tmp18_;
			_tmp19_ = subsubmap;
			_tmp20_ = gee_map_get_size ((GeeMap*) _tmp19_);
			_tmp21_ = _tmp20_;
			_vala_assert (_tmp21_ == 1, "subsubmap.size == 1");
			_tmp22_ = keyssubset;
			_tmp23_ = gee_collection_get_size ((GeeCollection*) _tmp22_);
			_tmp24_ = _tmp23_;
			_vala_assert (_tmp24_ == 1, "keyssubset.size == 1");
			_tmp25_ = entriessubset;
			_tmp26_ = gee_collection_get_size ((GeeCollection*) _tmp25_);
			_tmp27_ = _tmp26_;
			_vala_assert (_tmp27_ == 1, "entriessubset.size == 1");
			_tmp28_ = self->priv->submap;
			_tmp29_ = gee_sorted_map_tail_map (_tmp28_, "four");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp29_;
			_tmp30_ = keys;
			_tmp31_ = gee_sorted_set_tail_set (_tmp30_, "four");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp31_;
			_tmp32_ = entries;
			_tmp33_ = map_tests_entry_for ("four", "four");
			_tmp34_ = _tmp33_;
			_tmp35_ = gee_sorted_set_tail_set (_tmp32_, _tmp34_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp35_;
			_g_object_unref0 (_tmp34_);
			_tmp36_ = subsubmap;
			_tmp37_ = gee_map_get_size ((GeeMap*) _tmp36_);
			_tmp38_ = _tmp37_;
			_vala_assert (_tmp38_ == 1, "subsubmap.size == 1");
			_tmp39_ = keyssubset;
			_tmp40_ = gee_collection_get_size ((GeeCollection*) _tmp39_);
			_tmp41_ = _tmp40_;
			_vala_assert (_tmp41_ == 1, "keyssubset.size == 1");
			_tmp42_ = entriessubset;
			_tmp43_ = gee_collection_get_size ((GeeCollection*) _tmp42_);
			_tmp44_ = _tmp43_;
			_vala_assert (_tmp44_ == 1, "entriessubset.size == 1");
			_tmp45_ = self->priv->submap;
			_tmp46_ = gee_sorted_map_sub_map (_tmp45_, "four", "one");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp46_;
			_tmp47_ = keys;
			_tmp48_ = gee_sorted_set_sub_set (_tmp47_, "four", "one");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp48_;
			_tmp49_ = entries;
			_tmp50_ = map_tests_entry_for ("four", "four");
			_tmp51_ = _tmp50_;
			_tmp52_ = map_tests_entry_for ("one", "one");
			_tmp53_ = _tmp52_;
			_tmp54_ = gee_sorted_set_sub_set (_tmp49_, _tmp51_, _tmp53_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp54_;
			_g_object_unref0 (_tmp53_);
			_g_object_unref0 (_tmp51_);
			_tmp55_ = subsubmap;
			_tmp56_ = gee_map_get_size ((GeeMap*) _tmp55_);
			_tmp57_ = _tmp56_;
			_vala_assert (_tmp57_ == 1, "subsubmap.size == 1");
			_tmp58_ = keyssubset;
			_tmp59_ = gee_collection_get_size ((GeeCollection*) _tmp58_);
			_tmp60_ = _tmp59_;
			_vala_assert (_tmp60_ == 1, "keyssubset.size == 1");
			_tmp61_ = entriessubset;
			_tmp62_ = gee_collection_get_size ((GeeCollection*) _tmp61_);
			_tmp63_ = _tmp62_;
			_vala_assert (_tmp63_ == 1, "entriessubset.size == 1");
			_tmp64_ = self->priv->submap;
			_tmp65_ = gee_sorted_map_sub_map (_tmp64_, "four", "four");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp65_;
			_tmp66_ = keys;
			_tmp67_ = gee_sorted_set_sub_set (_tmp66_, "four", "four");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp67_;
			_tmp68_ = entries;
			_tmp69_ = map_tests_entry_for ("four", "four");
			_tmp70_ = _tmp69_;
			_tmp71_ = map_tests_entry_for ("four", "four");
			_tmp72_ = _tmp71_;
			_tmp73_ = gee_sorted_set_sub_set (_tmp68_, _tmp70_, _tmp72_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp73_;
			_g_object_unref0 (_tmp72_);
			_g_object_unref0 (_tmp70_);
			_tmp74_ = subsubmap;
			_tmp75_ = gee_map_get_size ((GeeMap*) _tmp74_);
			_tmp76_ = _tmp75_;
			_vala_assert (_tmp76_ == 0, "subsubmap.size == 0");
			_tmp77_ = keyssubset;
			_tmp78_ = gee_collection_get_size ((GeeCollection*) _tmp77_);
			_tmp79_ = _tmp78_;
			_vala_assert (_tmp79_ == 0, "keyssubset.size == 0");
			_tmp80_ = entriessubset;
			_tmp81_ = gee_collection_get_size ((GeeCollection*) _tmp80_);
			_tmp82_ = _tmp81_;
			_vala_assert (_tmp82_ == 0, "entriessubset.size == 0");
			_g_object_unref0 (entriessubset);
			_g_object_unref0 (keyssubset);
			_g_object_unref0 (subsubmap);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedMap* subsubmap = NULL;
			GeeSortedMap* _tmp83_;
			GeeSortedMap* _tmp84_;
			GeeSortedSet* keyssubset = NULL;
			GeeSortedSet* _tmp85_;
			GeeSortedSet* _tmp86_;
			GeeSortedSet* entriessubset = NULL;
			GeeSortedSet* _tmp87_;
			GeeMapEntry* _tmp88_;
			GeeMapEntry* _tmp89_;
			GeeSortedSet* _tmp90_;
			GeeSortedSet* _tmp91_;
			GeeSortedMap* _tmp92_;
			gint _tmp93_;
			gint _tmp94_;
			GeeSortedSet* _tmp95_;
			gint _tmp96_;
			gint _tmp97_;
			GeeSortedSet* _tmp98_;
			gint _tmp99_;
			gint _tmp100_;
			GeeSortedMap* _tmp101_;
			GeeSortedMap* _tmp102_;
			GeeSortedSet* _tmp103_;
			GeeSortedSet* _tmp104_;
			GeeSortedSet* _tmp105_;
			GeeMapEntry* _tmp106_;
			GeeMapEntry* _tmp107_;
			GeeSortedSet* _tmp108_;
			GeeSortedMap* _tmp109_;
			gint _tmp110_;
			gint _tmp111_;
			GeeSortedSet* _tmp112_;
			gint _tmp113_;
			gint _tmp114_;
			GeeSortedSet* _tmp115_;
			gint _tmp116_;
			gint _tmp117_;
			GeeSortedMap* _tmp118_;
			GeeSortedMap* _tmp119_;
			GeeSortedSet* _tmp120_;
			GeeSortedSet* _tmp121_;
			GeeSortedSet* _tmp122_;
			GeeMapEntry* _tmp123_;
			GeeMapEntry* _tmp124_;
			GeeMapEntry* _tmp125_;
			GeeMapEntry* _tmp126_;
			GeeSortedSet* _tmp127_;
			GeeSortedMap* _tmp128_;
			gint _tmp129_;
			gint _tmp130_;
			GeeSortedSet* _tmp131_;
			gint _tmp132_;
			gint _tmp133_;
			GeeSortedSet* _tmp134_;
			gint _tmp135_;
			gint _tmp136_;
			_tmp83_ = self->priv->submap;
			_tmp84_ = gee_sorted_map_head_map (_tmp83_, "two");
			subsubmap = _tmp84_;
			_tmp85_ = keys;
			_tmp86_ = gee_sorted_set_head_set (_tmp85_, "two");
			keyssubset = _tmp86_;
			_tmp87_ = entries;
			_tmp88_ = map_tests_entry_for ("two", "two");
			_tmp89_ = _tmp88_;
			_tmp90_ = gee_sorted_set_head_set (_tmp87_, _tmp89_);
			_tmp91_ = _tmp90_;
			_g_object_unref0 (_tmp89_);
			entriessubset = _tmp91_;
			_tmp92_ = subsubmap;
			_tmp93_ = gee_map_get_size ((GeeMap*) _tmp92_);
			_tmp94_ = _tmp93_;
			_vala_assert (_tmp94_ == 2, "subsubmap.size == 2");
			_tmp95_ = keyssubset;
			_tmp96_ = gee_collection_get_size ((GeeCollection*) _tmp95_);
			_tmp97_ = _tmp96_;
			_vala_assert (_tmp97_ == 2, "keyssubset.size == 2");
			_tmp98_ = entriessubset;
			_tmp99_ = gee_collection_get_size ((GeeCollection*) _tmp98_);
			_tmp100_ = _tmp99_;
			_vala_assert (_tmp100_ == 2, "entriessubset.size == 2");
			_tmp101_ = self->priv->submap;
			_tmp102_ = gee_sorted_map_tail_map (_tmp101_, "three");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp102_;
			_tmp103_ = keys;
			_tmp104_ = gee_sorted_set_tail_set (_tmp103_, "three");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp104_;
			_tmp105_ = entries;
			_tmp106_ = map_tests_entry_for ("three", "three");
			_tmp107_ = _tmp106_;
			_tmp108_ = gee_sorted_set_tail_set (_tmp105_, _tmp107_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp108_;
			_g_object_unref0 (_tmp107_);
			_tmp109_ = subsubmap;
			_tmp110_ = gee_map_get_size ((GeeMap*) _tmp109_);
			_tmp111_ = _tmp110_;
			_vala_assert (_tmp111_ == 2, "subsubmap.size == 2");
			_tmp112_ = keyssubset;
			_tmp113_ = gee_collection_get_size ((GeeCollection*) _tmp112_);
			_tmp114_ = _tmp113_;
			_vala_assert (_tmp114_ == 2, "keyssubset.size == 2");
			_tmp115_ = entriessubset;
			_tmp116_ = gee_collection_get_size ((GeeCollection*) _tmp115_);
			_tmp117_ = _tmp116_;
			_vala_assert (_tmp117_ == 2, "entriessubset.size == 2");
			_tmp118_ = self->priv->submap;
			_tmp119_ = gee_sorted_map_sub_map (_tmp118_, "three", "two");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp119_;
			_tmp120_ = keys;
			_tmp121_ = gee_sorted_set_sub_set (_tmp120_, "three", "two");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp121_;
			_tmp122_ = entries;
			_tmp123_ = map_tests_entry_for ("three", "three");
			_tmp124_ = _tmp123_;
			_tmp125_ = map_tests_entry_for ("two", "two");
			_tmp126_ = _tmp125_;
			_tmp127_ = gee_sorted_set_sub_set (_tmp122_, _tmp124_, _tmp126_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp127_;
			_g_object_unref0 (_tmp126_);
			_g_object_unref0 (_tmp124_);
			_tmp128_ = subsubmap;
			_tmp129_ = gee_map_get_size ((GeeMap*) _tmp128_);
			_tmp130_ = _tmp129_;
			_vala_assert (_tmp130_ == 1, "subsubmap.size == 1");
			_tmp131_ = keyssubset;
			_tmp132_ = gee_collection_get_size ((GeeCollection*) _tmp131_);
			_tmp133_ = _tmp132_;
			_vala_assert (_tmp133_ == 1, "keyssubset.size == 1");
			_tmp134_ = entriessubset;
			_tmp135_ = gee_collection_get_size ((GeeCollection*) _tmp134_);
			_tmp136_ = _tmp135_;
			_vala_assert (_tmp136_ == 1, "entriessubset.size == 1");
			_g_object_unref0 (entriessubset);
			_g_object_unref0 (keyssubset);
			_g_object_unref0 (subsubmap);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedMap* subsubmap = NULL;
			GeeSortedMap* _tmp137_;
			GeeSortedMap* _tmp138_;
			GeeSortedSet* keyssubset = NULL;
			GeeSortedSet* _tmp139_;
			GeeSortedSet* _tmp140_;
			GeeSortedSet* entriessubset = NULL;
			GeeSortedSet* _tmp141_;
			GeeMapEntry* _tmp142_;
			GeeMapEntry* _tmp143_;
			GeeSortedSet* _tmp144_;
			GeeSortedSet* _tmp145_;
			GeeSortedMap* _tmp146_;
			gint _tmp147_;
			gint _tmp148_;
			GeeSortedSet* _tmp149_;
			gint _tmp150_;
			gint _tmp151_;
			GeeSortedSet* _tmp152_;
			gint _tmp153_;
			gint _tmp154_;
			GeeSortedMap* _tmp155_;
			GeeSortedMap* _tmp156_;
			GeeSortedSet* _tmp157_;
			GeeSortedSet* _tmp158_;
			GeeSortedSet* _tmp159_;
			GeeMapEntry* _tmp160_;
			GeeMapEntry* _tmp161_;
			GeeSortedSet* _tmp162_;
			GeeSortedMap* _tmp163_;
			gint _tmp164_;
			gint _tmp165_;
			GeeSortedSet* _tmp166_;
			gint _tmp167_;
			gint _tmp168_;
			GeeSortedSet* _tmp169_;
			gint _tmp170_;
			gint _tmp171_;
			GeeSortedMap* _tmp172_;
			GeeSortedMap* _tmp173_;
			GeeSortedSet* _tmp174_;
			GeeSortedSet* _tmp175_;
			GeeSortedSet* _tmp176_;
			GeeMapEntry* _tmp177_;
			GeeMapEntry* _tmp178_;
			GeeMapEntry* _tmp179_;
			GeeMapEntry* _tmp180_;
			GeeSortedSet* _tmp181_;
			GeeSortedMap* _tmp182_;
			gint _tmp183_;
			gint _tmp184_;
			GeeSortedSet* _tmp185_;
			gint _tmp186_;
			gint _tmp187_;
			GeeSortedSet* _tmp188_;
			gint _tmp189_;
			gint _tmp190_;
			GeeSortedMap* _tmp191_;
			GeeSortedMap* _tmp192_;
			GeeSortedSet* _tmp193_;
			GeeSortedSet* _tmp194_;
			GeeSortedSet* _tmp195_;
			GeeMapEntry* _tmp196_;
			GeeMapEntry* _tmp197_;
			GeeMapEntry* _tmp198_;
			GeeMapEntry* _tmp199_;
			GeeSortedSet* _tmp200_;
			GeeSortedMap* _tmp201_;
			gint _tmp202_;
			gint _tmp203_;
			GeeSortedSet* _tmp204_;
			gint _tmp205_;
			gint _tmp206_;
			GeeSortedSet* _tmp207_;
			gint _tmp208_;
			gint _tmp209_;
			_tmp137_ = self->priv->submap;
			_tmp138_ = gee_sorted_map_head_map (_tmp137_, "six");
			subsubmap = _tmp138_;
			_tmp139_ = keys;
			_tmp140_ = gee_sorted_set_head_set (_tmp139_, "six");
			keyssubset = _tmp140_;
			_tmp141_ = entries;
			_tmp142_ = map_tests_entry_for ("six", "six");
			_tmp143_ = _tmp142_;
			_tmp144_ = gee_sorted_set_head_set (_tmp141_, _tmp143_);
			_tmp145_ = _tmp144_;
			_g_object_unref0 (_tmp143_);
			entriessubset = _tmp145_;
			_tmp146_ = subsubmap;
			_tmp147_ = gee_map_get_size ((GeeMap*) _tmp146_);
			_tmp148_ = _tmp147_;
			_vala_assert (_tmp148_ == 2, "subsubmap.size == 2");
			_tmp149_ = keyssubset;
			_tmp150_ = gee_collection_get_size ((GeeCollection*) _tmp149_);
			_tmp151_ = _tmp150_;
			_vala_assert (_tmp151_ == 2, "keyssubset.size == 2");
			_tmp152_ = entriessubset;
			_tmp153_ = gee_collection_get_size ((GeeCollection*) _tmp152_);
			_tmp154_ = _tmp153_;
			_vala_assert (_tmp154_ == 2, "entriessubset.size == 2");
			_tmp155_ = self->priv->submap;
			_tmp156_ = gee_sorted_map_tail_map (_tmp155_, "one");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp156_;
			_tmp157_ = keys;
			_tmp158_ = gee_sorted_set_tail_set (_tmp157_, "one");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp158_;
			_tmp159_ = entries;
			_tmp160_ = map_tests_entry_for ("one", "one");
			_tmp161_ = _tmp160_;
			_tmp162_ = gee_sorted_set_tail_set (_tmp159_, _tmp161_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp162_;
			_g_object_unref0 (_tmp161_);
			_tmp163_ = subsubmap;
			_tmp164_ = gee_map_get_size ((GeeMap*) _tmp163_);
			_tmp165_ = _tmp164_;
			_vala_assert (_tmp165_ == 2, "subsubmap.size == 2");
			_tmp166_ = keyssubset;
			_tmp167_ = gee_collection_get_size ((GeeCollection*) _tmp166_);
			_tmp168_ = _tmp167_;
			_vala_assert (_tmp168_ == 2, "keyssubset.size == 2");
			_tmp169_ = entriessubset;
			_tmp170_ = gee_collection_get_size ((GeeCollection*) _tmp169_);
			_tmp171_ = _tmp170_;
			_vala_assert (_tmp171_ == 2, "entriessubset.size == 2");
			_tmp172_ = self->priv->submap;
			_tmp173_ = gee_sorted_map_sub_map (_tmp172_, "one", "six");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp173_;
			_tmp174_ = keys;
			_tmp175_ = gee_sorted_set_sub_set (_tmp174_, "one", "six");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp175_;
			_tmp176_ = entries;
			_tmp177_ = map_tests_entry_for ("one", "one");
			_tmp178_ = _tmp177_;
			_tmp179_ = map_tests_entry_for ("six", "six");
			_tmp180_ = _tmp179_;
			_tmp181_ = gee_sorted_set_sub_set (_tmp176_, _tmp178_, _tmp180_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp181_;
			_g_object_unref0 (_tmp180_);
			_g_object_unref0 (_tmp178_);
			_tmp182_ = subsubmap;
			_tmp183_ = gee_map_get_size ((GeeMap*) _tmp182_);
			_tmp184_ = _tmp183_;
			_vala_assert (_tmp184_ == 1, "subsubmap.size == 1");
			_tmp185_ = keyssubset;
			_tmp186_ = gee_collection_get_size ((GeeCollection*) _tmp185_);
			_tmp187_ = _tmp186_;
			_vala_assert (_tmp187_ == 1, "keyssubset.size == 1");
			_tmp188_ = entriessubset;
			_tmp189_ = gee_collection_get_size ((GeeCollection*) _tmp188_);
			_tmp190_ = _tmp189_;
			_vala_assert (_tmp190_ == 1, "entriessubset.size == 1");
			_tmp191_ = self->priv->submap;
			_tmp192_ = gee_sorted_map_sub_map (_tmp191_, "five", "two");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp192_;
			_tmp193_ = keys;
			_tmp194_ = gee_sorted_set_sub_set (_tmp193_, "five", "two");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp194_;
			_tmp195_ = entries;
			_tmp196_ = map_tests_entry_for ("five", "five");
			_tmp197_ = _tmp196_;
			_tmp198_ = map_tests_entry_for ("two", "two");
			_tmp199_ = _tmp198_;
			_tmp200_ = gee_sorted_set_sub_set (_tmp195_, _tmp197_, _tmp199_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp200_;
			_g_object_unref0 (_tmp199_);
			_g_object_unref0 (_tmp197_);
			_tmp201_ = subsubmap;
			_tmp202_ = gee_map_get_size ((GeeMap*) _tmp201_);
			_tmp203_ = _tmp202_;
			_vala_assert (_tmp203_ == 3, "subsubmap.size == 3");
			_tmp204_ = keyssubset;
			_tmp205_ = gee_collection_get_size ((GeeCollection*) _tmp204_);
			_tmp206_ = _tmp205_;
			_vala_assert (_tmp206_ == 3, "keyssubset.size == 3");
			_tmp207_ = entriessubset;
			_tmp208_ = gee_collection_get_size ((GeeCollection*) _tmp207_);
			_tmp209_ = _tmp208_;
			_vala_assert (_tmp209_ == 3, "entriessubset.size == 3");
			_g_object_unref0 (entriessubset);
			_g_object_unref0 (keyssubset);
			_g_object_unref0 (subsubmap);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedMap* subsubmap = NULL;
			GeeSortedMap* _tmp210_;
			GeeSortedMap* _tmp211_;
			GeeSortedSet* keyssubset = NULL;
			GeeSortedSet* _tmp212_;
			GeeSortedSet* _tmp213_;
			GeeSortedSet* entriessubset = NULL;
			GeeSortedSet* _tmp214_;
			GeeMapEntry* _tmp215_;
			GeeMapEntry* _tmp216_;
			GeeSortedSet* _tmp217_;
			GeeSortedSet* _tmp218_;
			GeeSortedMap* _tmp219_;
			gint _tmp220_;
			gint _tmp221_;
			GeeSortedSet* _tmp222_;
			gint _tmp223_;
			gint _tmp224_;
			GeeSortedSet* _tmp225_;
			gint _tmp226_;
			gint _tmp227_;
			GeeSortedMap* _tmp228_;
			GeeSortedMap* _tmp229_;
			GeeSortedSet* _tmp230_;
			GeeSortedSet* _tmp231_;
			GeeSortedSet* _tmp232_;
			GeeMapEntry* _tmp233_;
			GeeMapEntry* _tmp234_;
			GeeSortedSet* _tmp235_;
			GeeSortedMap* _tmp236_;
			gint _tmp237_;
			gint _tmp238_;
			GeeSortedSet* _tmp239_;
			gint _tmp240_;
			gint _tmp241_;
			GeeSortedSet* _tmp242_;
			gint _tmp243_;
			gint _tmp244_;
			GeeSortedMap* _tmp245_;
			GeeSortedMap* _tmp246_;
			GeeSortedSet* _tmp247_;
			GeeSortedSet* _tmp248_;
			GeeSortedSet* _tmp249_;
			GeeMapEntry* _tmp250_;
			GeeMapEntry* _tmp251_;
			GeeMapEntry* _tmp252_;
			GeeMapEntry* _tmp253_;
			GeeSortedSet* _tmp254_;
			GeeSortedMap* _tmp255_;
			gint _tmp256_;
			gint _tmp257_;
			GeeSortedSet* _tmp258_;
			gint _tmp259_;
			gint _tmp260_;
			GeeSortedSet* _tmp261_;
			gint _tmp262_;
			gint _tmp263_;
			_tmp210_ = self->priv->submap;
			_tmp211_ = gee_sorted_map_head_map (_tmp210_, "six");
			subsubmap = _tmp211_;
			_tmp212_ = keys;
			_tmp213_ = gee_sorted_set_head_set (_tmp212_, "six");
			keyssubset = _tmp213_;
			_tmp214_ = entries;
			_tmp215_ = map_tests_entry_for ("six", "six");
			_tmp216_ = _tmp215_;
			_tmp217_ = gee_sorted_set_head_set (_tmp214_, _tmp216_);
			_tmp218_ = _tmp217_;
			_g_object_unref0 (_tmp216_);
			entriessubset = _tmp218_;
			_tmp219_ = subsubmap;
			_tmp220_ = gee_map_get_size ((GeeMap*) _tmp219_);
			_tmp221_ = _tmp220_;
			_vala_assert (_tmp221_ == 0, "subsubmap.size == 0");
			_tmp222_ = keyssubset;
			_tmp223_ = gee_collection_get_size ((GeeCollection*) _tmp222_);
			_tmp224_ = _tmp223_;
			_vala_assert (_tmp224_ == 0, "keyssubset.size == 0");
			_tmp225_ = entriessubset;
			_tmp226_ = gee_collection_get_size ((GeeCollection*) _tmp225_);
			_tmp227_ = _tmp226_;
			_vala_assert (_tmp227_ == 0, "entriessubset.size == 0");
			_tmp228_ = self->priv->submap;
			_tmp229_ = gee_sorted_map_tail_map (_tmp228_, "three");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp229_;
			_tmp230_ = keys;
			_tmp231_ = gee_sorted_set_tail_set (_tmp230_, "three");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp231_;
			_tmp232_ = entries;
			_tmp233_ = map_tests_entry_for ("three", "three");
			_tmp234_ = _tmp233_;
			_tmp235_ = gee_sorted_set_tail_set (_tmp232_, _tmp234_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp235_;
			_g_object_unref0 (_tmp234_);
			_tmp236_ = subsubmap;
			_tmp237_ = gee_map_get_size ((GeeMap*) _tmp236_);
			_tmp238_ = _tmp237_;
			_vala_assert (_tmp238_ == 0, "subsubmap.size == 0");
			_tmp239_ = keyssubset;
			_tmp240_ = gee_collection_get_size ((GeeCollection*) _tmp239_);
			_tmp241_ = _tmp240_;
			_vala_assert (_tmp241_ == 0, "keyssubset.size == 0");
			_tmp242_ = entriessubset;
			_tmp243_ = gee_collection_get_size ((GeeCollection*) _tmp242_);
			_tmp244_ = _tmp243_;
			_vala_assert (_tmp244_ == 0, "entriessubset.size == 0");
			_tmp245_ = self->priv->submap;
			_tmp246_ = gee_sorted_map_sub_map (_tmp245_, "one", "six");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp246_;
			_tmp247_ = keys;
			_tmp248_ = gee_sorted_set_sub_set (_tmp247_, "one", "six");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp248_;
			_tmp249_ = entries;
			_tmp250_ = map_tests_entry_for ("one", "one");
			_tmp251_ = _tmp250_;
			_tmp252_ = map_tests_entry_for ("six", "six");
			_tmp253_ = _tmp252_;
			_tmp254_ = gee_sorted_set_sub_set (_tmp249_, _tmp251_, _tmp253_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp254_;
			_g_object_unref0 (_tmp253_);
			_g_object_unref0 (_tmp251_);
			_tmp255_ = subsubmap;
			_tmp256_ = gee_map_get_size ((GeeMap*) _tmp255_);
			_tmp257_ = _tmp256_;
			_vala_assert (_tmp257_ == 0, "subsubmap.size == 0");
			_tmp258_ = keyssubset;
			_tmp259_ = gee_collection_get_size ((GeeCollection*) _tmp258_);
			_tmp260_ = _tmp259_;
			_vala_assert (_tmp260_ == 0, "keyssubset.size == 0");
			_tmp261_ = entriessubset;
			_tmp262_ = gee_collection_get_size ((GeeCollection*) _tmp261_);
			_tmp263_ = _tmp262_;
			_vala_assert (_tmp263_ == 0, "entriessubset.size == 0");
			_g_object_unref0 (entriessubset);
			_g_object_unref0 (keyssubset);
			_g_object_unref0 (subsubmap);
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_g_object_unref0 (entries);
	_g_object_unref0 (keys);
	not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}

static void
gee_sorted_map_tests_sub_map_tests_class_init (GeeSortedMapTestsSubMapTestsClass * klass,
                                               gpointer klass_data)
{
	gee_sorted_map_tests_sub_map_tests_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &GeeSortedMapTestsSubMapTests_private_offset);
	((GeeTestCaseClass *) klass)->set_up = (void (*) (GeeTestCase*)) gee_sorted_map_tests_sub_map_tests_real_set_up;
	((GeeTestCaseClass *) klass)->tear_down = (void (*) (GeeTestCase*)) gee_sorted_map_tests_sub_map_tests_real_tear_down;
	G_OBJECT_CLASS (klass)->finalize = gee_sorted_map_tests_sub_map_tests_finalize;
}

static void
gee_sorted_map_tests_sub_map_tests_instance_init (GeeSortedMapTestsSubMapTests * self,
                                                  gpointer klass)
{
	self->priv = gee_sorted_map_tests_sub_map_tests_get_instance_private (self);
}

static void
gee_sorted_map_tests_sub_map_tests_finalize (GObject * obj)
{
	GeeSortedMapTestsSubMapTests * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GEE_SORTED_MAP_TESTS_TYPE_SUB_MAP_TESTS, GeeSortedMapTestsSubMapTests);
	_g_object_unref0 (self->priv->master);
	_g_object_unref0 (self->priv->submap);
	_g_object_unref0 (self->priv->test);
	G_OBJECT_CLASS (gee_sorted_map_tests_sub_map_tests_parent_class)->finalize (obj);
}

static GType
gee_sorted_map_tests_sub_map_tests_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (GeeSortedMapTestsSubMapTestsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gee_sorted_map_tests_sub_map_tests_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GeeSortedMapTestsSubMapTests), 0, (GInstanceInitFunc) gee_sorted_map_tests_sub_map_tests_instance_init, NULL };
	GType gee_sorted_map_tests_sub_map_tests_type_id;
	gee_sorted_map_tests_sub_map_tests_type_id = g_type_register_static (GEE_TYPE_TEST_CASE, "GeeSortedMapTestsSubMapTests", &g_define_type_info, 0);
	GeeSortedMapTestsSubMapTests_private_offset = g_type_add_instance_private (gee_sorted_map_tests_sub_map_tests_type_id, sizeof (GeeSortedMapTestsSubMapTestsPrivate));
	return gee_sorted_map_tests_sub_map_tests_type_id;
}

GType
gee_sorted_map_tests_sub_map_tests_get_type (void)
{
	static volatile gsize gee_sorted_map_tests_sub_map_tests_type_id__once = 0;
	if (g_once_init_enter (&gee_sorted_map_tests_sub_map_tests_type_id__once)) {
		GType gee_sorted_map_tests_sub_map_tests_type_id;
		gee_sorted_map_tests_sub_map_tests_type_id = gee_sorted_map_tests_sub_map_tests_get_type_once ();
		g_once_init_leave (&gee_sorted_map_tests_sub_map_tests_type_id__once, gee_sorted_map_tests_sub_map_tests_type_id);
	}
	return gee_sorted_map_tests_sub_map_tests_type_id__once;
}

static void
gee_sorted_map_tests_class_init (GeeSortedMapTestsClass * klass,
                                 gpointer klass_data)
{
	gee_sorted_map_tests_parent_class = g_type_class_peek_parent (klass);
}

static void
gee_sorted_map_tests_instance_init (GeeSortedMapTests * self,
                                    gpointer klass)
{
}

static GType
gee_sorted_map_tests_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (GeeSortedMapTestsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gee_sorted_map_tests_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GeeSortedMapTests), 0, (GInstanceInitFunc) gee_sorted_map_tests_instance_init, NULL };
	GType gee_sorted_map_tests_type_id;
	gee_sorted_map_tests_type_id = g_type_register_static (TYPE_MAP_TESTS, "GeeSortedMapTests", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
	return gee_sorted_map_tests_type_id;
}

GType
gee_sorted_map_tests_get_type (void)
{
	static volatile gsize gee_sorted_map_tests_type_id__once = 0;
	if (g_once_init_enter (&gee_sorted_map_tests_type_id__once)) {
		GType gee_sorted_map_tests_type_id;
		gee_sorted_map_tests_type_id = gee_sorted_map_tests_get_type_once ();
		g_once_init_leave (&gee_sorted_map_tests_type_id__once, gee_sorted_map_tests_type_id);
	}
	return gee_sorted_map_tests_type_id__once;
}

static void
_vala_array_destroy (gpointer array,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}

static void
_vala_array_free (gpointer array,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

