/* testsortedmap.c generated by valac 0.26.0, 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.h>
#include <glib-object.h>
#include <gee.h>
#include <stdlib.h>
#include <string.h>


#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;

#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;
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (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;
};

typedef void (*GeeTestCaseTestMethod) (void* 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;

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 gpointer gee_sorted_map_tests_sub_map_tests_parent_class = NULL;

GType gee_test_case_get_type (void) G_GNUC_CONST;
GType map_tests_get_type (void) G_GNUC_CONST;
GType gee_sorted_map_tests_get_type (void) G_GNUC_CONST;
enum  {
	GEE_SORTED_MAP_TESTS_DUMMY_PROPERTY
};
GeeSortedMapTests* gee_sorted_map_tests_construct (GType object_type, const gchar* name);
MapTests* map_tests_construct (GType object_type, const gchar* name);
void gee_test_case_add_test (GeeTestCase* self, const gchar* name, GeeTestCaseTestMethod test, void* test_target, GDestroyNotify test_target_destroy_notify);
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);
void gee_sorted_map_tests_test_first (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_first_gee_test_case_test_method (gpointer self);
void gee_sorted_map_tests_test_last (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_last_gee_test_case_test_method (gpointer self);
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);
void gee_sorted_map_tests_test_lower (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_lower_gee_test_case_test_method (gpointer self);
void gee_sorted_map_tests_test_higher (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_higher_gee_test_case_test_method (gpointer self);
void gee_sorted_map_tests_test_floor (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_floor_gee_test_case_test_method (gpointer self);
void gee_sorted_map_tests_test_ceil (GeeSortedMapTests* self);
static void _gee_sorted_map_tests_test_ceil_gee_test_case_test_method (gpointer self);
GTestSuite* gee_test_case_get_suite (GeeTestCase* self);
GType gee_sorted_map_tests_sub_map_tests_type_get_type (void) G_GNUC_CONST;
GeeSortedMapTestsSubMapTests* gee_sorted_map_tests_sub_map_tests_new (GeeSortedMapTests* test, GeeSortedMapTestsSubMapTestsType type);
GeeSortedMapTestsSubMapTests* gee_sorted_map_tests_sub_map_tests_construct (GType object_type, GeeSortedMapTests* test, GeeSortedMapTestsSubMapTestsType type);
GType gee_sorted_map_tests_sub_map_tests_get_type (void) G_GNUC_CONST;
void map_tests_assert_entry (GeeMapEntry* e, const gchar* key, const gchar* value);
GeeMapEntry* map_tests_entry_for (const gchar* key, const gchar* value);
#define GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GEE_SORTED_MAP_TESTS_TYPE_SUB_MAP_TESTS, GeeSortedMapTestsSubMapTestsPrivate))
enum  {
	GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_DUMMY_PROPERTY
};
const gchar* gee_sorted_map_tests_sub_map_tests_type_to_string (GeeSortedMapTestsSubMapTestsType self);
GeeTestCase* gee_test_case_construct (GType object_type, const gchar* name);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
void gee_test_case_set_up (GeeTestCase* self);
static void gee_sorted_map_tests_sub_map_tests_real_tear_down (GeeTestCase* base);
void gee_test_case_tear_down (GeeTestCase* self);
void gee_sorted_map_tests_sub_map_tests_set_default_values (GeeSortedMapTestsSubMapTests* self, gchar*** contains, int* contains_length1, gchar*** not_contains, int* not_contains_length1);
static void gee_sorted_map_tests_sub_map_tests_finalize (GObject* obj);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint 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;
	const gchar* _tmp0_ = NULL;
	GTestSuite* _tmp1_ = NULL;
	GeeSortedMapTestsSubMapTests* _tmp2_ = NULL;
	GeeSortedMapTestsSubMapTests* _tmp3_ = NULL;
	GTestSuite* _tmp4_ = NULL;
	GTestSuite* _tmp5_ = NULL;
	GeeSortedMapTestsSubMapTests* _tmp6_ = NULL;
	GeeSortedMapTestsSubMapTests* _tmp7_ = NULL;
	GTestSuite* _tmp8_ = NULL;
	GTestSuite* _tmp9_ = NULL;
	GeeSortedMapTestsSubMapTests* _tmp10_ = NULL;
	GeeSortedMapTestsSubMapTests* _tmp11_ = NULL;
	GTestSuite* _tmp12_ = NULL;
	GTestSuite* _tmp13_ = NULL;
	GeeSortedMapTestsSubMapTests* _tmp14_ = NULL;
	GeeSortedMapTestsSubMapTests* _tmp15_ = NULL;
	GTestSuite* _tmp16_ = NULL;
	g_return_val_if_fail (name != NULL, NULL);
	_tmp0_ = name;
	self = (GeeSortedMapTests*) map_tests_construct (object_type, _tmp0_);
	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);
	_tmp1_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp2_ = gee_sorted_map_tests_sub_map_tests_new (self, GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD);
	_tmp3_ = _tmp2_;
	_tmp4_ = gee_test_case_get_suite ((GeeTestCase*) _tmp3_);
	g_test_suite_add_suite (_tmp1_, _tmp4_);
	_g_object_unref0 (_tmp3_);
	_tmp5_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp6_ = gee_sorted_map_tests_sub_map_tests_new (self, GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL);
	_tmp7_ = _tmp6_;
	_tmp8_ = gee_test_case_get_suite ((GeeTestCase*) _tmp7_);
	g_test_suite_add_suite (_tmp5_, _tmp8_);
	_g_object_unref0 (_tmp7_);
	_tmp9_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp10_ = gee_sorted_map_tests_sub_map_tests_new (self, GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB);
	_tmp11_ = _tmp10_;
	_tmp12_ = gee_test_case_get_suite ((GeeTestCase*) _tmp11_);
	g_test_suite_add_suite (_tmp9_, _tmp12_);
	_g_object_unref0 (_tmp11_);
	_tmp13_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp14_ = gee_sorted_map_tests_sub_map_tests_new (self, GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY);
	_tmp15_ = _tmp14_;
	_tmp16_ = gee_test_case_get_suite ((GeeTestCase*) _tmp15_);
	g_test_suite_add_suite (_tmp13_, _tmp16_);
	_g_object_unref0 (_tmp15_);
	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_ = NULL;
	GeeSortedMap* _tmp1_ = NULL;
	GeeIterator* iterator = NULL;
	GeeSet* _tmp2_ = NULL;
	GeeSet* _tmp3_ = NULL;
	GeeSet* _tmp4_ = NULL;
	GeeIterator* _tmp5_ = NULL;
	GeeIterator* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	gpointer _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
	gboolean _tmp10_ = FALSE;
	gpointer _tmp11_ = NULL;
	gchar* _tmp12_ = NULL;
	gboolean _tmp13_ = FALSE;
	gpointer _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	gboolean _tmp16_ = FALSE;
	gpointer _tmp17_ = NULL;
	gchar* _tmp18_ = NULL;
	gboolean _tmp19_ = FALSE;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	gboolean _tmp22_ = FALSE;
	gpointer _tmp23_ = NULL;
	gchar* _tmp24_ = NULL;
	gboolean _tmp25_ = FALSE;
	gpointer _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	gboolean _tmp28_ = FALSE;
	gpointer _tmp29_ = NULL;
	gchar* _tmp30_ = NULL;
	gboolean _tmp31_ = FALSE;
	gpointer _tmp32_ = NULL;
	gchar* _tmp33_ = NULL;
	gboolean _tmp34_ = FALSE;
	gpointer _tmp35_ = NULL;
	gchar* _tmp36_ = NULL;
	gboolean _tmp37_ = FALSE;
	gpointer _tmp38_ = NULL;
	gchar* _tmp39_ = NULL;
	gboolean _tmp40_ = FALSE;
	gpointer _tmp41_ = NULL;
	gchar* _tmp42_ = NULL;
	gboolean _tmp43_ = FALSE;
	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_;
	_tmp7_ = gee_iterator_next (iterator);
	_vala_assert (_tmp7_, "iterator.next ()");
	_tmp8_ = gee_iterator_get (iterator);
	_tmp9_ = (gchar*) _tmp8_;
	_vala_assert (g_strcmp0 (_tmp9_, "eight") == 0, "iterator.get () == \"eight\"");
	_g_free0 (_tmp9_);
	_tmp10_ = gee_iterator_next (iterator);
	_vala_assert (_tmp10_, "iterator.next ()");
	_tmp11_ = gee_iterator_get (iterator);
	_tmp12_ = (gchar*) _tmp11_;
	_vala_assert (g_strcmp0 (_tmp12_, "eleven") == 0, "iterator.get () == \"eleven\"");
	_g_free0 (_tmp12_);
	_tmp13_ = gee_iterator_next (iterator);
	_vala_assert (_tmp13_, "iterator.next ()");
	_tmp14_ = gee_iterator_get (iterator);
	_tmp15_ = (gchar*) _tmp14_;
	_vala_assert (g_strcmp0 (_tmp15_, "five") == 0, "iterator.get () == \"five\"");
	_g_free0 (_tmp15_);
	_tmp16_ = gee_iterator_next (iterator);
	_vala_assert (_tmp16_, "iterator.next ()");
	_tmp17_ = gee_iterator_get (iterator);
	_tmp18_ = (gchar*) _tmp17_;
	_vala_assert (g_strcmp0 (_tmp18_, "four") == 0, "iterator.get () == \"four\"");
	_g_free0 (_tmp18_);
	_tmp19_ = gee_iterator_next (iterator);
	_vala_assert (_tmp19_, "iterator.next ()");
	_tmp20_ = gee_iterator_get (iterator);
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (g_strcmp0 (_tmp21_, "nine") == 0, "iterator.get () == \"nine\"");
	_g_free0 (_tmp21_);
	_tmp22_ = gee_iterator_next (iterator);
	_vala_assert (_tmp22_, "iterator.next ()");
	_tmp23_ = gee_iterator_get (iterator);
	_tmp24_ = (gchar*) _tmp23_;
	_vala_assert (g_strcmp0 (_tmp24_, "one") == 0, "iterator.get () == \"one\"");
	_g_free0 (_tmp24_);
	_tmp25_ = gee_iterator_next (iterator);
	_vala_assert (_tmp25_, "iterator.next ()");
	_tmp26_ = gee_iterator_get (iterator);
	_tmp27_ = (gchar*) _tmp26_;
	_vala_assert (g_strcmp0 (_tmp27_, "seven") == 0, "iterator.get () == \"seven\"");
	_g_free0 (_tmp27_);
	_tmp28_ = gee_iterator_next (iterator);
	_vala_assert (_tmp28_, "iterator.next ()");
	_tmp29_ = gee_iterator_get (iterator);
	_tmp30_ = (gchar*) _tmp29_;
	_vala_assert (g_strcmp0 (_tmp30_, "six") == 0, "iterator.get () == \"six\"");
	_g_free0 (_tmp30_);
	_tmp31_ = gee_iterator_next (iterator);
	_vala_assert (_tmp31_, "iterator.next ()");
	_tmp32_ = gee_iterator_get (iterator);
	_tmp33_ = (gchar*) _tmp32_;
	_vala_assert (g_strcmp0 (_tmp33_, "ten") == 0, "iterator.get () == \"ten\"");
	_g_free0 (_tmp33_);
	_tmp34_ = gee_iterator_next (iterator);
	_vala_assert (_tmp34_, "iterator.next ()");
	_tmp35_ = gee_iterator_get (iterator);
	_tmp36_ = (gchar*) _tmp35_;
	_vala_assert (g_strcmp0 (_tmp36_, "three") == 0, "iterator.get () == \"three\"");
	_g_free0 (_tmp36_);
	_tmp37_ = gee_iterator_next (iterator);
	_vala_assert (_tmp37_, "iterator.next ()");
	_tmp38_ = gee_iterator_get (iterator);
	_tmp39_ = (gchar*) _tmp38_;
	_vala_assert (g_strcmp0 (_tmp39_, "twelve") == 0, "iterator.get () == \"twelve\"");
	_g_free0 (_tmp39_);
	_tmp40_ = gee_iterator_next (iterator);
	_vala_assert (_tmp40_, "iterator.next ()");
	_tmp41_ = gee_iterator_get (iterator);
	_tmp42_ = (gchar*) _tmp41_;
	_vala_assert (g_strcmp0 (_tmp42_, "two") == 0, "iterator.get () == \"two\"");
	_g_free0 (_tmp42_);
	_tmp43_ = gee_iterator_next (iterator);
	_vala_assert (_tmp43_ == 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_ = NULL;
	GeeSortedMap* _tmp1_ = NULL;
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp2_ = NULL;
	GeeSortedSet* _tmp3_ = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp5_ = NULL;
	GeeSortedSet* _tmp6_ = NULL;
	GeeSortedSet* _tmp7_ = NULL;
	GeeSortedMap* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp13_ = FALSE;
	GeeSortedMap* _tmp17_ = NULL;
	GeeSortedMap* _tmp18_ = NULL;
	GeeSortedMap* _tmp19_ = NULL;
	GeeSortedMap* _tmp20_ = NULL;
	GeeSortedMap* _tmp21_ = NULL;
	GeeSortedMap* _tmp22_ = NULL;
	GeeSortedMap* _tmp23_ = NULL;
	GeeSortedMap* _tmp24_ = NULL;
	GeeSortedMap* _tmp25_ = NULL;
	GeeSortedMap* _tmp26_ = NULL;
	GeeSortedMap* _tmp27_ = NULL;
	GeeSortedMap* _tmp28_ = NULL;
	GeeSortedSet* _tmp29_ = NULL;
	gpointer _tmp30_ = NULL;
	gchar* _tmp31_ = NULL;
	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");
	_tmp9_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
	if (_tmp9_) {
		GeeSortedSet* _tmp10_ = NULL;
		gpointer _tmp11_ = NULL;
		gchar* _tmp12_ = NULL;
		_tmp10_ = keys;
		_tmp11_ = gee_sorted_set_first (_tmp10_);
		_tmp12_ = (gchar*) _tmp11_;
		_g_free0 (_tmp12_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	_tmp13_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
	if (_tmp13_) {
		GeeSortedSet* _tmp14_ = NULL;
		gpointer _tmp15_ = NULL;
		GeeMapEntry* _tmp16_ = NULL;
		_tmp14_ = entries;
		_tmp15_ = gee_sorted_set_first (_tmp14_);
		_tmp16_ = (GeeMapEntry*) _tmp15_;
		_g_object_unref0 (_tmp16_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	_tmp17_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp17_, "one", "one");
	_tmp18_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp18_, "two", "two");
	_tmp19_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp19_, "three", "three");
	_tmp20_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp20_, "four", "four");
	_tmp21_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp21_, "five", "five");
	_tmp22_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp22_, "six", "six");
	_tmp23_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp23_, "seven", "seven");
	_tmp24_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp24_, "eight", "eight");
	_tmp25_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp25_, "nine", "nine");
	_tmp26_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp26_, "ten", "ten");
	_tmp27_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp27_, "eleven", "eleven");
	_tmp28_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp28_, "twelve", "twelve");
	_tmp29_ = keys;
	_tmp30_ = gee_sorted_set_first (_tmp29_);
	_tmp31_ = (gchar*) _tmp30_;
	_vala_assert (g_strcmp0 (_tmp31_, "eight") == 0, "keys.first () == \"eight\"");
	_g_free0 (_tmp31_);
	_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_ = NULL;
	GeeSortedMap* _tmp1_ = NULL;
	GeeSortedSet* keys = NULL;
	GeeSortedMap* _tmp2_ = NULL;
	GeeSortedSet* _tmp3_ = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp5_ = NULL;
	GeeSortedSet* _tmp6_ = NULL;
	GeeSortedSet* _tmp7_ = NULL;
	GeeSortedMap* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp13_ = FALSE;
	GeeSortedMap* _tmp17_ = NULL;
	GeeSortedMap* _tmp18_ = NULL;
	GeeSortedMap* _tmp19_ = NULL;
	GeeSortedMap* _tmp20_ = NULL;
	GeeSortedMap* _tmp21_ = NULL;
	GeeSortedMap* _tmp22_ = NULL;
	GeeSortedMap* _tmp23_ = NULL;
	GeeSortedMap* _tmp24_ = NULL;
	GeeSortedMap* _tmp25_ = NULL;
	GeeSortedMap* _tmp26_ = NULL;
	GeeSortedMap* _tmp27_ = NULL;
	GeeSortedMap* _tmp28_ = NULL;
	GeeSortedSet* _tmp29_ = NULL;
	gpointer _tmp30_ = NULL;
	gchar* _tmp31_ = NULL;
	GeeSortedSet* _tmp32_ = NULL;
	gpointer _tmp33_ = NULL;
	GeeMapEntry* _tmp34_ = NULL;
	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");
	_tmp9_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
	if (_tmp9_) {
		GeeSortedSet* _tmp10_ = NULL;
		gpointer _tmp11_ = NULL;
		gchar* _tmp12_ = NULL;
		_tmp10_ = keys;
		_tmp11_ = gee_sorted_set_last (_tmp10_);
		_tmp12_ = (gchar*) _tmp11_;
		_g_free0 (_tmp12_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	_tmp13_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
	if (_tmp13_) {
		GeeSortedSet* _tmp14_ = NULL;
		gpointer _tmp15_ = NULL;
		GeeMapEntry* _tmp16_ = NULL;
		_tmp14_ = entries;
		_tmp15_ = gee_sorted_set_last (_tmp14_);
		_tmp16_ = (GeeMapEntry*) _tmp15_;
		_g_object_unref0 (_tmp16_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	_tmp17_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp17_, "one", "one");
	_tmp18_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp18_, "two", "two");
	_tmp19_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp19_, "three", "three");
	_tmp20_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp20_, "four", "four");
	_tmp21_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp21_, "five", "five");
	_tmp22_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp22_, "six", "six");
	_tmp23_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp23_, "seven", "seven");
	_tmp24_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp24_, "eight", "eight");
	_tmp25_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp25_, "nine", "nine");
	_tmp26_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp26_, "ten", "ten");
	_tmp27_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp27_, "eleven", "eleven");
	_tmp28_ = test_sorted_map;
	gee_map_set ((GeeMap*) _tmp28_, "twelve", "twelve");
	_tmp29_ = keys;
	_tmp30_ = gee_sorted_set_last (_tmp29_);
	_tmp31_ = (gchar*) _tmp30_;
	_vala_assert (g_strcmp0 (_tmp31_, "two") == 0, "keys.last () == \"two\"");
	_g_free0 (_tmp31_);
	_tmp32_ = entries;
	_tmp33_ = gee_sorted_set_last (_tmp32_);
	_tmp34_ = (GeeMapEntry*) _tmp33_;
	map_tests_assert_entry (_tmp34_, "two", "two");
	_g_object_unref0 (_tmp34_);
	_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_ = NULL;
	GeeSortedMap* _tmp1_ = NULL;
	GeeSortedSet* keys = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* _tmp3_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	GeeMap* _tmp6_ = NULL;
	GeeMap* _tmp7_ = NULL;
	GeeMap* _tmp8_ = NULL;
	GeeIterator* keys_iter = NULL;
	GeeIterator* _tmp9_ = NULL;
	GeeIterator* _tmp10_ = NULL;
	GeeIterator* _tmp11_ = NULL;
	gpointer _tmp12_ = NULL;
	gchar* _tmp13_ = NULL;
	GeeIterator* entries_iter = NULL;
	GeeMapEntry* _tmp14_ = NULL;
	GeeMapEntry* _tmp15_ = NULL;
	GeeIterator* _tmp16_ = NULL;
	GeeIterator* _tmp17_ = NULL;
	GeeIterator* _tmp18_ = NULL;
	GeeIterator* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	GeeMapEntry* _tmp21_ = NULL;
	GeeIterator* _tmp22_ = NULL;
	GeeIterator* _tmp23_ = NULL;
	GeeIterator* _tmp24_ = NULL;
	gpointer _tmp25_ = NULL;
	gchar* _tmp26_ = NULL;
	GeeMapEntry* _tmp27_ = NULL;
	GeeMapEntry* _tmp28_ = NULL;
	GeeIterator* _tmp29_ = NULL;
	GeeIterator* _tmp30_ = NULL;
	GeeIterator* _tmp31_ = NULL;
	gpointer _tmp32_ = NULL;
	GeeMapEntry* _tmp33_ = NULL;
	GeeIterator* _tmp34_ = NULL;
	GeeIterator* _tmp35_ = NULL;
	GeeIterator* _tmp36_ = NULL;
	gpointer _tmp37_ = NULL;
	gchar* _tmp38_ = NULL;
	GeeMapEntry* _tmp39_ = NULL;
	GeeMapEntry* _tmp40_ = NULL;
	GeeIterator* _tmp41_ = NULL;
	GeeIterator* _tmp42_ = NULL;
	GeeIterator* _tmp43_ = NULL;
	gpointer _tmp44_ = NULL;
	GeeMapEntry* _tmp45_ = NULL;
	GeeIterator* _tmp46_ = NULL;
	GeeIterator* _tmp47_ = NULL;
	GeeMapEntry* _tmp48_ = NULL;
	GeeMapEntry* _tmp49_ = NULL;
	GeeIterator* _tmp50_ = NULL;
	GeeIterator* _tmp51_ = NULL;
	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_ = NULL;
	GeeSortedMap* _tmp1_ = NULL;
	GeeSortedSet* keys = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* _tmp3_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	gpointer _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	gpointer _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
	GeeMapEntry* _tmp10_ = NULL;
	GeeMapEntry* _tmp11_ = NULL;
	gpointer _tmp12_ = NULL;
	GeeMapEntry* _tmp13_ = NULL;
	gpointer _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	GeeMapEntry* _tmp16_ = NULL;
	GeeMapEntry* _tmp17_ = NULL;
	gpointer _tmp18_ = NULL;
	GeeMapEntry* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	GeeMapEntry* _tmp22_ = NULL;
	GeeMapEntry* _tmp23_ = NULL;
	gpointer _tmp24_ = NULL;
	GeeMapEntry* _tmp25_ = NULL;
	gpointer _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	GeeMapEntry* _tmp28_ = NULL;
	GeeMapEntry* _tmp29_ = NULL;
	gpointer _tmp30_ = NULL;
	GeeMapEntry* _tmp31_ = NULL;
	gpointer _tmp32_ = NULL;
	gchar* _tmp33_ = NULL;
	GeeMapEntry* _tmp34_ = NULL;
	GeeMapEntry* _tmp35_ = NULL;
	gpointer _tmp36_ = NULL;
	GeeMapEntry* _tmp37_ = NULL;
	gpointer _tmp38_ = NULL;
	gchar* _tmp39_ = NULL;
	GeeMapEntry* _tmp40_ = NULL;
	GeeMapEntry* _tmp41_ = NULL;
	gpointer _tmp42_ = NULL;
	GeeMapEntry* _tmp43_ = NULL;
	gpointer _tmp44_ = NULL;
	gchar* _tmp45_ = NULL;
	GeeMapEntry* _tmp46_ = NULL;
	GeeMapEntry* _tmp47_ = NULL;
	gpointer _tmp48_ = NULL;
	GeeMapEntry* _tmp49_ = NULL;
	gpointer _tmp50_ = NULL;
	gchar* _tmp51_ = NULL;
	GeeMapEntry* _tmp52_ = NULL;
	GeeMapEntry* _tmp53_ = NULL;
	gpointer _tmp54_ = NULL;
	GeeMapEntry* _tmp55_ = NULL;
	gpointer _tmp56_ = NULL;
	gchar* _tmp57_ = NULL;
	GeeMapEntry* _tmp58_ = NULL;
	GeeMapEntry* _tmp59_ = NULL;
	gpointer _tmp60_ = NULL;
	GeeMapEntry* _tmp61_ = NULL;
	gpointer _tmp62_ = NULL;
	gchar* _tmp63_ = NULL;
	GeeMapEntry* _tmp64_ = NULL;
	GeeMapEntry* _tmp65_ = NULL;
	gpointer _tmp66_ = NULL;
	GeeMapEntry* _tmp67_ = NULL;
	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_ = NULL;
	GeeSortedMap* _tmp1_ = NULL;
	GeeSortedSet* keys = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* _tmp3_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	gpointer _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	gpointer _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
	GeeMapEntry* _tmp10_ = NULL;
	GeeMapEntry* _tmp11_ = NULL;
	gpointer _tmp12_ = NULL;
	GeeMapEntry* _tmp13_ = NULL;
	gpointer _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	GeeMapEntry* _tmp16_ = NULL;
	GeeMapEntry* _tmp17_ = NULL;
	gpointer _tmp18_ = NULL;
	GeeMapEntry* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	GeeMapEntry* _tmp22_ = NULL;
	GeeMapEntry* _tmp23_ = NULL;
	gpointer _tmp24_ = NULL;
	GeeMapEntry* _tmp25_ = NULL;
	gpointer _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	GeeMapEntry* _tmp28_ = NULL;
	GeeMapEntry* _tmp29_ = NULL;
	gpointer _tmp30_ = NULL;
	GeeMapEntry* _tmp31_ = NULL;
	gpointer _tmp32_ = NULL;
	gchar* _tmp33_ = NULL;
	GeeMapEntry* _tmp34_ = NULL;
	GeeMapEntry* _tmp35_ = NULL;
	gpointer _tmp36_ = NULL;
	GeeMapEntry* _tmp37_ = NULL;
	gpointer _tmp38_ = NULL;
	gchar* _tmp39_ = NULL;
	GeeMapEntry* _tmp40_ = NULL;
	GeeMapEntry* _tmp41_ = NULL;
	gpointer _tmp42_ = NULL;
	GeeMapEntry* _tmp43_ = NULL;
	gpointer _tmp44_ = NULL;
	gchar* _tmp45_ = NULL;
	GeeMapEntry* _tmp46_ = NULL;
	GeeMapEntry* _tmp47_ = NULL;
	gpointer _tmp48_ = NULL;
	GeeMapEntry* _tmp49_ = NULL;
	gpointer _tmp50_ = NULL;
	gchar* _tmp51_ = NULL;
	GeeMapEntry* _tmp52_ = NULL;
	GeeMapEntry* _tmp53_ = NULL;
	gpointer _tmp54_ = NULL;
	GeeMapEntry* _tmp55_ = NULL;
	gpointer _tmp56_ = NULL;
	gchar* _tmp57_ = NULL;
	GeeMapEntry* _tmp58_ = NULL;
	GeeMapEntry* _tmp59_ = NULL;
	gpointer _tmp60_ = NULL;
	GeeMapEntry* _tmp61_ = NULL;
	gpointer _tmp62_ = NULL;
	gchar* _tmp63_ = NULL;
	GeeMapEntry* _tmp64_ = NULL;
	GeeMapEntry* _tmp65_ = NULL;
	gpointer _tmp66_ = NULL;
	GeeMapEntry* _tmp67_ = NULL;
	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_ = NULL;
	GeeSortedMap* _tmp1_ = NULL;
	GeeSortedSet* keys = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* _tmp3_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	gpointer _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	gpointer _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
	GeeMapEntry* _tmp10_ = NULL;
	GeeMapEntry* _tmp11_ = NULL;
	gpointer _tmp12_ = NULL;
	GeeMapEntry* _tmp13_ = NULL;
	gpointer _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	GeeMapEntry* _tmp16_ = NULL;
	GeeMapEntry* _tmp17_ = NULL;
	gpointer _tmp18_ = NULL;
	GeeMapEntry* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	GeeMapEntry* _tmp22_ = NULL;
	GeeMapEntry* _tmp23_ = NULL;
	gpointer _tmp24_ = NULL;
	GeeMapEntry* _tmp25_ = NULL;
	gpointer _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	GeeMapEntry* _tmp28_ = NULL;
	GeeMapEntry* _tmp29_ = NULL;
	gpointer _tmp30_ = NULL;
	GeeMapEntry* _tmp31_ = NULL;
	gpointer _tmp32_ = NULL;
	gchar* _tmp33_ = NULL;
	GeeMapEntry* _tmp34_ = NULL;
	GeeMapEntry* _tmp35_ = NULL;
	gpointer _tmp36_ = NULL;
	GeeMapEntry* _tmp37_ = NULL;
	gpointer _tmp38_ = NULL;
	gchar* _tmp39_ = NULL;
	GeeMapEntry* _tmp40_ = NULL;
	GeeMapEntry* _tmp41_ = NULL;
	gpointer _tmp42_ = NULL;
	GeeMapEntry* _tmp43_ = NULL;
	gpointer _tmp44_ = NULL;
	gchar* _tmp45_ = NULL;
	GeeMapEntry* _tmp46_ = NULL;
	GeeMapEntry* _tmp47_ = NULL;
	gpointer _tmp48_ = NULL;
	GeeMapEntry* _tmp49_ = NULL;
	gpointer _tmp50_ = NULL;
	gchar* _tmp51_ = NULL;
	GeeMapEntry* _tmp52_ = NULL;
	GeeMapEntry* _tmp53_ = NULL;
	gpointer _tmp54_ = NULL;
	GeeMapEntry* _tmp55_ = NULL;
	gpointer _tmp56_ = NULL;
	gchar* _tmp57_ = NULL;
	GeeMapEntry* _tmp58_ = NULL;
	GeeMapEntry* _tmp59_ = NULL;
	gpointer _tmp60_ = NULL;
	GeeMapEntry* _tmp61_ = NULL;
	gpointer _tmp62_ = NULL;
	gchar* _tmp63_ = NULL;
	GeeMapEntry* _tmp64_ = NULL;
	GeeMapEntry* _tmp65_ = NULL;
	gpointer _tmp66_ = NULL;
	GeeMapEntry* _tmp67_ = NULL;
	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_ = NULL;
	GeeSortedMap* _tmp1_ = NULL;
	GeeSortedSet* keys = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* _tmp3_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	gpointer _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	gpointer _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
	GeeMapEntry* _tmp10_ = NULL;
	GeeMapEntry* _tmp11_ = NULL;
	gpointer _tmp12_ = NULL;
	GeeMapEntry* _tmp13_ = NULL;
	gpointer _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	GeeMapEntry* _tmp16_ = NULL;
	GeeMapEntry* _tmp17_ = NULL;
	gpointer _tmp18_ = NULL;
	GeeMapEntry* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	GeeMapEntry* _tmp22_ = NULL;
	GeeMapEntry* _tmp23_ = NULL;
	gpointer _tmp24_ = NULL;
	GeeMapEntry* _tmp25_ = NULL;
	gpointer _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	GeeMapEntry* _tmp28_ = NULL;
	GeeMapEntry* _tmp29_ = NULL;
	gpointer _tmp30_ = NULL;
	GeeMapEntry* _tmp31_ = NULL;
	gpointer _tmp32_ = NULL;
	gchar* _tmp33_ = NULL;
	GeeMapEntry* _tmp34_ = NULL;
	GeeMapEntry* _tmp35_ = NULL;
	gpointer _tmp36_ = NULL;
	GeeMapEntry* _tmp37_ = NULL;
	gpointer _tmp38_ = NULL;
	gchar* _tmp39_ = NULL;
	GeeMapEntry* _tmp40_ = NULL;
	GeeMapEntry* _tmp41_ = NULL;
	gpointer _tmp42_ = NULL;
	GeeMapEntry* _tmp43_ = NULL;
	gpointer _tmp44_ = NULL;
	gchar* _tmp45_ = NULL;
	GeeMapEntry* _tmp46_ = NULL;
	GeeMapEntry* _tmp47_ = NULL;
	gpointer _tmp48_ = NULL;
	GeeMapEntry* _tmp49_ = NULL;
	gpointer _tmp50_ = NULL;
	gchar* _tmp51_ = NULL;
	GeeMapEntry* _tmp52_ = NULL;
	GeeMapEntry* _tmp53_ = NULL;
	gpointer _tmp54_ = NULL;
	GeeMapEntry* _tmp55_ = NULL;
	gpointer _tmp56_ = NULL;
	gchar* _tmp57_ = NULL;
	GeeMapEntry* _tmp58_ = NULL;
	GeeMapEntry* _tmp59_ = NULL;
	gpointer _tmp60_ = NULL;
	GeeMapEntry* _tmp61_ = NULL;
	gpointer _tmp62_ = NULL;
	gchar* _tmp63_ = NULL;
	GeeMapEntry* _tmp64_ = NULL;
	GeeMapEntry* _tmp65_ = NULL;
	gpointer _tmp66_ = NULL;
	GeeMapEntry* _tmp67_ = NULL;
	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);
}


const gchar* gee_sorted_map_tests_sub_map_tests_type_to_string (GeeSortedMapTestsSubMapTestsType self) {
	const gchar* result = NULL;
	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 ();
		}
	}
}


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__volatile = 0;
	if (g_once_init_enter (&gee_sorted_map_tests_sub_map_tests_type_type_id__volatile)) {
		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);
		g_once_init_leave (&gee_sorted_map_tests_sub_map_tests_type_type_id__volatile, gee_sorted_map_tests_sub_map_tests_type_type_id);
	}
	return gee_sorted_map_tests_sub_map_tests_type_type_id__volatile;
}


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;
	GeeSortedMapTestsSubMapTestsType _tmp0_ = 0;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	GeeSortedMapTests* _tmp4_ = NULL;
	GeeSortedMapTests* _tmp5_ = NULL;
	GeeSortedMapTestsSubMapTestsType _tmp6_ = 0;
	g_return_val_if_fail (test != NULL, NULL);
	_tmp0_ = type;
	_tmp1_ = gee_sorted_map_tests_sub_map_tests_type_to_string (_tmp0_);
	_tmp2_ = g_strdup_printf ("%s Submap", _tmp1_);
	_tmp3_ = _tmp2_;
	self = (GeeSortedMapTestsSubMapTests*) gee_test_case_construct (object_type, _tmp3_);
	_g_free0 (_tmp3_);
	_tmp4_ = test;
	_tmp5_ = _g_object_ref0 (_tmp4_);
	_g_object_unref0 (self->priv->test);
	self->priv->test = _tmp5_;
	_tmp6_ = type;
	self->priv->type = _tmp6_;
	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_ = NULL;
	GeeSortedMapTests* _tmp1_ = NULL;
	GeeMap* _tmp2_ = NULL;
	GeeSortedMap* _tmp3_ = NULL;
	GeeSortedMapTestsSubMapTestsType _tmp4_ = 0;
	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_;
	_tmp4_ = self->priv->type;
	switch (_tmp4_) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedMap* _tmp5_ = NULL;
			GeeSortedMap* _tmp6_ = NULL;
			_tmp5_ = self->priv->master;
			_tmp6_ = gee_sorted_map_head_map (_tmp5_, "one");
			_g_object_unref0 (self->priv->submap);
			self->priv->submap = _tmp6_;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedMap* _tmp7_ = NULL;
			GeeSortedMap* _tmp8_ = NULL;
			_tmp7_ = self->priv->master;
			_tmp8_ = gee_sorted_map_tail_map (_tmp7_, "six");
			_g_object_unref0 (self->priv->submap);
			self->priv->submap = _tmp8_;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedMap* _tmp9_ = NULL;
			GeeSortedMap* _tmp10_ = NULL;
			_tmp9_ = self->priv->master;
			_tmp10_ = gee_sorted_map_sub_map (_tmp9_, "four", "three");
			_g_object_unref0 (self->priv->submap);
			self->priv->submap = _tmp10_;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedMap* _tmp11_ = NULL;
			GeeSortedMap* _tmp12_ = NULL;
			_tmp11_ = self->priv->master;
			_tmp12_ = gee_sorted_map_sub_map (_tmp11_, "three", "four");
			_g_object_unref0 (self->priv->submap);
			self->priv->submap = _tmp12_;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}


static void gee_sorted_map_tests_sub_map_tests_real_tear_down (GeeTestCase* base) {
	GeeSortedMapTestsSubMapTests * self;
	GeeSortedMapTests* _tmp0_ = NULL;
	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, int* contains_length1, gchar*** not_contains, int* not_contains_length1) {
	gchar** _vala_contains = NULL;
	int _vala_contains_length1 = 0;
	gchar** _vala_not_contains = NULL;
	int _vala_not_contains_length1 = 0;
	GeeSortedMap* _tmp0_ = NULL;
	GeeSortedMap* _tmp1_ = NULL;
	GeeSortedMap* _tmp2_ = NULL;
	GeeSortedMap* _tmp3_ = NULL;
	GeeSortedMap* _tmp4_ = NULL;
	GeeSortedMap* _tmp5_ = NULL;
	GeeSortedMapTestsSubMapTestsType _tmp6_ = 0;
	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");
	_tmp6_ = self->priv->type;
	switch (_tmp6_) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			gchar* _tmp7_ = NULL;
			gchar* _tmp8_ = NULL;
			gchar** _tmp9_ = NULL;
			gchar* _tmp10_ = NULL;
			gchar* _tmp11_ = NULL;
			gchar* _tmp12_ = NULL;
			gchar* _tmp13_ = NULL;
			gchar** _tmp14_ = NULL;
			_tmp7_ = g_strdup ("five");
			_tmp8_ = g_strdup ("four");
			_tmp9_ = g_new0 (gchar*, 2 + 1);
			_tmp9_[0] = _tmp7_;
			_tmp9_[1] = _tmp8_;
			_vala_contains = (_vala_array_free (_vala_contains, _vala_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_contains = _tmp9_;
			_vala_contains_length1 = 2;
			_tmp10_ = g_strdup ("one");
			_tmp11_ = g_strdup ("two");
			_tmp12_ = g_strdup ("three");
			_tmp13_ = g_strdup ("six");
			_tmp14_ = g_new0 (gchar*, 4 + 1);
			_tmp14_[0] = _tmp10_;
			_tmp14_[1] = _tmp11_;
			_tmp14_[2] = _tmp12_;
			_tmp14_[3] = _tmp13_;
			_vala_not_contains = (_vala_array_free (_vala_not_contains, _vala_not_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_not_contains = _tmp14_;
			_vala_not_contains_length1 = 4;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			gchar* _tmp15_ = NULL;
			gchar* _tmp16_ = NULL;
			gchar* _tmp17_ = NULL;
			gchar** _tmp18_ = NULL;
			gchar* _tmp19_ = NULL;
			gchar* _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			gchar** _tmp22_ = NULL;
			_tmp15_ = g_strdup ("six");
			_tmp16_ = g_strdup ("three");
			_tmp17_ = g_strdup ("two");
			_tmp18_ = g_new0 (gchar*, 3 + 1);
			_tmp18_[0] = _tmp15_;
			_tmp18_[1] = _tmp16_;
			_tmp18_[2] = _tmp17_;
			_vala_contains = (_vala_array_free (_vala_contains, _vala_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_contains = _tmp18_;
			_vala_contains_length1 = 3;
			_tmp19_ = g_strdup ("one");
			_tmp20_ = g_strdup ("four");
			_tmp21_ = g_strdup ("five");
			_tmp22_ = g_new0 (gchar*, 3 + 1);
			_tmp22_[0] = _tmp19_;
			_tmp22_[1] = _tmp20_;
			_tmp22_[2] = _tmp21_;
			_vala_not_contains = (_vala_array_free (_vala_not_contains, _vala_not_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_not_contains = _tmp22_;
			_vala_not_contains_length1 = 3;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			gchar* _tmp23_ = NULL;
			gchar* _tmp24_ = NULL;
			gchar* _tmp25_ = NULL;
			gchar** _tmp26_ = NULL;
			gchar* _tmp27_ = NULL;
			gchar* _tmp28_ = NULL;
			gchar* _tmp29_ = NULL;
			gchar** _tmp30_ = NULL;
			_tmp23_ = g_strdup ("four");
			_tmp24_ = g_strdup ("one");
			_tmp25_ = g_strdup ("six");
			_tmp26_ = g_new0 (gchar*, 3 + 1);
			_tmp26_[0] = _tmp23_;
			_tmp26_[1] = _tmp24_;
			_tmp26_[2] = _tmp25_;
			_vala_contains = (_vala_array_free (_vala_contains, _vala_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_contains = _tmp26_;
			_vala_contains_length1 = 3;
			_tmp27_ = g_strdup ("two");
			_tmp28_ = g_strdup ("three");
			_tmp29_ = g_strdup ("five");
			_tmp30_ = g_new0 (gchar*, 3 + 1);
			_tmp30_[0] = _tmp27_;
			_tmp30_[1] = _tmp28_;
			_tmp30_[2] = _tmp29_;
			_vala_not_contains = (_vala_array_free (_vala_not_contains, _vala_not_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_not_contains = _tmp30_;
			_vala_not_contains_length1 = 3;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			gchar** _tmp31_ = NULL;
			gchar* _tmp32_ = NULL;
			gchar* _tmp33_ = NULL;
			gchar* _tmp34_ = NULL;
			gchar* _tmp35_ = NULL;
			gchar* _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			gchar** _tmp38_ = NULL;
			_tmp31_ = g_new0 (gchar*, 0 + 1);
			_vala_contains = (_vala_array_free (_vala_contains, _vala_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_contains = _tmp31_;
			_vala_contains_length1 = 0;
			_tmp32_ = g_strdup ("one");
			_tmp33_ = g_strdup ("two");
			_tmp34_ = g_strdup ("three");
			_tmp35_ = g_strdup ("four");
			_tmp36_ = g_strdup ("five");
			_tmp37_ = g_strdup ("six");
			_tmp38_ = g_new0 (gchar*, 6 + 1);
			_tmp38_[0] = _tmp32_;
			_tmp38_[1] = _tmp33_;
			_tmp38_[2] = _tmp34_;
			_tmp38_[3] = _tmp35_;
			_tmp38_[4] = _tmp36_;
			_tmp38_[5] = _tmp37_;
			_vala_not_contains = (_vala_array_free (_vala_not_contains, _vala_not_contains_length1, (GDestroyNotify) g_free), NULL);
			_vala_not_contains = _tmp38_;
			_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_ = NULL;
	gint _tmp5_ = 0;
	gint _tmp6_ = 0;
	gchar** _tmp7_ = NULL;
	gint _tmp7__length1 = 0;
	GeeSortedMap* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp10_ = FALSE;
	gchar** _tmp11_ = NULL;
	gint _tmp11__length1 = 0;
	gchar** _tmp12_ = NULL;
	gint _tmp12__length1 = 0;
	gchar** _tmp21_ = NULL;
	gint _tmp21__length1 = 0;
	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 < _tmp12__length1; s_it = s_it + 1) {
			gchar* _tmp13_ = NULL;
			gchar* s = NULL;
			_tmp13_ = g_strdup (s_collection[s_it]);
			s = _tmp13_;
			{
				GeeSortedMap* _tmp14_ = NULL;
				const gchar* _tmp15_ = NULL;
				gboolean _tmp16_ = FALSE;
				GeeSortedMap* _tmp17_ = NULL;
				const gchar* _tmp18_ = NULL;
				const gchar* _tmp19_ = NULL;
				gboolean _tmp20_ = FALSE;
				_tmp14_ = self->priv->submap;
				_tmp15_ = s;
				_tmp16_ = gee_map_has_key ((GeeMap*) _tmp14_, _tmp15_);
				_vala_assert (_tmp16_, "submap.has_key (s)");
				_tmp17_ = self->priv->submap;
				_tmp18_ = s;
				_tmp19_ = s;
				_tmp20_ = gee_map_has ((GeeMap*) _tmp17_, _tmp18_, _tmp19_);
				_vala_assert (_tmp20_, "submap.has (s, 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 < _tmp21__length1; s_it = s_it + 1) {
			gchar* _tmp22_ = NULL;
			gchar* s = NULL;
			_tmp22_ = g_strdup (s_collection[s_it]);
			s = _tmp22_;
			{
				GeeSortedMap* _tmp23_ = NULL;
				const gchar* _tmp24_ = NULL;
				gboolean _tmp25_ = FALSE;
				GeeSortedMap* _tmp26_ = NULL;
				const gchar* _tmp27_ = NULL;
				const gchar* _tmp28_ = NULL;
				gboolean _tmp29_ = FALSE;
				_tmp23_ = self->priv->submap;
				_tmp24_ = s;
				_tmp25_ = gee_map_has_key ((GeeMap*) _tmp23_, _tmp24_);
				_vala_assert (!_tmp25_, "!submap.has_key (s)");
				_tmp26_ = self->priv->submap;
				_tmp27_ = s;
				_tmp28_ = s;
				_tmp29_ = gee_map_has ((GeeMap*) _tmp26_, _tmp27_, _tmp28_);
				_vala_assert (!_tmp29_, "!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_ = NULL;
	gint _tmp4__length1 = 0;
	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 < _tmp4__length1; s_it = s_it + 1) {
			gchar* _tmp5_ = NULL;
			gchar* s = NULL;
			_tmp5_ = g_strdup (s_collection[s_it]);
			s = _tmp5_;
			{
				GeeSortedMap* _tmp6_ = NULL;
				const gchar* _tmp7_ = NULL;
				gpointer _tmp8_ = NULL;
				gchar* _tmp9_ = NULL;
				const gchar* _tmp10_ = NULL;
				_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_ = NULL;
	GeeSet* _tmp1_ = NULL;
	GeeSet* _tmp2_ = NULL;
	GeeSet* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	GeeSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	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_ = NULL;
	gint _tmp14_ = 0;
	gint _tmp15_ = 0;
	gchar** _tmp16_ = NULL;
	gint _tmp16__length1 = 0;
	gchar** _tmp17_ = NULL;
	gint _tmp17__length1 = 0;
	gchar** _tmp22_ = NULL;
	gint _tmp22__length1 = 0;
	gboolean _tmp27_ = FALSE;
	gboolean _tmp29_ = FALSE;
	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 < _tmp17__length1; s_it = s_it + 1) {
			gchar* _tmp18_ = NULL;
			gchar* s = NULL;
			_tmp18_ = g_strdup (s_collection[s_it]);
			s = _tmp18_;
			{
				GeeSet* _tmp19_ = NULL;
				const gchar* _tmp20_ = NULL;
				gboolean _tmp21_ = FALSE;
				_tmp19_ = keys;
				_tmp20_ = s;
				_tmp21_ = gee_collection_contains ((GeeCollection*) _tmp19_, _tmp20_);
				_vala_assert (_tmp21_, "keys.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp22_ = not_contains;
	_tmp22__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp22_;
		s_collection_length1 = _tmp22__length1;
		for (s_it = 0; s_it < _tmp22__length1; s_it = s_it + 1) {
			gchar* _tmp23_ = NULL;
			gchar* s = NULL;
			_tmp23_ = g_strdup (s_collection[s_it]);
			s = _tmp23_;
			{
				GeeSet* _tmp24_ = NULL;
				const gchar* _tmp25_ = NULL;
				gboolean _tmp26_ = FALSE;
				_tmp24_ = keys;
				_tmp25_ = s;
				_tmp26_ = gee_collection_contains ((GeeCollection*) _tmp24_, _tmp25_);
				_vala_assert (!_tmp26_, "!keys.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp27_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
	if (_tmp27_) {
		GeeSet* _tmp28_ = NULL;
		_tmp28_ = keys;
		gee_collection_add ((GeeCollection*) _tmp28_, "three");
		exit (0);
	}
	g_test_trap_assert_failed ();
	_tmp29_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
	if (_tmp29_) {
		GeeSet* _tmp30_ = NULL;
		_tmp30_ = keys;
		gee_collection_remove ((GeeCollection*) _tmp30_, "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_ = NULL;
	GeeCollection* _tmp1_ = NULL;
	GeeCollection* _tmp2_ = NULL;
	GeeCollection* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	GeeCollection* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	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_ = NULL;
	gint _tmp14_ = 0;
	gint _tmp15_ = 0;
	gchar** _tmp16_ = NULL;
	gint _tmp16__length1 = 0;
	gchar** _tmp17_ = NULL;
	gint _tmp17__length1 = 0;
	gchar** _tmp22_ = NULL;
	gint _tmp22__length1 = 0;
	gboolean _tmp27_ = FALSE;
	gboolean _tmp29_ = FALSE;
	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 < _tmp17__length1; s_it = s_it + 1) {
			gchar* _tmp18_ = NULL;
			gchar* s = NULL;
			_tmp18_ = g_strdup (s_collection[s_it]);
			s = _tmp18_;
			{
				GeeCollection* _tmp19_ = NULL;
				const gchar* _tmp20_ = NULL;
				gboolean _tmp21_ = FALSE;
				_tmp19_ = values;
				_tmp20_ = s;
				_tmp21_ = gee_collection_contains (_tmp19_, _tmp20_);
				_vala_assert (_tmp21_, "values.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp22_ = not_contains;
	_tmp22__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp22_;
		s_collection_length1 = _tmp22__length1;
		for (s_it = 0; s_it < _tmp22__length1; s_it = s_it + 1) {
			gchar* _tmp23_ = NULL;
			gchar* s = NULL;
			_tmp23_ = g_strdup (s_collection[s_it]);
			s = _tmp23_;
			{
				GeeCollection* _tmp24_ = NULL;
				const gchar* _tmp25_ = NULL;
				gboolean _tmp26_ = FALSE;
				_tmp24_ = values;
				_tmp25_ = s;
				_tmp26_ = gee_collection_contains (_tmp24_, _tmp25_);
				_vala_assert (!_tmp26_, "!values.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp27_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
	if (_tmp27_) {
		GeeCollection* _tmp28_ = NULL;
		_tmp28_ = values;
		gee_collection_add (_tmp28_, "three");
		exit (0);
	}
	g_test_trap_assert_failed ();
	_tmp29_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
	if (_tmp29_) {
		GeeCollection* _tmp30_ = NULL;
		_tmp30_ = values;
		gee_collection_remove (_tmp30_, "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_ = NULL;
	GeeSet* _tmp1_ = NULL;
	GeeSet* _tmp2_ = NULL;
	GeeSet* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	GeeSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	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_ = NULL;
	gint _tmp14_ = 0;
	gint _tmp15_ = 0;
	gchar** _tmp16_ = NULL;
	gint _tmp16__length1 = 0;
	gchar** _tmp17_ = NULL;
	gint _tmp17__length1 = 0;
	gchar** _tmp25_ = NULL;
	gint _tmp25__length1 = 0;
	gboolean _tmp33_ = FALSE;
	gboolean _tmp37_ = FALSE;
	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 < _tmp17__length1; s_it = s_it + 1) {
			gchar* _tmp18_ = NULL;
			gchar* s = NULL;
			_tmp18_ = g_strdup (s_collection[s_it]);
			s = _tmp18_;
			{
				GeeSet* _tmp19_ = NULL;
				const gchar* _tmp20_ = NULL;
				const gchar* _tmp21_ = NULL;
				GeeMapEntry* _tmp22_ = NULL;
				GeeMapEntry* _tmp23_ = NULL;
				gboolean _tmp24_ = FALSE;
				_tmp19_ = entries;
				_tmp20_ = s;
				_tmp21_ = s;
				_tmp22_ = map_tests_entry_for (_tmp20_, _tmp21_);
				_tmp23_ = _tmp22_;
				_tmp24_ = gee_collection_contains ((GeeCollection*) _tmp19_, _tmp23_);
				_vala_assert (_tmp24_, "entries.contains (MapTests.entry_for (s, s))");
				_g_object_unref0 (_tmp23_);
				_g_free0 (s);
			}
		}
	}
	_tmp25_ = not_contains;
	_tmp25__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp25_;
		s_collection_length1 = _tmp25__length1;
		for (s_it = 0; s_it < _tmp25__length1; s_it = s_it + 1) {
			gchar* _tmp26_ = NULL;
			gchar* s = NULL;
			_tmp26_ = g_strdup (s_collection[s_it]);
			s = _tmp26_;
			{
				GeeSet* _tmp27_ = NULL;
				const gchar* _tmp28_ = NULL;
				const gchar* _tmp29_ = NULL;
				GeeMapEntry* _tmp30_ = NULL;
				GeeMapEntry* _tmp31_ = NULL;
				gboolean _tmp32_ = FALSE;
				_tmp27_ = entries;
				_tmp28_ = s;
				_tmp29_ = s;
				_tmp30_ = map_tests_entry_for (_tmp28_, _tmp29_);
				_tmp31_ = _tmp30_;
				_tmp32_ = gee_collection_contains ((GeeCollection*) _tmp27_, _tmp31_);
				_vala_assert (!_tmp32_, "!entries.contains (MapTests.entry_for (s, s))");
				_g_object_unref0 (_tmp31_);
				_g_free0 (s);
			}
		}
	}
	_tmp33_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
	if (_tmp33_) {
		GeeSet* _tmp34_ = NULL;
		GeeMapEntry* _tmp35_ = NULL;
		GeeMapEntry* _tmp36_ = NULL;
		_tmp34_ = entries;
		_tmp35_ = map_tests_entry_for ("three", "three");
		_tmp36_ = _tmp35_;
		gee_collection_add ((GeeCollection*) _tmp34_, _tmp36_);
		_g_object_unref0 (_tmp36_);
		exit (0);
	}
	g_test_trap_assert_failed ();
	_tmp37_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
	if (_tmp37_) {
		GeeSet* _tmp38_ = NULL;
		GeeMapEntry* _tmp39_ = NULL;
		GeeMapEntry* _tmp40_ = NULL;
		_tmp38_ = entries;
		_tmp39_ = map_tests_entry_for ("three", "three");
		_tmp40_ = _tmp39_;
		gee_collection_remove ((GeeCollection*) _tmp38_, _tmp40_);
		_g_object_unref0 (_tmp40_);
		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;
	GeeSortedMapTestsSubMapTestsType _tmp4_ = 0;
	gchar** _tmp29_ = NULL;
	gint _tmp29__length1 = 0;
	gchar** _tmp42_ = NULL;
	gint _tmp42__length1 = 0;
	GeeSortedMap* _tmp53_ = NULL;
	gint _tmp54_ = 0;
	gint _tmp55_ = 0;
	gchar** _tmp56_ = NULL;
	gint _tmp56__length1 = 0;
	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->type;
	switch (_tmp4_) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			gchar* _tmp5_ = NULL;
			gchar* _tmp6_ = NULL;
			gchar** _tmp7_ = NULL;
			gchar* _tmp8_ = NULL;
			gchar* _tmp9_ = NULL;
			gchar** _tmp10_ = NULL;
			_tmp5_ = g_strdup ("a");
			_tmp6_ = g_strdup ("o");
			_tmp7_ = g_new0 (gchar*, 2 + 1);
			_tmp7_[0] = _tmp5_;
			_tmp7_[1] = _tmp6_;
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp7_;
			success_length1 = 2;
			_success_size_ = success_length1;
			_tmp8_ = g_strdup ("oz");
			_tmp9_ = g_strdup ("z");
			_tmp10_ = g_new0 (gchar*, 2 + 1);
			_tmp10_[0] = _tmp8_;
			_tmp10_[1] = _tmp9_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp10_;
			fail_length1 = 2;
			_fail_size_ = fail_length1;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			gchar* _tmp11_ = NULL;
			gchar* _tmp12_ = NULL;
			gchar** _tmp13_ = NULL;
			gchar* _tmp14_ = NULL;
			gchar* _tmp15_ = NULL;
			gchar** _tmp16_ = NULL;
			_tmp11_ = g_strdup ("siz");
			_tmp12_ = g_strdup ("z");
			_tmp13_ = g_new0 (gchar*, 2 + 1);
			_tmp13_[0] = _tmp11_;
			_tmp13_[1] = _tmp12_;
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp13_;
			success_length1 = 2;
			_success_size_ = success_length1;
			_tmp14_ = g_strdup ("sia");
			_tmp15_ = g_strdup ("a");
			_tmp16_ = g_new0 (gchar*, 2 + 1);
			_tmp16_[0] = _tmp14_;
			_tmp16_[1] = _tmp15_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp16_;
			fail_length1 = 2;
			_fail_size_ = fail_length1;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			gchar* _tmp17_ = NULL;
			gchar* _tmp18_ = NULL;
			gchar** _tmp19_ = NULL;
			gchar* _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			gchar** _tmp22_ = NULL;
			_tmp17_ = g_strdup ("o");
			_tmp18_ = g_strdup ("th");
			_tmp19_ = g_new0 (gchar*, 2 + 1);
			_tmp19_[0] = _tmp17_;
			_tmp19_[1] = _tmp18_;
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp19_;
			success_length1 = 2;
			_success_size_ = success_length1;
			_tmp20_ = g_strdup ("f");
			_tmp21_ = g_strdup ("u");
			_tmp22_ = g_new0 (gchar*, 2 + 1);
			_tmp22_[0] = _tmp20_;
			_tmp22_[1] = _tmp21_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp22_;
			fail_length1 = 2;
			_fail_size_ = fail_length1;
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			gchar** _tmp23_ = NULL;
			gchar* _tmp24_ = NULL;
			gchar* _tmp25_ = NULL;
			gchar* _tmp26_ = NULL;
			gchar* _tmp27_ = NULL;
			gchar** _tmp28_ = NULL;
			_tmp23_ = g_new0 (gchar*, 0 + 1);
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp23_;
			success_length1 = 0;
			_success_size_ = success_length1;
			_tmp24_ = g_strdup ("o");
			_tmp25_ = g_strdup ("th");
			_tmp26_ = g_strdup ("f");
			_tmp27_ = g_strdup ("u");
			_tmp28_ = g_new0 (gchar*, 4 + 1);
			_tmp28_[0] = _tmp24_;
			_tmp28_[1] = _tmp25_;
			_tmp28_[2] = _tmp26_;
			_tmp28_[3] = _tmp27_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp28_;
			fail_length1 = 4;
			_fail_size_ = fail_length1;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_tmp29_ = success;
	_tmp29__length1 = success_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp29_;
		s_collection_length1 = _tmp29__length1;
		for (s_it = 0; s_it < _tmp29__length1; s_it = s_it + 1) {
			gchar* _tmp30_ = NULL;
			gchar* s = NULL;
			_tmp30_ = g_strdup (s_collection[s_it]);
			s = _tmp30_;
			{
				GeeSortedMap* _tmp31_ = NULL;
				const gchar* _tmp32_ = NULL;
				const gchar* _tmp33_ = NULL;
				GeeSortedMap* _tmp34_ = NULL;
				const gchar* _tmp35_ = NULL;
				const gchar* _tmp36_ = NULL;
				gboolean _tmp37_ = FALSE;
				GeeSortedMap* _tmp38_ = NULL;
				const gchar* _tmp39_ = NULL;
				const gchar* _tmp40_ = NULL;
				gboolean _tmp41_ = FALSE;
				_tmp31_ = self->priv->submap;
				_tmp32_ = s;
				_tmp33_ = s;
				gee_map_set ((GeeMap*) _tmp31_, _tmp32_, _tmp33_);
				_tmp34_ = self->priv->submap;
				_tmp35_ = s;
				_tmp36_ = s;
				_tmp37_ = gee_map_has ((GeeMap*) _tmp34_, _tmp35_, _tmp36_);
				_vala_assert (_tmp37_, "submap.has (s, s)");
				_tmp38_ = self->priv->master;
				_tmp39_ = s;
				_tmp40_ = s;
				_tmp41_ = gee_map_has ((GeeMap*) _tmp38_, _tmp39_, _tmp40_);
				_vala_assert (_tmp41_, "master.has (s, s)");
				_g_free0 (s);
			}
		}
	}
	_tmp42_ = fail;
	_tmp42__length1 = fail_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp42_;
		s_collection_length1 = _tmp42__length1;
		for (s_it = 0; s_it < _tmp42__length1; s_it = s_it + 1) {
			gchar* _tmp43_ = NULL;
			gchar* s = NULL;
			_tmp43_ = g_strdup (s_collection[s_it]);
			s = _tmp43_;
			{
				GeeSortedMap* _tmp44_ = NULL;
				const gchar* _tmp45_ = NULL;
				const gchar* _tmp46_ = NULL;
				GeeSortedMap* _tmp47_ = NULL;
				const gchar* _tmp48_ = NULL;
				gboolean _tmp49_ = FALSE;
				GeeSortedMap* _tmp50_ = NULL;
				const gchar* _tmp51_ = NULL;
				gboolean _tmp52_ = FALSE;
				_tmp44_ = self->priv->submap;
				_tmp45_ = s;
				_tmp46_ = s;
				gee_map_set ((GeeMap*) _tmp44_, _tmp45_, _tmp46_);
				_tmp47_ = self->priv->submap;
				_tmp48_ = s;
				_tmp49_ = gee_map_has_key ((GeeMap*) _tmp47_, _tmp48_);
				_vala_assert (!_tmp49_, "!submap.has_key (s)");
				_tmp50_ = self->priv->master;
				_tmp51_ = s;
				_tmp52_ = gee_map_has_key ((GeeMap*) _tmp50_, _tmp51_);
				_vala_assert (!_tmp52_, "!master.has_key (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp53_ = self->priv->master;
	_tmp54_ = gee_map_get_size ((GeeMap*) _tmp53_);
	_tmp55_ = _tmp54_;
	_tmp56_ = success;
	_tmp56__length1 = success_length1;
	_vala_assert (_tmp55_ == (6 + _tmp56__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_ = NULL;
	gint _tmp4__length1 = 0;
	gchar** _tmp15_ = NULL;
	gint _tmp15__length1 = 0;
	GeeSortedMap* _tmp24_ = NULL;
	gint _tmp25_ = 0;
	gint _tmp26_ = 0;
	gchar** _tmp27_ = NULL;
	gint _tmp27__length1 = 0;
	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 < _tmp4__length1; s_it = s_it + 1) {
			gchar* _tmp5_ = NULL;
			gchar* s = NULL;
			_tmp5_ = g_strdup (s_collection[s_it]);
			s = _tmp5_;
			{
				gchar* value = NULL;
				GeeSortedMap* _tmp6_ = NULL;
				const gchar* _tmp7_ = NULL;
				gpointer _tmp8_ = NULL;
				gboolean _tmp9_ = FALSE;
				const gchar* _tmp10_ = NULL;
				const gchar* _tmp11_ = NULL;
				GeeSortedMap* _tmp12_ = NULL;
				const gchar* _tmp13_ = NULL;
				gboolean _tmp14_ = FALSE;
				_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;
				_tmp14_ = gee_map_has_key ((GeeMap*) _tmp12_, _tmp13_);
				_vala_assert (!_tmp14_, "!master.has_key (s)");
				_g_free0 (value);
				_g_free0 (s);
			}
		}
	}
	_tmp15_ = not_contains;
	_tmp15__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp15_;
		s_collection_length1 = _tmp15__length1;
		for (s_it = 0; s_it < _tmp15__length1; s_it = s_it + 1) {
			gchar* _tmp16_ = NULL;
			gchar* s = NULL;
			_tmp16_ = g_strdup (s_collection[s_it]);
			s = _tmp16_;
			{
				GeeSortedMap* _tmp17_ = NULL;
				const gchar* _tmp18_ = NULL;
				gboolean _tmp19_ = FALSE;
				GeeSortedMap* _tmp20_ = NULL;
				const gchar* _tmp21_ = NULL;
				const gchar* _tmp22_ = NULL;
				gboolean _tmp23_ = FALSE;
				_tmp17_ = self->priv->submap;
				_tmp18_ = s;
				_tmp19_ = gee_map_unset ((GeeMap*) _tmp17_, _tmp18_, NULL);
				_vala_assert (!_tmp19_, "!submap.unset (s)");
				_tmp20_ = self->priv->master;
				_tmp21_ = s;
				_tmp22_ = s;
				_tmp23_ = gee_map_has ((GeeMap*) _tmp20_, _tmp21_, _tmp22_);
				_vala_assert (_tmp23_, "master.has (s, s)");
				_g_free0 (s);
			}
		}
	}
	_tmp24_ = self->priv->master;
	_tmp25_ = gee_map_get_size ((GeeMap*) _tmp24_);
	_tmp26_ = _tmp25_;
	_tmp27_ = contains;
	_tmp27__length1 = contains_length1;
	_vala_assert (_tmp26_ == (6 - _tmp27__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_ = NULL;
	gchar** _tmp5_ = NULL;
	gint _tmp5__length1 = 0;
	gchar** _tmp10_ = NULL;
	gint _tmp10__length1 = 0;
	GeeSortedMap* _tmp19_ = NULL;
	gint _tmp20_ = 0;
	gint _tmp21_ = 0;
	gchar** _tmp22_ = NULL;
	gint _tmp22__length1 = 0;
	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 < _tmp5__length1; s_it = s_it + 1) {
			gchar* _tmp6_ = NULL;
			gchar* s = NULL;
			_tmp6_ = g_strdup (s_collection[s_it]);
			s = _tmp6_;
			{
				GeeSortedMap* _tmp7_ = NULL;
				const gchar* _tmp8_ = NULL;
				gboolean _tmp9_ = FALSE;
				_tmp7_ = self->priv->master;
				_tmp8_ = s;
				_tmp9_ = gee_map_has_key ((GeeMap*) _tmp7_, _tmp8_);
				_vala_assert (!_tmp9_, "!master.has_key (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp10_ = not_contains;
	_tmp10__length1 = not_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 < _tmp10__length1; s_it = s_it + 1) {
			gchar* _tmp11_ = NULL;
			gchar* s = NULL;
			_tmp11_ = g_strdup (s_collection[s_it]);
			s = _tmp11_;
			{
				GeeSortedMap* _tmp12_ = NULL;
				const gchar* _tmp13_ = NULL;
				gboolean _tmp14_ = FALSE;
				GeeSortedMap* _tmp15_ = NULL;
				const gchar* _tmp16_ = NULL;
				const gchar* _tmp17_ = NULL;
				gboolean _tmp18_ = FALSE;
				_tmp12_ = self->priv->submap;
				_tmp13_ = s;
				_tmp14_ = gee_map_unset ((GeeMap*) _tmp12_, _tmp13_, NULL);
				_vala_assert (!_tmp14_, "!submap.unset (s)");
				_tmp15_ = self->priv->master;
				_tmp16_ = s;
				_tmp17_ = s;
				_tmp18_ = gee_map_has ((GeeMap*) _tmp15_, _tmp16_, _tmp17_);
				_vala_assert (_tmp18_, "master.has (s, s)");
				_g_free0 (s);
			}
		}
	}
	_tmp19_ = self->priv->master;
	_tmp20_ = gee_map_get_size ((GeeMap*) _tmp19_);
	_tmp21_ = _tmp20_;
	_tmp22_ = contains;
	_tmp22__length1 = contains_length1;
	_vala_assert (_tmp21_ == (6 - _tmp22__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_ = NULL;
	GeeMapIterator* _tmp1_ = NULL;
	GeeMapIterator* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeMapIterator* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	gint i = 0;
	GeeSortedMap* _tmp10_ = NULL;
	GeeMapIterator* _tmp11_ = NULL;
	gint _tmp27_ = 0;
	gchar** _tmp28_ = NULL;
	gint _tmp28__length1 = 0;
	gint _tmp43_ = 0;
	gchar** _tmp44_ = NULL;
	gint _tmp44__length1 = 0;
	gint _tmp63_ = 0;
	gchar** _tmp64_ = NULL;
	gint _tmp64__length1 = 0;
	GeeSortedMapTestsSubMapTestsType _tmp65_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->submap;
	_tmp1_ = gee_map_map_iterator ((GeeMap*) _tmp0_);
	_map_iter = _tmp1_;
	_tmp2_ = _map_iter;
	_tmp3_ = gee_map_iterator_has_next (_tmp2_);
	_vala_assert (!_tmp3_, "!_map_iter.has_next ()");
	_tmp4_ = _map_iter;
	_tmp5_ = gee_map_iterator_next (_tmp4_);
	_vala_assert (!_tmp5_, "!_map_iter.next ()");
	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;
	i = 0;
	_tmp10_ = self->priv->submap;
	_tmp11_ = gee_map_map_iterator ((GeeMap*) _tmp10_);
	_g_object_unref0 (_map_iter);
	_map_iter = _tmp11_;
	while (TRUE) {
		GeeMapIterator* _tmp12_ = NULL;
		gboolean _tmp13_ = FALSE;
		GeeMapIterator* _tmp14_ = NULL;
		gpointer _tmp15_ = NULL;
		gchar* _tmp16_ = NULL;
		gchar** _tmp17_ = NULL;
		gint _tmp17__length1 = 0;
		gint _tmp18_ = 0;
		const gchar* _tmp19_ = NULL;
		GeeMapIterator* _tmp20_ = NULL;
		gpointer _tmp21_ = NULL;
		gchar* _tmp22_ = NULL;
		gchar** _tmp23_ = NULL;
		gint _tmp23__length1 = 0;
		gint _tmp24_ = 0;
		const gchar* _tmp25_ = NULL;
		gint _tmp26_ = 0;
		_tmp12_ = _map_iter;
		_tmp13_ = gee_map_iterator_next (_tmp12_);
		if (!_tmp13_) {
			break;
		}
		_tmp14_ = _map_iter;
		_tmp15_ = gee_map_iterator_get_key (_tmp14_);
		_tmp16_ = (gchar*) _tmp15_;
		_tmp17_ = contains;
		_tmp17__length1 = contains_length1;
		_tmp18_ = i;
		_tmp19_ = _tmp17_[_tmp18_];
		_vala_assert (g_strcmp0 (_tmp16_, _tmp19_) == 0, "_map_iter.get_key () == contains[i]");
		_g_free0 (_tmp16_);
		_tmp20_ = _map_iter;
		_tmp21_ = gee_map_iterator_get_value (_tmp20_);
		_tmp22_ = (gchar*) _tmp21_;
		_tmp23_ = contains;
		_tmp23__length1 = contains_length1;
		_tmp24_ = i;
		_tmp25_ = _tmp23_[_tmp24_];
		_vala_assert (g_strcmp0 (_tmp22_, _tmp25_) == 0, "_map_iter.get_value () == contains[i]");
		_g_free0 (_tmp22_);
		_tmp26_ = i;
		i = _tmp26_ + 1;
	}
	_tmp27_ = i;
	_tmp28_ = contains;
	_tmp28__length1 = contains_length1;
	_vala_assert (_tmp27_ == _tmp28__length1, "i == contains.length");
	i = 0;
	{
		GeeIterator* _k_it = NULL;
		GeeSortedMap* _tmp29_ = NULL;
		GeeSet* _tmp30_ = NULL;
		GeeSet* _tmp31_ = NULL;
		GeeSet* _tmp32_ = NULL;
		GeeIterator* _tmp33_ = NULL;
		GeeIterator* _tmp34_ = NULL;
		_tmp29_ = self->priv->submap;
		_tmp30_ = gee_map_get_keys ((GeeMap*) _tmp29_);
		_tmp31_ = _tmp30_;
		_tmp32_ = _tmp31_;
		_tmp33_ = gee_iterable_iterator ((GeeIterable*) _tmp32_);
		_tmp34_ = _tmp33_;
		_g_object_unref0 (_tmp32_);
		_k_it = _tmp34_;
		while (TRUE) {
			GeeIterator* _tmp35_ = NULL;
			gboolean _tmp36_ = FALSE;
			gchar* k = NULL;
			GeeIterator* _tmp37_ = NULL;
			gpointer _tmp38_ = NULL;
			const gchar* _tmp39_ = NULL;
			gchar** _tmp40_ = NULL;
			gint _tmp40__length1 = 0;
			gint _tmp41_ = 0;
			const gchar* _tmp42_ = NULL;
			_tmp35_ = _k_it;
			_tmp36_ = gee_iterator_next (_tmp35_);
			if (!_tmp36_) {
				break;
			}
			_tmp37_ = _k_it;
			_tmp38_ = gee_iterator_get (_tmp37_);
			k = (gchar*) _tmp38_;
			_tmp39_ = k;
			_tmp40_ = contains;
			_tmp40__length1 = contains_length1;
			_tmp41_ = i;
			i = _tmp41_ + 1;
			_tmp42_ = _tmp40_[_tmp41_];
			_vala_assert (g_strcmp0 (_tmp39_, _tmp42_) == 0, "k == contains[i++]");
			_g_free0 (k);
		}
		_g_object_unref0 (_k_it);
	}
	_tmp43_ = i;
	_tmp44_ = contains;
	_tmp44__length1 = contains_length1;
	_vala_assert (_tmp43_ == _tmp44__length1, "i == contains.length");
	i = 0;
	{
		GeeIterator* _e_it = NULL;
		GeeSortedMap* _tmp45_ = NULL;
		GeeSet* _tmp46_ = NULL;
		GeeSet* _tmp47_ = NULL;
		GeeSet* _tmp48_ = NULL;
		GeeIterator* _tmp49_ = NULL;
		GeeIterator* _tmp50_ = NULL;
		_tmp45_ = self->priv->submap;
		_tmp46_ = gee_map_get_entries ((GeeMap*) _tmp45_);
		_tmp47_ = _tmp46_;
		_tmp48_ = _tmp47_;
		_tmp49_ = gee_iterable_iterator ((GeeIterable*) _tmp48_);
		_tmp50_ = _tmp49_;
		_g_object_unref0 (_tmp48_);
		_e_it = _tmp50_;
		while (TRUE) {
			GeeIterator* _tmp51_ = NULL;
			gboolean _tmp52_ = FALSE;
			GeeMapEntry* e = NULL;
			GeeIterator* _tmp53_ = NULL;
			gpointer _tmp54_ = NULL;
			GeeMapEntry* _tmp55_ = NULL;
			gchar** _tmp56_ = NULL;
			gint _tmp56__length1 = 0;
			gint _tmp57_ = 0;
			const gchar* _tmp58_ = NULL;
			gchar** _tmp59_ = NULL;
			gint _tmp59__length1 = 0;
			gint _tmp60_ = 0;
			const gchar* _tmp61_ = NULL;
			gint _tmp62_ = 0;
			_tmp51_ = _e_it;
			_tmp52_ = gee_iterator_next (_tmp51_);
			if (!_tmp52_) {
				break;
			}
			_tmp53_ = _e_it;
			_tmp54_ = gee_iterator_get (_tmp53_);
			e = (GeeMapEntry*) _tmp54_;
			_tmp55_ = e;
			_tmp56_ = contains;
			_tmp56__length1 = contains_length1;
			_tmp57_ = i;
			_tmp58_ = _tmp56_[_tmp57_];
			_tmp59_ = contains;
			_tmp59__length1 = contains_length1;
			_tmp60_ = i;
			_tmp61_ = _tmp59_[_tmp60_];
			map_tests_assert_entry (_tmp55_, _tmp58_, _tmp61_);
			_tmp62_ = i;
			i = _tmp62_ + 1;
			_g_object_unref0 (e);
		}
		_g_object_unref0 (_e_it);
	}
	_tmp63_ = i;
	_tmp64_ = contains;
	_tmp64__length1 = contains_length1;
	_vala_assert (_tmp63_ == _tmp64__length1, "i == contains.length");
	_tmp65_ = self->priv->type;
	if (_tmp65_ != GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY) {
		GeeMapIterator* map_iter = NULL;
		GeeSortedMap* _tmp66_ = NULL;
		GeeMapIterator* _tmp67_ = NULL;
		GeeMapIterator* _tmp68_ = NULL;
		gboolean _tmp69_ = FALSE;
		GeeMapIterator* _tmp70_ = NULL;
		gpointer _tmp71_ = NULL;
		gchar* _tmp72_ = NULL;
		gchar** _tmp73_ = NULL;
		gint _tmp73__length1 = 0;
		const gchar* _tmp74_ = NULL;
		GeeMapIterator* _tmp75_ = NULL;
		gpointer _tmp76_ = NULL;
		gchar* _tmp77_ = NULL;
		gchar** _tmp78_ = NULL;
		gint _tmp78__length1 = 0;
		const gchar* _tmp79_ = NULL;
		GeeMapIterator* _tmp80_ = NULL;
		gboolean _tmp81_ = FALSE;
		GeeMapIterator* _tmp82_ = NULL;
		gboolean _tmp83_ = FALSE;
		GeeMapIterator* _tmp84_ = NULL;
		gpointer _tmp85_ = NULL;
		gchar* _tmp86_ = NULL;
		gchar** _tmp87_ = NULL;
		gint _tmp87__length1 = 0;
		const gchar* _tmp88_ = NULL;
		GeeMapIterator* _tmp89_ = NULL;
		gpointer _tmp90_ = NULL;
		gchar* _tmp91_ = NULL;
		gchar** _tmp92_ = NULL;
		gint _tmp92__length1 = 0;
		const gchar* _tmp93_ = NULL;
		GeeSortedMap* _tmp94_ = NULL;
		gchar** _tmp95_ = NULL;
		gint _tmp96_ = 0;
		gchar** _tmp97_ = NULL;
		gint _tmp98_ = 0;
		GeeIterator* keys_iter = NULL;
		GeeSortedMap* _tmp99_ = NULL;
		GeeSortedSet* _tmp100_ = NULL;
		GeeSortedSet* _tmp101_ = NULL;
		GeeSortedSet* _tmp102_ = NULL;
		GeeIterator* _tmp103_ = NULL;
		GeeIterator* _tmp104_ = NULL;
		GeeIterator* _tmp105_ = NULL;
		gboolean _tmp106_ = FALSE;
		GeeIterator* _tmp107_ = NULL;
		gboolean _tmp108_ = FALSE;
		GeeIterator* _tmp109_ = NULL;
		gpointer _tmp110_ = NULL;
		gchar* _tmp111_ = NULL;
		gchar** _tmp112_ = NULL;
		gint _tmp112__length1 = 0;
		const gchar* _tmp113_ = NULL;
		GeeIterator* _tmp114_ = NULL;
		gboolean _tmp115_ = FALSE;
		GeeIterator* _tmp116_ = NULL;
		gboolean _tmp117_ = FALSE;
		GeeIterator* _tmp118_ = NULL;
		gpointer _tmp119_ = NULL;
		gchar* _tmp120_ = NULL;
		gchar** _tmp121_ = NULL;
		gint _tmp121__length1 = 0;
		const gchar* _tmp122_ = NULL;
		GeeSortedMap* _tmp123_ = NULL;
		gchar** _tmp124_ = NULL;
		gint _tmp125_ = 0;
		gchar** _tmp126_ = NULL;
		gint _tmp127_ = 0;
		GeeIterator* entries_iter = NULL;
		GeeSortedMap* _tmp128_ = NULL;
		GeeSortedSet* _tmp129_ = NULL;
		GeeSortedSet* _tmp130_ = NULL;
		GeeSortedSet* _tmp131_ = NULL;
		GeeIterator* _tmp132_ = NULL;
		GeeIterator* _tmp133_ = NULL;
		GeeIterator* _tmp134_ = NULL;
		gboolean _tmp135_ = FALSE;
		GeeIterator* _tmp136_ = NULL;
		gboolean _tmp137_ = FALSE;
		GeeIterator* _tmp138_ = NULL;
		gpointer _tmp139_ = NULL;
		GeeMapEntry* _tmp140_ = NULL;
		gchar** _tmp141_ = NULL;
		gint _tmp141__length1 = 0;
		const gchar* _tmp142_ = NULL;
		gchar** _tmp143_ = NULL;
		gint _tmp143__length1 = 0;
		const gchar* _tmp144_ = NULL;
		GeeIterator* _tmp145_ = NULL;
		gboolean _tmp146_ = FALSE;
		GeeIterator* _tmp147_ = NULL;
		gboolean _tmp148_ = FALSE;
		GeeIterator* _tmp149_ = NULL;
		gpointer _tmp150_ = NULL;
		GeeMapEntry* _tmp151_ = NULL;
		gchar** _tmp152_ = NULL;
		gint _tmp152__length1 = 0;
		const gchar* _tmp153_ = NULL;
		gchar** _tmp154_ = NULL;
		gint _tmp154__length1 = 0;
		const gchar* _tmp155_ = NULL;
		_tmp66_ = self->priv->submap;
		_tmp67_ = gee_map_map_iterator ((GeeMap*) _tmp66_);
		map_iter = _tmp67_;
		_tmp68_ = map_iter;
		_tmp69_ = gee_map_iterator_next (_tmp68_);
		_vala_assert (_tmp69_, "map_iter.next ()");
		_tmp70_ = map_iter;
		_tmp71_ = gee_map_iterator_get_key (_tmp70_);
		_tmp72_ = (gchar*) _tmp71_;
		_tmp73_ = contains;
		_tmp73__length1 = contains_length1;
		_tmp74_ = _tmp73_[0];
		_vala_assert (g_strcmp0 (_tmp72_, _tmp74_) == 0, "map_iter.get_key () == contains[0]");
		_g_free0 (_tmp72_);
		_tmp75_ = map_iter;
		_tmp76_ = gee_map_iterator_get_value (_tmp75_);
		_tmp77_ = (gchar*) _tmp76_;
		_tmp78_ = contains;
		_tmp78__length1 = contains_length1;
		_tmp79_ = _tmp78_[0];
		_vala_assert (g_strcmp0 (_tmp77_, _tmp79_) == 0, "map_iter.get_value () == contains[0]");
		_g_free0 (_tmp77_);
		_tmp80_ = map_iter;
		_tmp81_ = gee_map_iterator_has_next (_tmp80_);
		_vala_assert (_tmp81_, "map_iter.has_next ()");
		_tmp82_ = map_iter;
		_tmp83_ = gee_map_iterator_next (_tmp82_);
		_vala_assert (_tmp83_, "map_iter.next ()");
		_tmp84_ = map_iter;
		_tmp85_ = gee_map_iterator_get_key (_tmp84_);
		_tmp86_ = (gchar*) _tmp85_;
		_tmp87_ = contains;
		_tmp87__length1 = contains_length1;
		_tmp88_ = _tmp87_[1];
		_vala_assert (g_strcmp0 (_tmp86_, _tmp88_) == 0, "map_iter.get_key () == contains[1]");
		_g_free0 (_tmp86_);
		_tmp89_ = map_iter;
		_tmp90_ = gee_map_iterator_get_value (_tmp89_);
		_tmp91_ = (gchar*) _tmp90_;
		_tmp92_ = contains;
		_tmp92__length1 = contains_length1;
		_tmp93_ = _tmp92_[1];
		_vala_assert (g_strcmp0 (_tmp91_, _tmp93_) == 0, "map_iter.get_value () == contains[1]");
		_g_free0 (_tmp91_);
		_tmp94_ = self->priv->master;
		gee_map_clear ((GeeMap*) _tmp94_);
		gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp95_, &_tmp96_, &_tmp97_, &_tmp98_);
		contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
		contains = _tmp95_;
		contains_length1 = _tmp96_;
		_contains_size_ = contains_length1;
		not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
		not_contains = _tmp97_;
		not_contains_length1 = _tmp98_;
		_not_contains_size_ = not_contains_length1;
		_tmp99_ = self->priv->submap;
		_tmp100_ = gee_sorted_map_get_ascending_keys (_tmp99_);
		_tmp101_ = _tmp100_;
		_tmp102_ = _tmp101_;
		_tmp103_ = gee_iterable_iterator ((GeeIterable*) _tmp102_);
		_tmp104_ = _tmp103_;
		_g_object_unref0 (_tmp102_);
		keys_iter = _tmp104_;
		_tmp105_ = keys_iter;
		_tmp106_ = gee_iterator_has_next (_tmp105_);
		_vala_assert (_tmp106_, "keys_iter.has_next ()");
		_tmp107_ = keys_iter;
		_tmp108_ = gee_iterator_next (_tmp107_);
		_vala_assert (_tmp108_, "keys_iter.next ()");
		_tmp109_ = keys_iter;
		_tmp110_ = gee_iterator_get (_tmp109_);
		_tmp111_ = (gchar*) _tmp110_;
		_tmp112_ = contains;
		_tmp112__length1 = contains_length1;
		_tmp113_ = _tmp112_[0];
		_vala_assert (g_strcmp0 (_tmp111_, _tmp113_) == 0, "keys_iter.get () == contains[0]");
		_g_free0 (_tmp111_);
		_tmp114_ = keys_iter;
		_tmp115_ = gee_iterator_has_next (_tmp114_);
		_vala_assert (_tmp115_, "keys_iter.has_next ()");
		_tmp116_ = keys_iter;
		_tmp117_ = gee_iterator_next (_tmp116_);
		_vala_assert (_tmp117_, "keys_iter.next ()");
		_tmp118_ = keys_iter;
		_tmp119_ = gee_iterator_get (_tmp118_);
		_tmp120_ = (gchar*) _tmp119_;
		_tmp121_ = contains;
		_tmp121__length1 = contains_length1;
		_tmp122_ = _tmp121_[1];
		_vala_assert (g_strcmp0 (_tmp120_, _tmp122_) == 0, "keys_iter.get () == contains[1]");
		_g_free0 (_tmp120_);
		_tmp123_ = self->priv->master;
		gee_map_clear ((GeeMap*) _tmp123_);
		gee_sorted_map_tests_sub_map_tests_set_default_values (self, &_tmp124_, &_tmp125_, &_tmp126_, &_tmp127_);
		contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
		contains = _tmp124_;
		contains_length1 = _tmp125_;
		_contains_size_ = contains_length1;
		not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
		not_contains = _tmp126_;
		not_contains_length1 = _tmp127_;
		_not_contains_size_ = not_contains_length1;
		_tmp128_ = self->priv->submap;
		_tmp129_ = gee_sorted_map_get_ascending_entries (_tmp128_);
		_tmp130_ = _tmp129_;
		_tmp131_ = _tmp130_;
		_tmp132_ = gee_iterable_iterator ((GeeIterable*) _tmp131_);
		_tmp133_ = _tmp132_;
		_g_object_unref0 (_tmp131_);
		entries_iter = _tmp133_;
		_tmp134_ = entries_iter;
		_tmp135_ = gee_iterator_has_next (_tmp134_);
		_vala_assert (_tmp135_, "entries_iter.has_next ()");
		_tmp136_ = entries_iter;
		_tmp137_ = gee_iterator_next (_tmp136_);
		_vala_assert (_tmp137_, "entries_iter.next ()");
		_tmp138_ = entries_iter;
		_tmp139_ = gee_iterator_get (_tmp138_);
		_tmp140_ = (GeeMapEntry*) _tmp139_;
		_tmp141_ = contains;
		_tmp141__length1 = contains_length1;
		_tmp142_ = _tmp141_[0];
		_tmp143_ = contains;
		_tmp143__length1 = contains_length1;
		_tmp144_ = _tmp143_[0];
		map_tests_assert_entry (_tmp140_, _tmp142_, _tmp144_);
		_g_object_unref0 (_tmp140_);
		_tmp145_ = entries_iter;
		_tmp146_ = gee_iterator_has_next (_tmp145_);
		_vala_assert (_tmp146_, "entries_iter.has_next ()");
		_tmp147_ = entries_iter;
		_tmp148_ = gee_iterator_next (_tmp147_);
		_vala_assert (_tmp148_, "entries_iter.next ()");
		_tmp149_ = entries_iter;
		_tmp150_ = gee_iterator_get (_tmp149_);
		_tmp151_ = (GeeMapEntry*) _tmp150_;
		_tmp152_ = contains;
		_tmp152__length1 = contains_length1;
		_tmp153_ = _tmp152_[1];
		_tmp154_ = contains;
		_tmp154__length1 = contains_length1;
		_tmp155_ = _tmp154_[1];
		map_tests_assert_entry (_tmp151_, _tmp153_, _tmp155_);
		_g_object_unref0 (_tmp151_);
		_g_object_unref0 (entries_iter);
		_g_object_unref0 (keys_iter);
		_g_object_unref0 (map_iter);
	} else {
		GeeIterator* keys_iter = NULL;
		GeeSortedMap* _tmp156_ = NULL;
		GeeSortedSet* _tmp157_ = NULL;
		GeeSortedSet* _tmp158_ = NULL;
		GeeSortedSet* _tmp159_ = NULL;
		GeeIterator* _tmp160_ = NULL;
		GeeIterator* _tmp161_ = NULL;
		gboolean _tmp162_ = FALSE;
		_tmp156_ = self->priv->submap;
		_tmp157_ = gee_sorted_map_get_ascending_keys (_tmp156_);
		_tmp158_ = _tmp157_;
		_tmp159_ = _tmp158_;
		_tmp160_ = gee_iterable_iterator ((GeeIterable*) _tmp159_);
		_tmp161_ = _tmp160_;
		_g_object_unref0 (_tmp159_);
		keys_iter = _tmp161_;
		_tmp162_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
		if (_tmp162_) {
			GeeIterator* _tmp163_ = NULL;
			_tmp163_ = keys_iter;
			gee_iterator_remove (_tmp163_);
			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_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_ = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	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;
	GeeSortedMapTestsSubMapTestsType _tmp10_ = 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;
	_tmp10_ = self->priv->type;
	switch (_tmp10_) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp11_ = NULL;
			gpointer _tmp12_ = NULL;
			gchar* _tmp13_ = NULL;
			GeeSortedSet* _tmp14_ = NULL;
			gpointer _tmp15_ = NULL;
			gchar* _tmp16_ = NULL;
			GeeSortedSet* _tmp17_ = NULL;
			gpointer _tmp18_ = NULL;
			GeeMapEntry* _tmp19_ = NULL;
			GeeSortedSet* _tmp20_ = NULL;
			gpointer _tmp21_ = NULL;
			GeeMapEntry* _tmp22_ = NULL;
			_tmp11_ = keys;
			_tmp12_ = gee_sorted_set_first (_tmp11_);
			_tmp13_ = (gchar*) _tmp12_;
			_vala_assert (g_strcmp0 (_tmp13_, "five") == 0, "keys.first () == \"five\"");
			_g_free0 (_tmp13_);
			_tmp14_ = keys;
			_tmp15_ = gee_sorted_set_last (_tmp14_);
			_tmp16_ = (gchar*) _tmp15_;
			_vala_assert (g_strcmp0 (_tmp16_, "four") == 0, "keys.last () == \"four\"");
			_g_free0 (_tmp16_);
			_tmp17_ = entries;
			_tmp18_ = gee_sorted_set_first (_tmp17_);
			_tmp19_ = (GeeMapEntry*) _tmp18_;
			map_tests_assert_entry (_tmp19_, "five", "five");
			_g_object_unref0 (_tmp19_);
			_tmp20_ = entries;
			_tmp21_ = gee_sorted_set_last (_tmp20_);
			_tmp22_ = (GeeMapEntry*) _tmp21_;
			map_tests_assert_entry (_tmp22_, "four", "four");
			_g_object_unref0 (_tmp22_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp23_ = NULL;
			gpointer _tmp24_ = NULL;
			gchar* _tmp25_ = NULL;
			GeeSortedSet* _tmp26_ = NULL;
			gpointer _tmp27_ = NULL;
			gchar* _tmp28_ = NULL;
			GeeSortedSet* _tmp29_ = NULL;
			gpointer _tmp30_ = NULL;
			GeeMapEntry* _tmp31_ = NULL;
			GeeSortedSet* _tmp32_ = NULL;
			gpointer _tmp33_ = NULL;
			GeeMapEntry* _tmp34_ = NULL;
			_tmp23_ = keys;
			_tmp24_ = gee_sorted_set_first (_tmp23_);
			_tmp25_ = (gchar*) _tmp24_;
			_vala_assert (g_strcmp0 (_tmp25_, "six") == 0, "keys.first () == \"six\"");
			_g_free0 (_tmp25_);
			_tmp26_ = keys;
			_tmp27_ = gee_sorted_set_last (_tmp26_);
			_tmp28_ = (gchar*) _tmp27_;
			_vala_assert (g_strcmp0 (_tmp28_, "two") == 0, "keys.last () == \"two\"");
			_g_free0 (_tmp28_);
			_tmp29_ = entries;
			_tmp30_ = gee_sorted_set_first (_tmp29_);
			_tmp31_ = (GeeMapEntry*) _tmp30_;
			map_tests_assert_entry (_tmp31_, "six", "six");
			_g_object_unref0 (_tmp31_);
			_tmp32_ = entries;
			_tmp33_ = gee_sorted_set_last (_tmp32_);
			_tmp34_ = (GeeMapEntry*) _tmp33_;
			map_tests_assert_entry (_tmp34_, "two", "two");
			_g_object_unref0 (_tmp34_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp35_ = NULL;
			gpointer _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			GeeSortedSet* _tmp38_ = NULL;
			gpointer _tmp39_ = NULL;
			gchar* _tmp40_ = NULL;
			GeeSortedSet* _tmp41_ = NULL;
			gpointer _tmp42_ = NULL;
			GeeMapEntry* _tmp43_ = NULL;
			GeeSortedSet* _tmp44_ = NULL;
			gpointer _tmp45_ = NULL;
			GeeMapEntry* _tmp46_ = NULL;
			_tmp35_ = keys;
			_tmp36_ = gee_sorted_set_first (_tmp35_);
			_tmp37_ = (gchar*) _tmp36_;
			_vala_assert (g_strcmp0 (_tmp37_, "four") == 0, "keys.first () == \"four\"");
			_g_free0 (_tmp37_);
			_tmp38_ = keys;
			_tmp39_ = gee_sorted_set_last (_tmp38_);
			_tmp40_ = (gchar*) _tmp39_;
			_vala_assert (g_strcmp0 (_tmp40_, "six") == 0, "keys.last () == \"six\"");
			_g_free0 (_tmp40_);
			_tmp41_ = entries;
			_tmp42_ = gee_sorted_set_first (_tmp41_);
			_tmp43_ = (GeeMapEntry*) _tmp42_;
			map_tests_assert_entry (_tmp43_, "four", "four");
			_g_object_unref0 (_tmp43_);
			_tmp44_ = entries;
			_tmp45_ = gee_sorted_set_last (_tmp44_);
			_tmp46_ = (GeeMapEntry*) _tmp45_;
			map_tests_assert_entry (_tmp46_, "six", "six");
			_g_object_unref0 (_tmp46_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			gboolean _tmp47_ = FALSE;
			gboolean _tmp51_ = FALSE;
			gboolean _tmp55_ = FALSE;
			gboolean _tmp59_ = FALSE;
			_tmp47_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
			if (_tmp47_) {
				GeeSortedSet* _tmp48_ = NULL;
				gpointer _tmp49_ = NULL;
				gchar* _tmp50_ = NULL;
				_tmp48_ = keys;
				_tmp49_ = gee_sorted_set_first (_tmp48_);
				_tmp50_ = (gchar*) _tmp49_;
				_g_free0 (_tmp50_);
				exit (0);
			}
			g_test_trap_assert_failed ();
			_tmp51_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
			if (_tmp51_) {
				GeeSortedSet* _tmp52_ = NULL;
				gpointer _tmp53_ = NULL;
				gchar* _tmp54_ = NULL;
				_tmp52_ = keys;
				_tmp53_ = gee_sorted_set_last (_tmp52_);
				_tmp54_ = (gchar*) _tmp53_;
				_g_free0 (_tmp54_);
				exit (0);
			}
			g_test_trap_assert_failed ();
			_tmp55_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
			if (_tmp55_) {
				GeeSortedSet* _tmp56_ = NULL;
				gpointer _tmp57_ = NULL;
				GeeMapEntry* _tmp58_ = NULL;
				_tmp56_ = entries;
				_tmp57_ = gee_sorted_set_first (_tmp56_);
				_tmp58_ = (GeeMapEntry*) _tmp57_;
				_g_object_unref0 (_tmp58_);
				exit (0);
			}
			g_test_trap_assert_failed ();
			_tmp59_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
			if (_tmp59_) {
				GeeSortedSet* _tmp60_ = NULL;
				gpointer _tmp61_ = NULL;
				GeeMapEntry* _tmp62_ = NULL;
				_tmp60_ = entries;
				_tmp61_ = gee_sorted_set_last (_tmp60_);
				_tmp62_ = (GeeMapEntry*) _tmp61_;
				_g_object_unref0 (_tmp62_);
				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_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_ = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	GeeSortedMapTestsSubMapTestsType _tmp10_ = 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;
	_tmp10_ = self->priv->type;
	switch (_tmp10_) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp11_ = NULL;
			gpointer _tmp12_ = NULL;
			gchar* _tmp13_ = NULL;
			GeeSortedSet* _tmp14_ = NULL;
			GeeMapEntry* _tmp15_ = NULL;
			GeeMapEntry* _tmp16_ = NULL;
			gpointer _tmp17_ = NULL;
			GeeMapEntry* _tmp18_ = NULL;
			GeeSortedSet* _tmp19_ = NULL;
			gpointer _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			GeeSortedSet* _tmp22_ = NULL;
			GeeMapEntry* _tmp23_ = NULL;
			GeeMapEntry* _tmp24_ = NULL;
			gpointer _tmp25_ = NULL;
			GeeMapEntry* _tmp26_ = NULL;
			GeeSortedSet* _tmp27_ = NULL;
			gpointer _tmp28_ = NULL;
			gchar* _tmp29_ = NULL;
			GeeSortedSet* _tmp30_ = NULL;
			GeeMapEntry* _tmp31_ = NULL;
			GeeMapEntry* _tmp32_ = NULL;
			gpointer _tmp33_ = NULL;
			GeeMapEntry* _tmp34_ = NULL;
			GeeSortedSet* _tmp35_ = NULL;
			gpointer _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			GeeSortedSet* _tmp38_ = NULL;
			GeeMapEntry* _tmp39_ = NULL;
			GeeMapEntry* _tmp40_ = NULL;
			gpointer _tmp41_ = NULL;
			GeeMapEntry* _tmp42_ = NULL;
			_tmp11_ = keys;
			_tmp12_ = gee_sorted_set_lower (_tmp11_, "a");
			_tmp13_ = (gchar*) _tmp12_;
			_vala_assert (_tmp13_ == NULL, "keys.lower (\"a\") == null");
			_g_free0 (_tmp13_);
			_tmp14_ = entries;
			_tmp15_ = map_tests_entry_for ("a", "a");
			_tmp16_ = _tmp15_;
			_tmp17_ = gee_sorted_set_lower (_tmp14_, _tmp16_);
			_tmp18_ = (GeeMapEntry*) _tmp17_;
			_vala_assert (_tmp18_ == NULL, "entries.lower (MapTests.entry_for (\"a\", \"a\")) == null");
			_g_object_unref0 (_tmp18_);
			_g_object_unref0 (_tmp16_);
			_tmp19_ = keys;
			_tmp20_ = gee_sorted_set_lower (_tmp19_, "five");
			_tmp21_ = (gchar*) _tmp20_;
			_vala_assert (_tmp21_ == NULL, "keys.lower (\"five\") == null");
			_g_free0 (_tmp21_);
			_tmp22_ = entries;
			_tmp23_ = map_tests_entry_for ("five", "five");
			_tmp24_ = _tmp23_;
			_tmp25_ = gee_sorted_set_lower (_tmp22_, _tmp24_);
			_tmp26_ = (GeeMapEntry*) _tmp25_;
			_vala_assert (_tmp26_ == NULL, "entries.lower (MapTests.entry_for (\"five\", \"five\")) == null");
			_g_object_unref0 (_tmp26_);
			_g_object_unref0 (_tmp24_);
			_tmp27_ = keys;
			_tmp28_ = gee_sorted_set_lower (_tmp27_, "four");
			_tmp29_ = (gchar*) _tmp28_;
			_vala_assert (g_strcmp0 (_tmp29_, "five") == 0, "keys.lower (\"four\") == \"five\"");
			_g_free0 (_tmp29_);
			_tmp30_ = entries;
			_tmp31_ = map_tests_entry_for ("four", "four");
			_tmp32_ = _tmp31_;
			_tmp33_ = gee_sorted_set_lower (_tmp30_, _tmp32_);
			_tmp34_ = (GeeMapEntry*) _tmp33_;
			map_tests_assert_entry (_tmp34_, "five", "five");
			_g_object_unref0 (_tmp34_);
			_g_object_unref0 (_tmp32_);
			_tmp35_ = keys;
			_tmp36_ = gee_sorted_set_lower (_tmp35_, "six");
			_tmp37_ = (gchar*) _tmp36_;
			_vala_assert (g_strcmp0 (_tmp37_, "four") == 0, "keys.lower (\"six\") == \"four\"");
			_g_free0 (_tmp37_);
			_tmp38_ = entries;
			_tmp39_ = map_tests_entry_for ("six", "six");
			_tmp40_ = _tmp39_;
			_tmp41_ = gee_sorted_set_lower (_tmp38_, _tmp40_);
			_tmp42_ = (GeeMapEntry*) _tmp41_;
			map_tests_assert_entry (_tmp42_, "four", "four");
			_g_object_unref0 (_tmp42_);
			_g_object_unref0 (_tmp40_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp43_ = NULL;
			gpointer _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			GeeSortedSet* _tmp46_ = NULL;
			GeeMapEntry* _tmp47_ = NULL;
			GeeMapEntry* _tmp48_ = NULL;
			gpointer _tmp49_ = NULL;
			GeeMapEntry* _tmp50_ = NULL;
			GeeSortedSet* _tmp51_ = NULL;
			gpointer _tmp52_ = NULL;
			gchar* _tmp53_ = NULL;
			GeeSortedSet* _tmp54_ = NULL;
			GeeMapEntry* _tmp55_ = NULL;
			GeeMapEntry* _tmp56_ = NULL;
			gpointer _tmp57_ = NULL;
			GeeMapEntry* _tmp58_ = NULL;
			GeeSortedSet* _tmp59_ = NULL;
			gpointer _tmp60_ = NULL;
			gchar* _tmp61_ = NULL;
			GeeSortedSet* _tmp62_ = NULL;
			GeeMapEntry* _tmp63_ = NULL;
			GeeMapEntry* _tmp64_ = NULL;
			gpointer _tmp65_ = NULL;
			GeeMapEntry* _tmp66_ = NULL;
			GeeSortedSet* _tmp67_ = NULL;
			gpointer _tmp68_ = NULL;
			gchar* _tmp69_ = NULL;
			GeeSortedSet* _tmp70_ = NULL;
			GeeMapEntry* _tmp71_ = NULL;
			GeeMapEntry* _tmp72_ = NULL;
			gpointer _tmp73_ = NULL;
			GeeMapEntry* _tmp74_ = NULL;
			GeeSortedSet* _tmp75_ = NULL;
			gpointer _tmp76_ = NULL;
			gchar* _tmp77_ = NULL;
			GeeSortedSet* _tmp78_ = NULL;
			GeeMapEntry* _tmp79_ = NULL;
			GeeMapEntry* _tmp80_ = NULL;
			gpointer _tmp81_ = NULL;
			GeeMapEntry* _tmp82_ = NULL;
			_tmp43_ = keys;
			_tmp44_ = gee_sorted_set_lower (_tmp43_, "one");
			_tmp45_ = (gchar*) _tmp44_;
			_vala_assert (_tmp45_ == NULL, "keys.lower (\"one\") == null");
			_g_free0 (_tmp45_);
			_tmp46_ = entries;
			_tmp47_ = map_tests_entry_for ("one", "one");
			_tmp48_ = _tmp47_;
			_tmp49_ = gee_sorted_set_lower (_tmp46_, _tmp48_);
			_tmp50_ = (GeeMapEntry*) _tmp49_;
			_vala_assert (_tmp50_ == NULL, "entries.lower (MapTests.entry_for (\"one\", \"one\")) == null");
			_g_object_unref0 (_tmp50_);
			_g_object_unref0 (_tmp48_);
			_tmp51_ = keys;
			_tmp52_ = gee_sorted_set_lower (_tmp51_, "six");
			_tmp53_ = (gchar*) _tmp52_;
			_vala_assert (_tmp53_ == NULL, "keys.lower (\"six\") == null");
			_g_free0 (_tmp53_);
			_tmp54_ = entries;
			_tmp55_ = map_tests_entry_for ("six", "six");
			_tmp56_ = _tmp55_;
			_tmp57_ = gee_sorted_set_lower (_tmp54_, _tmp56_);
			_tmp58_ = (GeeMapEntry*) _tmp57_;
			_vala_assert (_tmp58_ == NULL, "entries.lower (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp58_);
			_g_object_unref0 (_tmp56_);
			_tmp59_ = keys;
			_tmp60_ = gee_sorted_set_lower (_tmp59_, "three");
			_tmp61_ = (gchar*) _tmp60_;
			_vala_assert (g_strcmp0 (_tmp61_, "six") == 0, "keys.lower (\"three\") == \"six\"");
			_g_free0 (_tmp61_);
			_tmp62_ = entries;
			_tmp63_ = map_tests_entry_for ("three", "three");
			_tmp64_ = _tmp63_;
			_tmp65_ = gee_sorted_set_lower (_tmp62_, _tmp64_);
			_tmp66_ = (GeeMapEntry*) _tmp65_;
			map_tests_assert_entry (_tmp66_, "six", "six");
			_g_object_unref0 (_tmp66_);
			_g_object_unref0 (_tmp64_);
			_tmp67_ = keys;
			_tmp68_ = gee_sorted_set_lower (_tmp67_, "two");
			_tmp69_ = (gchar*) _tmp68_;
			_vala_assert (g_strcmp0 (_tmp69_, "three") == 0, "keys.lower (\"two\") == \"three\"");
			_g_free0 (_tmp69_);
			_tmp70_ = entries;
			_tmp71_ = map_tests_entry_for ("two", "two");
			_tmp72_ = _tmp71_;
			_tmp73_ = gee_sorted_set_lower (_tmp70_, _tmp72_);
			_tmp74_ = (GeeMapEntry*) _tmp73_;
			map_tests_assert_entry (_tmp74_, "three", "three");
			_g_object_unref0 (_tmp74_);
			_g_object_unref0 (_tmp72_);
			_tmp75_ = keys;
			_tmp76_ = gee_sorted_set_lower (_tmp75_, "z");
			_tmp77_ = (gchar*) _tmp76_;
			_vala_assert (g_strcmp0 (_tmp77_, "two") == 0, "keys.lower (\"z\") == \"two\"");
			_g_free0 (_tmp77_);
			_tmp78_ = entries;
			_tmp79_ = map_tests_entry_for ("z", "z");
			_tmp80_ = _tmp79_;
			_tmp81_ = gee_sorted_set_lower (_tmp78_, _tmp80_);
			_tmp82_ = (GeeMapEntry*) _tmp81_;
			map_tests_assert_entry (_tmp82_, "two", "two");
			_g_object_unref0 (_tmp82_);
			_g_object_unref0 (_tmp80_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp83_ = NULL;
			gpointer _tmp84_ = NULL;
			gchar* _tmp85_ = NULL;
			GeeSortedSet* _tmp86_ = NULL;
			GeeMapEntry* _tmp87_ = NULL;
			GeeMapEntry* _tmp88_ = NULL;
			gpointer _tmp89_ = NULL;
			GeeMapEntry* _tmp90_ = NULL;
			GeeSortedSet* _tmp91_ = NULL;
			gpointer _tmp92_ = NULL;
			gchar* _tmp93_ = NULL;
			GeeSortedSet* _tmp94_ = NULL;
			GeeMapEntry* _tmp95_ = NULL;
			GeeMapEntry* _tmp96_ = NULL;
			gpointer _tmp97_ = NULL;
			GeeMapEntry* _tmp98_ = NULL;
			GeeSortedSet* _tmp99_ = NULL;
			gpointer _tmp100_ = NULL;
			gchar* _tmp101_ = NULL;
			GeeSortedSet* _tmp102_ = NULL;
			GeeMapEntry* _tmp103_ = NULL;
			GeeMapEntry* _tmp104_ = NULL;
			gpointer _tmp105_ = NULL;
			GeeMapEntry* _tmp106_ = NULL;
			GeeSortedSet* _tmp107_ = NULL;
			gpointer _tmp108_ = NULL;
			gchar* _tmp109_ = NULL;
			GeeSortedSet* _tmp110_ = NULL;
			GeeMapEntry* _tmp111_ = NULL;
			GeeMapEntry* _tmp112_ = NULL;
			gpointer _tmp113_ = NULL;
			GeeMapEntry* _tmp114_ = NULL;
			GeeSortedSet* _tmp115_ = NULL;
			gpointer _tmp116_ = NULL;
			gchar* _tmp117_ = NULL;
			GeeSortedSet* _tmp118_ = NULL;
			GeeMapEntry* _tmp119_ = NULL;
			GeeMapEntry* _tmp120_ = NULL;
			gpointer _tmp121_ = NULL;
			GeeMapEntry* _tmp122_ = NULL;
			_tmp83_ = keys;
			_tmp84_ = gee_sorted_set_lower (_tmp83_, "five");
			_tmp85_ = (gchar*) _tmp84_;
			_vala_assert (_tmp85_ == NULL, "keys.lower (\"five\") == null");
			_g_free0 (_tmp85_);
			_tmp86_ = entries;
			_tmp87_ = map_tests_entry_for ("five", "five");
			_tmp88_ = _tmp87_;
			_tmp89_ = gee_sorted_set_lower (_tmp86_, _tmp88_);
			_tmp90_ = (GeeMapEntry*) _tmp89_;
			_vala_assert (_tmp90_ == NULL, "entries.lower (MapTests.entry_for (\"five\", \"five\")) == null");
			_g_object_unref0 (_tmp90_);
			_g_object_unref0 (_tmp88_);
			_tmp91_ = keys;
			_tmp92_ = gee_sorted_set_lower (_tmp91_, "four");
			_tmp93_ = (gchar*) _tmp92_;
			_vala_assert (_tmp93_ == NULL, "keys.lower (\"four\") == null");
			_g_free0 (_tmp93_);
			_tmp94_ = entries;
			_tmp95_ = map_tests_entry_for ("four", "four");
			_tmp96_ = _tmp95_;
			_tmp97_ = gee_sorted_set_lower (_tmp94_, _tmp96_);
			_tmp98_ = (GeeMapEntry*) _tmp97_;
			_vala_assert (_tmp98_ == NULL, "entries.lower (MapTests.entry_for (\"four\", \"four\")) == null");
			_g_object_unref0 (_tmp98_);
			_g_object_unref0 (_tmp96_);
			_tmp99_ = keys;
			_tmp100_ = gee_sorted_set_lower (_tmp99_, "one");
			_tmp101_ = (gchar*) _tmp100_;
			_vala_assert (g_strcmp0 (_tmp101_, "four") == 0, "keys.lower (\"one\") == \"four\"");
			_g_free0 (_tmp101_);
			_tmp102_ = entries;
			_tmp103_ = map_tests_entry_for ("one", "one");
			_tmp104_ = _tmp103_;
			_tmp105_ = gee_sorted_set_lower (_tmp102_, _tmp104_);
			_tmp106_ = (GeeMapEntry*) _tmp105_;
			map_tests_assert_entry (_tmp106_, "four", "four");
			_g_object_unref0 (_tmp106_);
			_g_object_unref0 (_tmp104_);
			_tmp107_ = keys;
			_tmp108_ = gee_sorted_set_lower (_tmp107_, "six");
			_tmp109_ = (gchar*) _tmp108_;
			_vala_assert (g_strcmp0 (_tmp109_, "one") == 0, "keys.lower (\"six\") == \"one\"");
			_g_free0 (_tmp109_);
			_tmp110_ = entries;
			_tmp111_ = map_tests_entry_for ("six", "six");
			_tmp112_ = _tmp111_;
			_tmp113_ = gee_sorted_set_lower (_tmp110_, _tmp112_);
			_tmp114_ = (GeeMapEntry*) _tmp113_;
			map_tests_assert_entry (_tmp114_, "one", "one");
			_g_object_unref0 (_tmp114_);
			_g_object_unref0 (_tmp112_);
			_tmp115_ = keys;
			_tmp116_ = gee_sorted_set_lower (_tmp115_, "three");
			_tmp117_ = (gchar*) _tmp116_;
			_vala_assert (g_strcmp0 (_tmp117_, "six") == 0, "keys.lower (\"three\") == \"six\"");
			_g_free0 (_tmp117_);
			_tmp118_ = entries;
			_tmp119_ = map_tests_entry_for ("three", "three");
			_tmp120_ = _tmp119_;
			_tmp121_ = gee_sorted_set_lower (_tmp118_, _tmp120_);
			_tmp122_ = (GeeMapEntry*) _tmp121_;
			map_tests_assert_entry (_tmp122_, "six", "six");
			_g_object_unref0 (_tmp122_);
			_g_object_unref0 (_tmp120_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp123_ = NULL;
			gpointer _tmp124_ = NULL;
			gchar* _tmp125_ = NULL;
			GeeSortedSet* _tmp126_ = NULL;
			GeeMapEntry* _tmp127_ = NULL;
			GeeMapEntry* _tmp128_ = NULL;
			gpointer _tmp129_ = NULL;
			GeeMapEntry* _tmp130_ = NULL;
			_tmp123_ = keys;
			_tmp124_ = gee_sorted_set_lower (_tmp123_, "six");
			_tmp125_ = (gchar*) _tmp124_;
			_vala_assert (_tmp125_ == NULL, "keys.lower (\"six\") == null");
			_g_free0 (_tmp125_);
			_tmp126_ = entries;
			_tmp127_ = map_tests_entry_for ("six", "six");
			_tmp128_ = _tmp127_;
			_tmp129_ = gee_sorted_set_lower (_tmp126_, _tmp128_);
			_tmp130_ = (GeeMapEntry*) _tmp129_;
			_vala_assert (_tmp130_ == NULL, "entries.lower (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp130_);
			_g_object_unref0 (_tmp128_);
			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_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_ = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	GeeSortedMapTestsSubMapTestsType _tmp10_ = 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;
	_tmp10_ = self->priv->type;
	switch (_tmp10_) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp11_ = NULL;
			gpointer _tmp12_ = NULL;
			gchar* _tmp13_ = NULL;
			GeeSortedSet* _tmp14_ = NULL;
			GeeMapEntry* _tmp15_ = NULL;
			GeeMapEntry* _tmp16_ = NULL;
			gpointer _tmp17_ = NULL;
			GeeMapEntry* _tmp18_ = NULL;
			GeeSortedSet* _tmp19_ = NULL;
			gpointer _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			GeeSortedSet* _tmp22_ = NULL;
			GeeMapEntry* _tmp23_ = NULL;
			GeeMapEntry* _tmp24_ = NULL;
			gpointer _tmp25_ = NULL;
			GeeMapEntry* _tmp26_ = NULL;
			GeeSortedSet* _tmp27_ = NULL;
			gpointer _tmp28_ = NULL;
			gchar* _tmp29_ = NULL;
			GeeSortedSet* _tmp30_ = NULL;
			GeeMapEntry* _tmp31_ = NULL;
			GeeMapEntry* _tmp32_ = NULL;
			gpointer _tmp33_ = NULL;
			GeeMapEntry* _tmp34_ = NULL;
			GeeSortedSet* _tmp35_ = NULL;
			gpointer _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			GeeSortedSet* _tmp38_ = NULL;
			GeeMapEntry* _tmp39_ = NULL;
			GeeMapEntry* _tmp40_ = NULL;
			gpointer _tmp41_ = NULL;
			GeeMapEntry* _tmp42_ = NULL;
			_tmp11_ = keys;
			_tmp12_ = gee_sorted_set_higher (_tmp11_, "a");
			_tmp13_ = (gchar*) _tmp12_;
			_vala_assert (g_strcmp0 (_tmp13_, "five") == 0, "keys.higher (\"a\") == \"five\"");
			_g_free0 (_tmp13_);
			_tmp14_ = entries;
			_tmp15_ = map_tests_entry_for ("a", "a");
			_tmp16_ = _tmp15_;
			_tmp17_ = gee_sorted_set_higher (_tmp14_, _tmp16_);
			_tmp18_ = (GeeMapEntry*) _tmp17_;
			map_tests_assert_entry (_tmp18_, "five", "five");
			_g_object_unref0 (_tmp18_);
			_g_object_unref0 (_tmp16_);
			_tmp19_ = keys;
			_tmp20_ = gee_sorted_set_higher (_tmp19_, "five");
			_tmp21_ = (gchar*) _tmp20_;
			_vala_assert (g_strcmp0 (_tmp21_, "four") == 0, "keys.higher (\"five\") == \"four\"");
			_g_free0 (_tmp21_);
			_tmp22_ = entries;
			_tmp23_ = map_tests_entry_for ("five", "five");
			_tmp24_ = _tmp23_;
			_tmp25_ = gee_sorted_set_higher (_tmp22_, _tmp24_);
			_tmp26_ = (GeeMapEntry*) _tmp25_;
			map_tests_assert_entry (_tmp26_, "four", "four");
			_g_object_unref0 (_tmp26_);
			_g_object_unref0 (_tmp24_);
			_tmp27_ = keys;
			_tmp28_ = gee_sorted_set_higher (_tmp27_, "four");
			_tmp29_ = (gchar*) _tmp28_;
			_vala_assert (_tmp29_ == NULL, "keys.higher (\"four\") == null");
			_g_free0 (_tmp29_);
			_tmp30_ = entries;
			_tmp31_ = map_tests_entry_for ("four", "four");
			_tmp32_ = _tmp31_;
			_tmp33_ = gee_sorted_set_higher (_tmp30_, _tmp32_);
			_tmp34_ = (GeeMapEntry*) _tmp33_;
			_vala_assert (_tmp34_ == NULL, "entries.higher (MapTests.entry_for (\"four\", \"four\")) == null");
			_g_object_unref0 (_tmp34_);
			_g_object_unref0 (_tmp32_);
			_tmp35_ = keys;
			_tmp36_ = gee_sorted_set_higher (_tmp35_, "six");
			_tmp37_ = (gchar*) _tmp36_;
			_vala_assert (_tmp37_ == NULL, "keys.higher (\"six\") == null");
			_g_free0 (_tmp37_);
			_tmp38_ = entries;
			_tmp39_ = map_tests_entry_for ("six", "six");
			_tmp40_ = _tmp39_;
			_tmp41_ = gee_sorted_set_higher (_tmp38_, _tmp40_);
			_tmp42_ = (GeeMapEntry*) _tmp41_;
			_vala_assert (_tmp42_ == NULL, "entries.higher (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp42_);
			_g_object_unref0 (_tmp40_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp43_ = NULL;
			gpointer _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			GeeSortedSet* _tmp46_ = NULL;
			GeeMapEntry* _tmp47_ = NULL;
			GeeMapEntry* _tmp48_ = NULL;
			gpointer _tmp49_ = NULL;
			GeeMapEntry* _tmp50_ = NULL;
			GeeSortedSet* _tmp51_ = NULL;
			gpointer _tmp52_ = NULL;
			gchar* _tmp53_ = NULL;
			GeeSortedSet* _tmp54_ = NULL;
			GeeMapEntry* _tmp55_ = NULL;
			GeeMapEntry* _tmp56_ = NULL;
			gpointer _tmp57_ = NULL;
			GeeMapEntry* _tmp58_ = NULL;
			GeeSortedSet* _tmp59_ = NULL;
			gpointer _tmp60_ = NULL;
			gchar* _tmp61_ = NULL;
			GeeSortedSet* _tmp62_ = NULL;
			GeeMapEntry* _tmp63_ = NULL;
			GeeMapEntry* _tmp64_ = NULL;
			gpointer _tmp65_ = NULL;
			GeeMapEntry* _tmp66_ = NULL;
			GeeSortedSet* _tmp67_ = NULL;
			gpointer _tmp68_ = NULL;
			gchar* _tmp69_ = NULL;
			GeeSortedSet* _tmp70_ = NULL;
			GeeMapEntry* _tmp71_ = NULL;
			GeeMapEntry* _tmp72_ = NULL;
			gpointer _tmp73_ = NULL;
			GeeMapEntry* _tmp74_ = NULL;
			GeeSortedSet* _tmp75_ = NULL;
			gpointer _tmp76_ = NULL;
			gchar* _tmp77_ = NULL;
			GeeSortedSet* _tmp78_ = NULL;
			GeeMapEntry* _tmp79_ = NULL;
			GeeMapEntry* _tmp80_ = NULL;
			gpointer _tmp81_ = NULL;
			GeeMapEntry* _tmp82_ = NULL;
			_tmp43_ = keys;
			_tmp44_ = gee_sorted_set_higher (_tmp43_, "one");
			_tmp45_ = (gchar*) _tmp44_;
			_vala_assert (g_strcmp0 (_tmp45_, "six") == 0, "keys.higher (\"one\") == \"six\"");
			_g_free0 (_tmp45_);
			_tmp46_ = entries;
			_tmp47_ = map_tests_entry_for ("one", "one");
			_tmp48_ = _tmp47_;
			_tmp49_ = gee_sorted_set_higher (_tmp46_, _tmp48_);
			_tmp50_ = (GeeMapEntry*) _tmp49_;
			map_tests_assert_entry (_tmp50_, "six", "six");
			_g_object_unref0 (_tmp50_);
			_g_object_unref0 (_tmp48_);
			_tmp51_ = keys;
			_tmp52_ = gee_sorted_set_higher (_tmp51_, "six");
			_tmp53_ = (gchar*) _tmp52_;
			_vala_assert (g_strcmp0 (_tmp53_, "three") == 0, "keys.higher (\"six\") == \"three\"");
			_g_free0 (_tmp53_);
			_tmp54_ = entries;
			_tmp55_ = map_tests_entry_for ("six", "six");
			_tmp56_ = _tmp55_;
			_tmp57_ = gee_sorted_set_higher (_tmp54_, _tmp56_);
			_tmp58_ = (GeeMapEntry*) _tmp57_;
			map_tests_assert_entry (_tmp58_, "three", "three");
			_g_object_unref0 (_tmp58_);
			_g_object_unref0 (_tmp56_);
			_tmp59_ = keys;
			_tmp60_ = gee_sorted_set_higher (_tmp59_, "three");
			_tmp61_ = (gchar*) _tmp60_;
			_vala_assert (g_strcmp0 (_tmp61_, "two") == 0, "keys.higher (\"three\") == \"two\"");
			_g_free0 (_tmp61_);
			_tmp62_ = entries;
			_tmp63_ = map_tests_entry_for ("three", "three");
			_tmp64_ = _tmp63_;
			_tmp65_ = gee_sorted_set_higher (_tmp62_, _tmp64_);
			_tmp66_ = (GeeMapEntry*) _tmp65_;
			map_tests_assert_entry (_tmp66_, "two", "two");
			_g_object_unref0 (_tmp66_);
			_g_object_unref0 (_tmp64_);
			_tmp67_ = keys;
			_tmp68_ = gee_sorted_set_higher (_tmp67_, "two");
			_tmp69_ = (gchar*) _tmp68_;
			_vala_assert (_tmp69_ == NULL, "keys.higher (\"two\") == null");
			_g_free0 (_tmp69_);
			_tmp70_ = entries;
			_tmp71_ = map_tests_entry_for ("two", "two");
			_tmp72_ = _tmp71_;
			_tmp73_ = gee_sorted_set_higher (_tmp70_, _tmp72_);
			_tmp74_ = (GeeMapEntry*) _tmp73_;
			_vala_assert (_tmp74_ == NULL, "entries.higher (MapTests.entry_for (\"two\", \"two\")) == null");
			_g_object_unref0 (_tmp74_);
			_g_object_unref0 (_tmp72_);
			_tmp75_ = keys;
			_tmp76_ = gee_sorted_set_higher (_tmp75_, "z");
			_tmp77_ = (gchar*) _tmp76_;
			_vala_assert (_tmp77_ == NULL, "keys.higher (\"z\") == null");
			_g_free0 (_tmp77_);
			_tmp78_ = entries;
			_tmp79_ = map_tests_entry_for ("z", "z");
			_tmp80_ = _tmp79_;
			_tmp81_ = gee_sorted_set_higher (_tmp78_, _tmp80_);
			_tmp82_ = (GeeMapEntry*) _tmp81_;
			_vala_assert (_tmp82_ == NULL, "entries.higher (MapTests.entry_for (\"z\", \"z\")) == null");
			_g_object_unref0 (_tmp82_);
			_g_object_unref0 (_tmp80_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp83_ = NULL;
			gpointer _tmp84_ = NULL;
			gchar* _tmp85_ = NULL;
			GeeSortedSet* _tmp86_ = NULL;
			GeeMapEntry* _tmp87_ = NULL;
			GeeMapEntry* _tmp88_ = NULL;
			gpointer _tmp89_ = NULL;
			GeeMapEntry* _tmp90_ = NULL;
			GeeSortedSet* _tmp91_ = NULL;
			gpointer _tmp92_ = NULL;
			gchar* _tmp93_ = NULL;
			GeeSortedSet* _tmp94_ = NULL;
			GeeMapEntry* _tmp95_ = NULL;
			GeeMapEntry* _tmp96_ = NULL;
			gpointer _tmp97_ = NULL;
			GeeMapEntry* _tmp98_ = NULL;
			GeeSortedSet* _tmp99_ = NULL;
			gpointer _tmp100_ = NULL;
			gchar* _tmp101_ = NULL;
			GeeSortedSet* _tmp102_ = NULL;
			GeeMapEntry* _tmp103_ = NULL;
			GeeMapEntry* _tmp104_ = NULL;
			gpointer _tmp105_ = NULL;
			GeeMapEntry* _tmp106_ = NULL;
			GeeSortedSet* _tmp107_ = NULL;
			gpointer _tmp108_ = NULL;
			gchar* _tmp109_ = NULL;
			GeeSortedSet* _tmp110_ = NULL;
			GeeMapEntry* _tmp111_ = NULL;
			GeeMapEntry* _tmp112_ = NULL;
			gpointer _tmp113_ = NULL;
			GeeMapEntry* _tmp114_ = NULL;
			GeeSortedSet* _tmp115_ = NULL;
			gpointer _tmp116_ = NULL;
			gchar* _tmp117_ = NULL;
			GeeSortedSet* _tmp118_ = NULL;
			GeeMapEntry* _tmp119_ = NULL;
			GeeMapEntry* _tmp120_ = NULL;
			gpointer _tmp121_ = NULL;
			GeeMapEntry* _tmp122_ = NULL;
			_tmp83_ = keys;
			_tmp84_ = gee_sorted_set_higher (_tmp83_, "five");
			_tmp85_ = (gchar*) _tmp84_;
			_vala_assert (g_strcmp0 (_tmp85_, "four") == 0, "keys.higher (\"five\") == \"four\"");
			_g_free0 (_tmp85_);
			_tmp86_ = entries;
			_tmp87_ = map_tests_entry_for ("five", "five");
			_tmp88_ = _tmp87_;
			_tmp89_ = gee_sorted_set_higher (_tmp86_, _tmp88_);
			_tmp90_ = (GeeMapEntry*) _tmp89_;
			map_tests_assert_entry (_tmp90_, "four", "four");
			_g_object_unref0 (_tmp90_);
			_g_object_unref0 (_tmp88_);
			_tmp91_ = keys;
			_tmp92_ = gee_sorted_set_higher (_tmp91_, "four");
			_tmp93_ = (gchar*) _tmp92_;
			_vala_assert (g_strcmp0 (_tmp93_, "one") == 0, "keys.higher (\"four\") == \"one\"");
			_g_free0 (_tmp93_);
			_tmp94_ = entries;
			_tmp95_ = map_tests_entry_for ("four", "four");
			_tmp96_ = _tmp95_;
			_tmp97_ = gee_sorted_set_higher (_tmp94_, _tmp96_);
			_tmp98_ = (GeeMapEntry*) _tmp97_;
			map_tests_assert_entry (_tmp98_, "one", "one");
			_g_object_unref0 (_tmp98_);
			_g_object_unref0 (_tmp96_);
			_tmp99_ = keys;
			_tmp100_ = gee_sorted_set_higher (_tmp99_, "one");
			_tmp101_ = (gchar*) _tmp100_;
			_vala_assert (g_strcmp0 (_tmp101_, "six") == 0, "keys.higher (\"one\") == \"six\"");
			_g_free0 (_tmp101_);
			_tmp102_ = entries;
			_tmp103_ = map_tests_entry_for ("one", "one");
			_tmp104_ = _tmp103_;
			_tmp105_ = gee_sorted_set_higher (_tmp102_, _tmp104_);
			_tmp106_ = (GeeMapEntry*) _tmp105_;
			map_tests_assert_entry (_tmp106_, "six", "six");
			_g_object_unref0 (_tmp106_);
			_g_object_unref0 (_tmp104_);
			_tmp107_ = keys;
			_tmp108_ = gee_sorted_set_higher (_tmp107_, "six");
			_tmp109_ = (gchar*) _tmp108_;
			_vala_assert (_tmp109_ == NULL, "keys.higher (\"six\") == null");
			_g_free0 (_tmp109_);
			_tmp110_ = entries;
			_tmp111_ = map_tests_entry_for ("six", "six");
			_tmp112_ = _tmp111_;
			_tmp113_ = gee_sorted_set_higher (_tmp110_, _tmp112_);
			_tmp114_ = (GeeMapEntry*) _tmp113_;
			_vala_assert (_tmp114_ == NULL, "entries.higher (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp114_);
			_g_object_unref0 (_tmp112_);
			_tmp115_ = keys;
			_tmp116_ = gee_sorted_set_higher (_tmp115_, "three");
			_tmp117_ = (gchar*) _tmp116_;
			_vala_assert (_tmp117_ == NULL, "keys.higher (\"three\") == null");
			_g_free0 (_tmp117_);
			_tmp118_ = entries;
			_tmp119_ = map_tests_entry_for ("three", "three");
			_tmp120_ = _tmp119_;
			_tmp121_ = gee_sorted_set_higher (_tmp118_, _tmp120_);
			_tmp122_ = (GeeMapEntry*) _tmp121_;
			_vala_assert (_tmp122_ == NULL, "entries.higher (MapTests.entry_for (\"three\", \"three\")) == null");
			_g_object_unref0 (_tmp122_);
			_g_object_unref0 (_tmp120_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp123_ = NULL;
			gpointer _tmp124_ = NULL;
			gchar* _tmp125_ = NULL;
			GeeSortedSet* _tmp126_ = NULL;
			GeeMapEntry* _tmp127_ = NULL;
			GeeMapEntry* _tmp128_ = NULL;
			gpointer _tmp129_ = NULL;
			GeeMapEntry* _tmp130_ = NULL;
			_tmp123_ = keys;
			_tmp124_ = gee_sorted_set_higher (_tmp123_, "six");
			_tmp125_ = (gchar*) _tmp124_;
			_vala_assert (_tmp125_ == NULL, "keys.higher (\"six\") == null");
			_g_free0 (_tmp125_);
			_tmp126_ = entries;
			_tmp127_ = map_tests_entry_for ("six", "six");
			_tmp128_ = _tmp127_;
			_tmp129_ = gee_sorted_set_higher (_tmp126_, _tmp128_);
			_tmp130_ = (GeeMapEntry*) _tmp129_;
			_vala_assert (_tmp130_ == NULL, "entries.higher (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp130_);
			_g_object_unref0 (_tmp128_);
			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_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_ = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	GeeSortedMapTestsSubMapTestsType _tmp10_ = 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;
	_tmp10_ = self->priv->type;
	switch (_tmp10_) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp11_ = NULL;
			gpointer _tmp12_ = NULL;
			gchar* _tmp13_ = NULL;
			GeeSortedSet* _tmp14_ = NULL;
			GeeMapEntry* _tmp15_ = NULL;
			GeeMapEntry* _tmp16_ = NULL;
			gpointer _tmp17_ = NULL;
			GeeMapEntry* _tmp18_ = NULL;
			GeeSortedSet* _tmp19_ = NULL;
			gpointer _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			GeeSortedSet* _tmp22_ = NULL;
			GeeMapEntry* _tmp23_ = NULL;
			GeeMapEntry* _tmp24_ = NULL;
			gpointer _tmp25_ = NULL;
			GeeMapEntry* _tmp26_ = NULL;
			GeeSortedSet* _tmp27_ = NULL;
			gpointer _tmp28_ = NULL;
			gchar* _tmp29_ = NULL;
			GeeSortedSet* _tmp30_ = NULL;
			GeeMapEntry* _tmp31_ = NULL;
			GeeMapEntry* _tmp32_ = NULL;
			gpointer _tmp33_ = NULL;
			GeeMapEntry* _tmp34_ = NULL;
			GeeSortedSet* _tmp35_ = NULL;
			gpointer _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			GeeSortedSet* _tmp38_ = NULL;
			GeeMapEntry* _tmp39_ = NULL;
			GeeMapEntry* _tmp40_ = NULL;
			gpointer _tmp41_ = NULL;
			GeeMapEntry* _tmp42_ = NULL;
			_tmp11_ = keys;
			_tmp12_ = gee_sorted_set_floor (_tmp11_, "a");
			_tmp13_ = (gchar*) _tmp12_;
			_vala_assert (_tmp13_ == NULL, "keys.floor (\"a\") == null");
			_g_free0 (_tmp13_);
			_tmp14_ = entries;
			_tmp15_ = map_tests_entry_for ("a", "a");
			_tmp16_ = _tmp15_;
			_tmp17_ = gee_sorted_set_floor (_tmp14_, _tmp16_);
			_tmp18_ = (GeeMapEntry*) _tmp17_;
			_vala_assert (_tmp18_ == NULL, "entries.floor (MapTests.entry_for (\"a\", \"a\")) == null");
			_g_object_unref0 (_tmp18_);
			_g_object_unref0 (_tmp16_);
			_tmp19_ = keys;
			_tmp20_ = gee_sorted_set_floor (_tmp19_, "five");
			_tmp21_ = (gchar*) _tmp20_;
			_vala_assert (g_strcmp0 (_tmp21_, "five") == 0, "keys.floor (\"five\") == \"five\"");
			_g_free0 (_tmp21_);
			_tmp22_ = entries;
			_tmp23_ = map_tests_entry_for ("five", "fiv");
			_tmp24_ = _tmp23_;
			_tmp25_ = gee_sorted_set_floor (_tmp22_, _tmp24_);
			_tmp26_ = (GeeMapEntry*) _tmp25_;
			map_tests_assert_entry (_tmp26_, "five", "five");
			_g_object_unref0 (_tmp26_);
			_g_object_unref0 (_tmp24_);
			_tmp27_ = keys;
			_tmp28_ = gee_sorted_set_floor (_tmp27_, "four");
			_tmp29_ = (gchar*) _tmp28_;
			_vala_assert (g_strcmp0 (_tmp29_, "four") == 0, "keys.floor (\"four\") == \"four\"");
			_g_free0 (_tmp29_);
			_tmp30_ = entries;
			_tmp31_ = map_tests_entry_for ("four", "four");
			_tmp32_ = _tmp31_;
			_tmp33_ = gee_sorted_set_floor (_tmp30_, _tmp32_);
			_tmp34_ = (GeeMapEntry*) _tmp33_;
			map_tests_assert_entry (_tmp34_, "four", "four");
			_g_object_unref0 (_tmp34_);
			_g_object_unref0 (_tmp32_);
			_tmp35_ = keys;
			_tmp36_ = gee_sorted_set_floor (_tmp35_, "six");
			_tmp37_ = (gchar*) _tmp36_;
			_vala_assert (g_strcmp0 (_tmp37_, "four") == 0, "keys.floor (\"six\") == \"four\"");
			_g_free0 (_tmp37_);
			_tmp38_ = entries;
			_tmp39_ = map_tests_entry_for ("six", "six");
			_tmp40_ = _tmp39_;
			_tmp41_ = gee_sorted_set_floor (_tmp38_, _tmp40_);
			_tmp42_ = (GeeMapEntry*) _tmp41_;
			map_tests_assert_entry (_tmp42_, "four", "four");
			_g_object_unref0 (_tmp42_);
			_g_object_unref0 (_tmp40_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp43_ = NULL;
			gpointer _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			GeeSortedSet* _tmp46_ = NULL;
			GeeMapEntry* _tmp47_ = NULL;
			GeeMapEntry* _tmp48_ = NULL;
			gpointer _tmp49_ = NULL;
			GeeMapEntry* _tmp50_ = NULL;
			GeeSortedSet* _tmp51_ = NULL;
			gpointer _tmp52_ = NULL;
			gchar* _tmp53_ = NULL;
			GeeSortedSet* _tmp54_ = NULL;
			GeeMapEntry* _tmp55_ = NULL;
			GeeMapEntry* _tmp56_ = NULL;
			gpointer _tmp57_ = NULL;
			GeeMapEntry* _tmp58_ = NULL;
			GeeSortedSet* _tmp59_ = NULL;
			gpointer _tmp60_ = NULL;
			gchar* _tmp61_ = NULL;
			GeeSortedSet* _tmp62_ = NULL;
			GeeMapEntry* _tmp63_ = NULL;
			GeeMapEntry* _tmp64_ = NULL;
			gpointer _tmp65_ = NULL;
			GeeMapEntry* _tmp66_ = NULL;
			GeeSortedSet* _tmp67_ = NULL;
			gpointer _tmp68_ = NULL;
			gchar* _tmp69_ = NULL;
			GeeSortedSet* _tmp70_ = NULL;
			GeeMapEntry* _tmp71_ = NULL;
			GeeMapEntry* _tmp72_ = NULL;
			gpointer _tmp73_ = NULL;
			GeeMapEntry* _tmp74_ = NULL;
			GeeSortedSet* _tmp75_ = NULL;
			gpointer _tmp76_ = NULL;
			gchar* _tmp77_ = NULL;
			GeeSortedSet* _tmp78_ = NULL;
			GeeMapEntry* _tmp79_ = NULL;
			GeeMapEntry* _tmp80_ = NULL;
			gpointer _tmp81_ = NULL;
			GeeMapEntry* _tmp82_ = NULL;
			_tmp43_ = keys;
			_tmp44_ = gee_sorted_set_floor (_tmp43_, "one");
			_tmp45_ = (gchar*) _tmp44_;
			_vala_assert (_tmp45_ == NULL, "keys.floor (\"one\") == null");
			_g_free0 (_tmp45_);
			_tmp46_ = entries;
			_tmp47_ = map_tests_entry_for ("one", "one");
			_tmp48_ = _tmp47_;
			_tmp49_ = gee_sorted_set_floor (_tmp46_, _tmp48_);
			_tmp50_ = (GeeMapEntry*) _tmp49_;
			_vala_assert (_tmp50_ == NULL, "entries.floor (MapTests.entry_for (\"one\", \"one\")) == null");
			_g_object_unref0 (_tmp50_);
			_g_object_unref0 (_tmp48_);
			_tmp51_ = keys;
			_tmp52_ = gee_sorted_set_floor (_tmp51_, "six");
			_tmp53_ = (gchar*) _tmp52_;
			_vala_assert (g_strcmp0 (_tmp53_, "six") == 0, "keys.floor (\"six\") == \"six\"");
			_g_free0 (_tmp53_);
			_tmp54_ = entries;
			_tmp55_ = map_tests_entry_for ("six", "six");
			_tmp56_ = _tmp55_;
			_tmp57_ = gee_sorted_set_floor (_tmp54_, _tmp56_);
			_tmp58_ = (GeeMapEntry*) _tmp57_;
			map_tests_assert_entry (_tmp58_, "six", "six");
			_g_object_unref0 (_tmp58_);
			_g_object_unref0 (_tmp56_);
			_tmp59_ = keys;
			_tmp60_ = gee_sorted_set_floor (_tmp59_, "three");
			_tmp61_ = (gchar*) _tmp60_;
			_vala_assert (g_strcmp0 (_tmp61_, "three") == 0, "keys.floor (\"three\") == \"three\"");
			_g_free0 (_tmp61_);
			_tmp62_ = entries;
			_tmp63_ = map_tests_entry_for ("three", "three");
			_tmp64_ = _tmp63_;
			_tmp65_ = gee_sorted_set_floor (_tmp62_, _tmp64_);
			_tmp66_ = (GeeMapEntry*) _tmp65_;
			map_tests_assert_entry (_tmp66_, "three", "three");
			_g_object_unref0 (_tmp66_);
			_g_object_unref0 (_tmp64_);
			_tmp67_ = keys;
			_tmp68_ = gee_sorted_set_floor (_tmp67_, "two");
			_tmp69_ = (gchar*) _tmp68_;
			_vala_assert (g_strcmp0 (_tmp69_, "two") == 0, "keys.floor (\"two\") == \"two\"");
			_g_free0 (_tmp69_);
			_tmp70_ = entries;
			_tmp71_ = map_tests_entry_for ("two", "two");
			_tmp72_ = _tmp71_;
			_tmp73_ = gee_sorted_set_floor (_tmp70_, _tmp72_);
			_tmp74_ = (GeeMapEntry*) _tmp73_;
			map_tests_assert_entry (_tmp74_, "two", "two");
			_g_object_unref0 (_tmp74_);
			_g_object_unref0 (_tmp72_);
			_tmp75_ = keys;
			_tmp76_ = gee_sorted_set_floor (_tmp75_, "z");
			_tmp77_ = (gchar*) _tmp76_;
			_vala_assert (g_strcmp0 (_tmp77_, "two") == 0, "keys.floor (\"z\") == \"two\"");
			_g_free0 (_tmp77_);
			_tmp78_ = entries;
			_tmp79_ = map_tests_entry_for ("z", "z");
			_tmp80_ = _tmp79_;
			_tmp81_ = gee_sorted_set_floor (_tmp78_, _tmp80_);
			_tmp82_ = (GeeMapEntry*) _tmp81_;
			map_tests_assert_entry (_tmp82_, "two", "two");
			_g_object_unref0 (_tmp82_);
			_g_object_unref0 (_tmp80_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp83_ = NULL;
			gpointer _tmp84_ = NULL;
			gchar* _tmp85_ = NULL;
			GeeSortedSet* _tmp86_ = NULL;
			GeeMapEntry* _tmp87_ = NULL;
			GeeMapEntry* _tmp88_ = NULL;
			gpointer _tmp89_ = NULL;
			GeeMapEntry* _tmp90_ = NULL;
			GeeSortedSet* _tmp91_ = NULL;
			gpointer _tmp92_ = NULL;
			gchar* _tmp93_ = NULL;
			GeeSortedSet* _tmp94_ = NULL;
			GeeMapEntry* _tmp95_ = NULL;
			GeeMapEntry* _tmp96_ = NULL;
			gpointer _tmp97_ = NULL;
			GeeMapEntry* _tmp98_ = NULL;
			GeeSortedSet* _tmp99_ = NULL;
			gpointer _tmp100_ = NULL;
			gchar* _tmp101_ = NULL;
			GeeSortedSet* _tmp102_ = NULL;
			GeeMapEntry* _tmp103_ = NULL;
			GeeMapEntry* _tmp104_ = NULL;
			gpointer _tmp105_ = NULL;
			GeeMapEntry* _tmp106_ = NULL;
			GeeSortedSet* _tmp107_ = NULL;
			gpointer _tmp108_ = NULL;
			gchar* _tmp109_ = NULL;
			GeeSortedSet* _tmp110_ = NULL;
			GeeMapEntry* _tmp111_ = NULL;
			GeeMapEntry* _tmp112_ = NULL;
			gpointer _tmp113_ = NULL;
			GeeMapEntry* _tmp114_ = NULL;
			GeeSortedSet* _tmp115_ = NULL;
			gpointer _tmp116_ = NULL;
			gchar* _tmp117_ = NULL;
			GeeSortedSet* _tmp118_ = NULL;
			GeeMapEntry* _tmp119_ = NULL;
			GeeMapEntry* _tmp120_ = NULL;
			gpointer _tmp121_ = NULL;
			GeeMapEntry* _tmp122_ = NULL;
			_tmp83_ = keys;
			_tmp84_ = gee_sorted_set_floor (_tmp83_, "five");
			_tmp85_ = (gchar*) _tmp84_;
			_vala_assert (_tmp85_ == NULL, "keys.floor (\"five\") == null");
			_g_free0 (_tmp85_);
			_tmp86_ = entries;
			_tmp87_ = map_tests_entry_for ("five", "five");
			_tmp88_ = _tmp87_;
			_tmp89_ = gee_sorted_set_floor (_tmp86_, _tmp88_);
			_tmp90_ = (GeeMapEntry*) _tmp89_;
			_vala_assert (_tmp90_ == NULL, "entries.floor (MapTests.entry_for (\"five\", \"five\")) == null");
			_g_object_unref0 (_tmp90_);
			_g_object_unref0 (_tmp88_);
			_tmp91_ = keys;
			_tmp92_ = gee_sorted_set_floor (_tmp91_, "four");
			_tmp93_ = (gchar*) _tmp92_;
			_vala_assert (g_strcmp0 (_tmp93_, "four") == 0, "keys.floor (\"four\") == \"four\"");
			_g_free0 (_tmp93_);
			_tmp94_ = entries;
			_tmp95_ = map_tests_entry_for ("four", "four");
			_tmp96_ = _tmp95_;
			_tmp97_ = gee_sorted_set_floor (_tmp94_, _tmp96_);
			_tmp98_ = (GeeMapEntry*) _tmp97_;
			map_tests_assert_entry (_tmp98_, "four", "four");
			_g_object_unref0 (_tmp98_);
			_g_object_unref0 (_tmp96_);
			_tmp99_ = keys;
			_tmp100_ = gee_sorted_set_floor (_tmp99_, "one");
			_tmp101_ = (gchar*) _tmp100_;
			_vala_assert (g_strcmp0 (_tmp101_, "one") == 0, "keys.floor (\"one\") == \"one\"");
			_g_free0 (_tmp101_);
			_tmp102_ = entries;
			_tmp103_ = map_tests_entry_for ("one", "one");
			_tmp104_ = _tmp103_;
			_tmp105_ = gee_sorted_set_floor (_tmp102_, _tmp104_);
			_tmp106_ = (GeeMapEntry*) _tmp105_;
			map_tests_assert_entry (_tmp106_, "one", "one");
			_g_object_unref0 (_tmp106_);
			_g_object_unref0 (_tmp104_);
			_tmp107_ = keys;
			_tmp108_ = gee_sorted_set_floor (_tmp107_, "six");
			_tmp109_ = (gchar*) _tmp108_;
			_vala_assert (g_strcmp0 (_tmp109_, "six") == 0, "keys.floor (\"six\") == \"six\"");
			_g_free0 (_tmp109_);
			_tmp110_ = entries;
			_tmp111_ = map_tests_entry_for ("six", "six");
			_tmp112_ = _tmp111_;
			_tmp113_ = gee_sorted_set_floor (_tmp110_, _tmp112_);
			_tmp114_ = (GeeMapEntry*) _tmp113_;
			map_tests_assert_entry (_tmp114_, "six", "six");
			_g_object_unref0 (_tmp114_);
			_g_object_unref0 (_tmp112_);
			_tmp115_ = keys;
			_tmp116_ = gee_sorted_set_floor (_tmp115_, "three");
			_tmp117_ = (gchar*) _tmp116_;
			_vala_assert (g_strcmp0 (_tmp117_, "six") == 0, "keys.floor (\"three\") == \"six\"");
			_g_free0 (_tmp117_);
			_tmp118_ = entries;
			_tmp119_ = map_tests_entry_for ("three", "three");
			_tmp120_ = _tmp119_;
			_tmp121_ = gee_sorted_set_floor (_tmp118_, _tmp120_);
			_tmp122_ = (GeeMapEntry*) _tmp121_;
			map_tests_assert_entry (_tmp122_, "six", "six");
			_g_object_unref0 (_tmp122_);
			_g_object_unref0 (_tmp120_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp123_ = NULL;
			gpointer _tmp124_ = NULL;
			gchar* _tmp125_ = NULL;
			GeeSortedSet* _tmp126_ = NULL;
			GeeMapEntry* _tmp127_ = NULL;
			GeeMapEntry* _tmp128_ = NULL;
			gpointer _tmp129_ = NULL;
			GeeMapEntry* _tmp130_ = NULL;
			_tmp123_ = keys;
			_tmp124_ = gee_sorted_set_floor (_tmp123_, "six");
			_tmp125_ = (gchar*) _tmp124_;
			_vala_assert (_tmp125_ == NULL, "keys.floor (\"six\") == null");
			_g_free0 (_tmp125_);
			_tmp126_ = entries;
			_tmp127_ = map_tests_entry_for ("six", "six");
			_tmp128_ = _tmp127_;
			_tmp129_ = gee_sorted_set_floor (_tmp126_, _tmp128_);
			_tmp130_ = (GeeMapEntry*) _tmp129_;
			_vala_assert (_tmp130_ == NULL, "entries.floor (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp130_);
			_g_object_unref0 (_tmp128_);
			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_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_ = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	GeeSortedMapTestsSubMapTestsType _tmp10_ = 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;
	_tmp10_ = self->priv->type;
	switch (_tmp10_) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp11_ = NULL;
			gpointer _tmp12_ = NULL;
			gchar* _tmp13_ = NULL;
			GeeSortedSet* _tmp14_ = NULL;
			GeeMapEntry* _tmp15_ = NULL;
			GeeMapEntry* _tmp16_ = NULL;
			gpointer _tmp17_ = NULL;
			GeeMapEntry* _tmp18_ = NULL;
			GeeSortedSet* _tmp19_ = NULL;
			gpointer _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			GeeSortedSet* _tmp22_ = NULL;
			GeeMapEntry* _tmp23_ = NULL;
			GeeMapEntry* _tmp24_ = NULL;
			gpointer _tmp25_ = NULL;
			GeeMapEntry* _tmp26_ = NULL;
			GeeSortedSet* _tmp27_ = NULL;
			gpointer _tmp28_ = NULL;
			gchar* _tmp29_ = NULL;
			GeeSortedSet* _tmp30_ = NULL;
			GeeMapEntry* _tmp31_ = NULL;
			GeeMapEntry* _tmp32_ = NULL;
			gpointer _tmp33_ = NULL;
			GeeMapEntry* _tmp34_ = NULL;
			GeeSortedSet* _tmp35_ = NULL;
			gpointer _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			GeeSortedSet* _tmp38_ = NULL;
			GeeMapEntry* _tmp39_ = NULL;
			GeeMapEntry* _tmp40_ = NULL;
			gpointer _tmp41_ = NULL;
			GeeMapEntry* _tmp42_ = NULL;
			_tmp11_ = keys;
			_tmp12_ = gee_sorted_set_ceil (_tmp11_, "a");
			_tmp13_ = (gchar*) _tmp12_;
			_vala_assert (g_strcmp0 (_tmp13_, "five") == 0, "keys.ceil (\"a\") == \"five\"");
			_g_free0 (_tmp13_);
			_tmp14_ = entries;
			_tmp15_ = map_tests_entry_for ("a", "a");
			_tmp16_ = _tmp15_;
			_tmp17_ = gee_sorted_set_ceil (_tmp14_, _tmp16_);
			_tmp18_ = (GeeMapEntry*) _tmp17_;
			map_tests_assert_entry (_tmp18_, "five", "five");
			_g_object_unref0 (_tmp18_);
			_g_object_unref0 (_tmp16_);
			_tmp19_ = keys;
			_tmp20_ = gee_sorted_set_ceil (_tmp19_, "five");
			_tmp21_ = (gchar*) _tmp20_;
			_vala_assert (g_strcmp0 (_tmp21_, "five") == 0, "keys.ceil (\"five\") == \"five\"");
			_g_free0 (_tmp21_);
			_tmp22_ = entries;
			_tmp23_ = map_tests_entry_for ("five", "five");
			_tmp24_ = _tmp23_;
			_tmp25_ = gee_sorted_set_ceil (_tmp22_, _tmp24_);
			_tmp26_ = (GeeMapEntry*) _tmp25_;
			map_tests_assert_entry (_tmp26_, "five", "five");
			_g_object_unref0 (_tmp26_);
			_g_object_unref0 (_tmp24_);
			_tmp27_ = keys;
			_tmp28_ = gee_sorted_set_ceil (_tmp27_, "four");
			_tmp29_ = (gchar*) _tmp28_;
			_vala_assert (g_strcmp0 (_tmp29_, "four") == 0, "keys.ceil (\"four\") == \"four\"");
			_g_free0 (_tmp29_);
			_tmp30_ = entries;
			_tmp31_ = map_tests_entry_for ("four", "four");
			_tmp32_ = _tmp31_;
			_tmp33_ = gee_sorted_set_ceil (_tmp30_, _tmp32_);
			_tmp34_ = (GeeMapEntry*) _tmp33_;
			map_tests_assert_entry (_tmp34_, "four", "four");
			_g_object_unref0 (_tmp34_);
			_g_object_unref0 (_tmp32_);
			_tmp35_ = keys;
			_tmp36_ = gee_sorted_set_ceil (_tmp35_, "six");
			_tmp37_ = (gchar*) _tmp36_;
			_vala_assert (_tmp37_ == NULL, "keys.ceil (\"six\") == null");
			_g_free0 (_tmp37_);
			_tmp38_ = entries;
			_tmp39_ = map_tests_entry_for ("six", "six");
			_tmp40_ = _tmp39_;
			_tmp41_ = gee_sorted_set_ceil (_tmp38_, _tmp40_);
			_tmp42_ = (GeeMapEntry*) _tmp41_;
			_vala_assert (_tmp42_ == NULL, "entries.ceil (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp42_);
			_g_object_unref0 (_tmp40_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp43_ = NULL;
			gpointer _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			GeeSortedSet* _tmp46_ = NULL;
			GeeMapEntry* _tmp47_ = NULL;
			GeeMapEntry* _tmp48_ = NULL;
			gpointer _tmp49_ = NULL;
			GeeMapEntry* _tmp50_ = NULL;
			GeeSortedSet* _tmp51_ = NULL;
			gpointer _tmp52_ = NULL;
			gchar* _tmp53_ = NULL;
			GeeSortedSet* _tmp54_ = NULL;
			GeeMapEntry* _tmp55_ = NULL;
			GeeMapEntry* _tmp56_ = NULL;
			gpointer _tmp57_ = NULL;
			GeeMapEntry* _tmp58_ = NULL;
			GeeSortedSet* _tmp59_ = NULL;
			gpointer _tmp60_ = NULL;
			gchar* _tmp61_ = NULL;
			GeeSortedSet* _tmp62_ = NULL;
			GeeMapEntry* _tmp63_ = NULL;
			GeeMapEntry* _tmp64_ = NULL;
			gpointer _tmp65_ = NULL;
			GeeMapEntry* _tmp66_ = NULL;
			GeeSortedSet* _tmp67_ = NULL;
			gpointer _tmp68_ = NULL;
			gchar* _tmp69_ = NULL;
			GeeSortedSet* _tmp70_ = NULL;
			GeeMapEntry* _tmp71_ = NULL;
			GeeMapEntry* _tmp72_ = NULL;
			gpointer _tmp73_ = NULL;
			GeeMapEntry* _tmp74_ = NULL;
			GeeSortedSet* _tmp75_ = NULL;
			gpointer _tmp76_ = NULL;
			gchar* _tmp77_ = NULL;
			GeeSortedSet* _tmp78_ = NULL;
			GeeMapEntry* _tmp79_ = NULL;
			GeeMapEntry* _tmp80_ = NULL;
			gpointer _tmp81_ = NULL;
			GeeMapEntry* _tmp82_ = NULL;
			_tmp43_ = keys;
			_tmp44_ = gee_sorted_set_ceil (_tmp43_, "one");
			_tmp45_ = (gchar*) _tmp44_;
			_vala_assert (g_strcmp0 (_tmp45_, "six") == 0, "keys.ceil (\"one\") == \"six\"");
			_g_free0 (_tmp45_);
			_tmp46_ = entries;
			_tmp47_ = map_tests_entry_for ("one", "one");
			_tmp48_ = _tmp47_;
			_tmp49_ = gee_sorted_set_ceil (_tmp46_, _tmp48_);
			_tmp50_ = (GeeMapEntry*) _tmp49_;
			map_tests_assert_entry (_tmp50_, "six", "six");
			_g_object_unref0 (_tmp50_);
			_g_object_unref0 (_tmp48_);
			_tmp51_ = keys;
			_tmp52_ = gee_sorted_set_ceil (_tmp51_, "six");
			_tmp53_ = (gchar*) _tmp52_;
			_vala_assert (g_strcmp0 (_tmp53_, "six") == 0, "keys.ceil (\"six\") == \"six\"");
			_g_free0 (_tmp53_);
			_tmp54_ = entries;
			_tmp55_ = map_tests_entry_for ("six", "six");
			_tmp56_ = _tmp55_;
			_tmp57_ = gee_sorted_set_ceil (_tmp54_, _tmp56_);
			_tmp58_ = (GeeMapEntry*) _tmp57_;
			map_tests_assert_entry (_tmp58_, "six", "six");
			_g_object_unref0 (_tmp58_);
			_g_object_unref0 (_tmp56_);
			_tmp59_ = keys;
			_tmp60_ = gee_sorted_set_ceil (_tmp59_, "three");
			_tmp61_ = (gchar*) _tmp60_;
			_vala_assert (g_strcmp0 (_tmp61_, "three") == 0, "keys.ceil (\"three\") == \"three\"");
			_g_free0 (_tmp61_);
			_tmp62_ = entries;
			_tmp63_ = map_tests_entry_for ("three", "three");
			_tmp64_ = _tmp63_;
			_tmp65_ = gee_sorted_set_ceil (_tmp62_, _tmp64_);
			_tmp66_ = (GeeMapEntry*) _tmp65_;
			map_tests_assert_entry (_tmp66_, "three", "three");
			_g_object_unref0 (_tmp66_);
			_g_object_unref0 (_tmp64_);
			_tmp67_ = keys;
			_tmp68_ = gee_sorted_set_ceil (_tmp67_, "two");
			_tmp69_ = (gchar*) _tmp68_;
			_vala_assert (g_strcmp0 (_tmp69_, "two") == 0, "keys.ceil (\"two\") == \"two\"");
			_g_free0 (_tmp69_);
			_tmp70_ = entries;
			_tmp71_ = map_tests_entry_for ("two", "two");
			_tmp72_ = _tmp71_;
			_tmp73_ = gee_sorted_set_ceil (_tmp70_, _tmp72_);
			_tmp74_ = (GeeMapEntry*) _tmp73_;
			map_tests_assert_entry (_tmp74_, "two", "two");
			_g_object_unref0 (_tmp74_);
			_g_object_unref0 (_tmp72_);
			_tmp75_ = keys;
			_tmp76_ = gee_sorted_set_ceil (_tmp75_, "z");
			_tmp77_ = (gchar*) _tmp76_;
			_vala_assert (_tmp77_ == NULL, "keys.ceil (\"z\") == null");
			_g_free0 (_tmp77_);
			_tmp78_ = entries;
			_tmp79_ = map_tests_entry_for ("z", "z");
			_tmp80_ = _tmp79_;
			_tmp81_ = gee_sorted_set_ceil (_tmp78_, _tmp80_);
			_tmp82_ = (GeeMapEntry*) _tmp81_;
			_vala_assert (_tmp82_ == NULL, "entries.ceil (MapTests.entry_for (\"z\", \"z\")) == null");
			_g_object_unref0 (_tmp82_);
			_g_object_unref0 (_tmp80_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp83_ = NULL;
			gpointer _tmp84_ = NULL;
			gchar* _tmp85_ = NULL;
			GeeSortedSet* _tmp86_ = NULL;
			GeeMapEntry* _tmp87_ = NULL;
			GeeMapEntry* _tmp88_ = NULL;
			gpointer _tmp89_ = NULL;
			GeeMapEntry* _tmp90_ = NULL;
			GeeSortedSet* _tmp91_ = NULL;
			gpointer _tmp92_ = NULL;
			gchar* _tmp93_ = NULL;
			GeeSortedSet* _tmp94_ = NULL;
			GeeMapEntry* _tmp95_ = NULL;
			GeeMapEntry* _tmp96_ = NULL;
			gpointer _tmp97_ = NULL;
			GeeMapEntry* _tmp98_ = NULL;
			GeeSortedSet* _tmp99_ = NULL;
			gpointer _tmp100_ = NULL;
			gchar* _tmp101_ = NULL;
			GeeSortedSet* _tmp102_ = NULL;
			GeeMapEntry* _tmp103_ = NULL;
			GeeMapEntry* _tmp104_ = NULL;
			gpointer _tmp105_ = NULL;
			GeeMapEntry* _tmp106_ = NULL;
			GeeSortedSet* _tmp107_ = NULL;
			gpointer _tmp108_ = NULL;
			gchar* _tmp109_ = NULL;
			GeeSortedSet* _tmp110_ = NULL;
			GeeMapEntry* _tmp111_ = NULL;
			GeeMapEntry* _tmp112_ = NULL;
			gpointer _tmp113_ = NULL;
			GeeMapEntry* _tmp114_ = NULL;
			GeeSortedSet* _tmp115_ = NULL;
			gpointer _tmp116_ = NULL;
			gchar* _tmp117_ = NULL;
			GeeSortedSet* _tmp118_ = NULL;
			GeeMapEntry* _tmp119_ = NULL;
			GeeMapEntry* _tmp120_ = NULL;
			gpointer _tmp121_ = NULL;
			GeeMapEntry* _tmp122_ = NULL;
			_tmp83_ = keys;
			_tmp84_ = gee_sorted_set_ceil (_tmp83_, "five");
			_tmp85_ = (gchar*) _tmp84_;
			_vala_assert (g_strcmp0 (_tmp85_, "four") == 0, "keys.ceil (\"five\") == \"four\"");
			_g_free0 (_tmp85_);
			_tmp86_ = entries;
			_tmp87_ = map_tests_entry_for ("five", "five");
			_tmp88_ = _tmp87_;
			_tmp89_ = gee_sorted_set_ceil (_tmp86_, _tmp88_);
			_tmp90_ = (GeeMapEntry*) _tmp89_;
			map_tests_assert_entry (_tmp90_, "four", "four");
			_g_object_unref0 (_tmp90_);
			_g_object_unref0 (_tmp88_);
			_tmp91_ = keys;
			_tmp92_ = gee_sorted_set_ceil (_tmp91_, "four");
			_tmp93_ = (gchar*) _tmp92_;
			_vala_assert (g_strcmp0 (_tmp93_, "four") == 0, "keys.ceil (\"four\") == \"four\"");
			_g_free0 (_tmp93_);
			_tmp94_ = entries;
			_tmp95_ = map_tests_entry_for ("four", "four");
			_tmp96_ = _tmp95_;
			_tmp97_ = gee_sorted_set_ceil (_tmp94_, _tmp96_);
			_tmp98_ = (GeeMapEntry*) _tmp97_;
			map_tests_assert_entry (_tmp98_, "four", "four");
			_g_object_unref0 (_tmp98_);
			_g_object_unref0 (_tmp96_);
			_tmp99_ = keys;
			_tmp100_ = gee_sorted_set_ceil (_tmp99_, "one");
			_tmp101_ = (gchar*) _tmp100_;
			_vala_assert (g_strcmp0 (_tmp101_, "one") == 0, "keys.ceil (\"one\") == \"one\"");
			_g_free0 (_tmp101_);
			_tmp102_ = entries;
			_tmp103_ = map_tests_entry_for ("one", "one");
			_tmp104_ = _tmp103_;
			_tmp105_ = gee_sorted_set_ceil (_tmp102_, _tmp104_);
			_tmp106_ = (GeeMapEntry*) _tmp105_;
			map_tests_assert_entry (_tmp106_, "one", "one");
			_g_object_unref0 (_tmp106_);
			_g_object_unref0 (_tmp104_);
			_tmp107_ = keys;
			_tmp108_ = gee_sorted_set_ceil (_tmp107_, "six");
			_tmp109_ = (gchar*) _tmp108_;
			_vala_assert (g_strcmp0 (_tmp109_, "six") == 0, "keys.ceil (\"six\") == \"six\"");
			_g_free0 (_tmp109_);
			_tmp110_ = entries;
			_tmp111_ = map_tests_entry_for ("six", "six");
			_tmp112_ = _tmp111_;
			_tmp113_ = gee_sorted_set_ceil (_tmp110_, _tmp112_);
			_tmp114_ = (GeeMapEntry*) _tmp113_;
			map_tests_assert_entry (_tmp114_, "six", "six");
			_g_object_unref0 (_tmp114_);
			_g_object_unref0 (_tmp112_);
			_tmp115_ = keys;
			_tmp116_ = gee_sorted_set_ceil (_tmp115_, "three");
			_tmp117_ = (gchar*) _tmp116_;
			_vala_assert (_tmp117_ == NULL, "keys.ceil (\"three\") == null");
			_g_free0 (_tmp117_);
			_tmp118_ = entries;
			_tmp119_ = map_tests_entry_for ("three", "three");
			_tmp120_ = _tmp119_;
			_tmp121_ = gee_sorted_set_ceil (_tmp118_, _tmp120_);
			_tmp122_ = (GeeMapEntry*) _tmp121_;
			_vala_assert (_tmp122_ == NULL, "entries.ceil (MapTests.entry_for (\"three\", \"three\")) == null");
			_g_object_unref0 (_tmp122_);
			_g_object_unref0 (_tmp120_);
			break;
		}
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp123_ = NULL;
			gpointer _tmp124_ = NULL;
			gchar* _tmp125_ = NULL;
			GeeSortedSet* _tmp126_ = NULL;
			GeeMapEntry* _tmp127_ = NULL;
			GeeMapEntry* _tmp128_ = NULL;
			gpointer _tmp129_ = NULL;
			GeeMapEntry* _tmp130_ = NULL;
			_tmp123_ = keys;
			_tmp124_ = gee_sorted_set_ceil (_tmp123_, "six");
			_tmp125_ = (gchar*) _tmp124_;
			_vala_assert (_tmp125_ == NULL, "keys.ceil (\"six\") == null");
			_g_free0 (_tmp125_);
			_tmp126_ = entries;
			_tmp127_ = map_tests_entry_for ("six", "six");
			_tmp128_ = _tmp127_;
			_tmp129_ = gee_sorted_set_ceil (_tmp126_, _tmp128_);
			_tmp130_ = (GeeMapEntry*) _tmp129_;
			_vala_assert (_tmp130_ == NULL, "entries.ceil (MapTests.entry_for (\"six\", \"six\")) == null");
			_g_object_unref0 (_tmp130_);
			_g_object_unref0 (_tmp128_);
			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_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_ = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	gchar** _tmp10_ = NULL;
	gint _tmp10__length1 = 0;
	gchar** _tmp32_ = NULL;
	gint _tmp32__length1 = 0;
	GeeSortedSet* _tmp46_ = NULL;
	GeeIterator* _tmp47_ = NULL;
	GeeIterator* _tmp48_ = NULL;
	GeeSortedSet* _tmp49_ = NULL;
	GeeMapEntry* _tmp50_ = NULL;
	GeeMapEntry* _tmp51_ = NULL;
	GeeIterator* _tmp52_ = NULL;
	GeeIterator* _tmp53_ = NULL;
	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 < _tmp10__length1; s_it = s_it + 1) {
			gchar* _tmp11_ = NULL;
			gchar* s = NULL;
			_tmp11_ = g_strdup (s_collection[s_it]);
			s = _tmp11_;
			{
				GeeIterator* key_iter = NULL;
				GeeSortedSet* _tmp12_ = NULL;
				const gchar* _tmp13_ = NULL;
				GeeIterator* _tmp14_ = NULL;
				GeeIterator* entry_iter = NULL;
				GeeSortedSet* _tmp15_ = NULL;
				const gchar* _tmp16_ = NULL;
				const gchar* _tmp17_ = NULL;
				GeeMapEntry* _tmp18_ = NULL;
				GeeMapEntry* _tmp19_ = NULL;
				GeeIterator* _tmp20_ = NULL;
				GeeIterator* _tmp21_ = NULL;
				GeeIterator* _tmp22_ = NULL;
				GeeIterator* _tmp23_ = NULL;
				gpointer _tmp24_ = NULL;
				gchar* _tmp25_ = NULL;
				const gchar* _tmp26_ = NULL;
				GeeIterator* _tmp27_ = NULL;
				gpointer _tmp28_ = NULL;
				GeeMapEntry* _tmp29_ = NULL;
				const gchar* _tmp30_ = NULL;
				const gchar* _tmp31_ = NULL;
				_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 < _tmp32__length1; s_it = s_it + 1) {
			gchar* _tmp33_ = NULL;
			gchar* s = NULL;
			_tmp33_ = g_strdup (s_collection[s_it]);
			s = _tmp33_;
			{
				GeeIterator* key_iter = NULL;
				GeeSortedSet* _tmp34_ = NULL;
				const gchar* _tmp35_ = NULL;
				GeeIterator* _tmp36_ = NULL;
				GeeIterator* entry_iter = NULL;
				GeeSortedSet* _tmp37_ = NULL;
				const gchar* _tmp38_ = NULL;
				const gchar* _tmp39_ = NULL;
				GeeMapEntry* _tmp40_ = NULL;
				GeeMapEntry* _tmp41_ = NULL;
				GeeIterator* _tmp42_ = NULL;
				GeeIterator* _tmp43_ = NULL;
				GeeIterator* _tmp44_ = NULL;
				GeeIterator* _tmp45_ = NULL;
				_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_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	GeeSortedSet* _tmp2_ = NULL;
	GeeSortedSet* entries = NULL;
	GeeSortedMap* _tmp3_ = NULL;
	GeeSortedSet* _tmp4_ = NULL;
	GeeSortedSet* _tmp5_ = NULL;
	gchar** _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gchar** _tmp8_ = NULL;
	gint _tmp9_ = 0;
	GeeSortedMapTestsSubMapTestsType _tmp10_ = 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;
	_tmp10_ = self->priv->type;
	switch (_tmp10_) {
		case GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_TYPE_HEAD:
		{
			GeeSortedMap* subsubmap = NULL;
			GeeSortedMap* _tmp11_ = NULL;
			GeeSortedMap* _tmp12_ = NULL;
			GeeSortedSet* keyssubset = NULL;
			GeeSortedSet* _tmp13_ = NULL;
			GeeSortedSet* _tmp14_ = NULL;
			GeeSortedSet* entriessubset = NULL;
			GeeSortedSet* _tmp15_ = NULL;
			GeeMapEntry* _tmp16_ = NULL;
			GeeMapEntry* _tmp17_ = NULL;
			GeeSortedSet* _tmp18_ = NULL;
			GeeSortedSet* _tmp19_ = NULL;
			GeeSortedMap* _tmp20_ = NULL;
			gint _tmp21_ = 0;
			gint _tmp22_ = 0;
			GeeSortedSet* _tmp23_ = NULL;
			gint _tmp24_ = 0;
			gint _tmp25_ = 0;
			GeeSortedSet* _tmp26_ = NULL;
			gint _tmp27_ = 0;
			gint _tmp28_ = 0;
			GeeSortedMap* _tmp29_ = NULL;
			GeeSortedMap* _tmp30_ = NULL;
			GeeSortedSet* _tmp31_ = NULL;
			GeeSortedSet* _tmp32_ = NULL;
			GeeSortedSet* _tmp33_ = NULL;
			GeeMapEntry* _tmp34_ = NULL;
			GeeMapEntry* _tmp35_ = NULL;
			GeeSortedSet* _tmp36_ = NULL;
			GeeSortedMap* _tmp37_ = NULL;
			gint _tmp38_ = 0;
			gint _tmp39_ = 0;
			GeeSortedSet* _tmp40_ = NULL;
			gint _tmp41_ = 0;
			gint _tmp42_ = 0;
			GeeSortedSet* _tmp43_ = NULL;
			gint _tmp44_ = 0;
			gint _tmp45_ = 0;
			GeeSortedMap* _tmp46_ = NULL;
			GeeSortedMap* _tmp47_ = NULL;
			GeeSortedSet* _tmp48_ = NULL;
			GeeSortedSet* _tmp49_ = NULL;
			GeeSortedSet* _tmp50_ = NULL;
			GeeMapEntry* _tmp51_ = NULL;
			GeeMapEntry* _tmp52_ = NULL;
			GeeMapEntry* _tmp53_ = NULL;
			GeeMapEntry* _tmp54_ = NULL;
			GeeSortedSet* _tmp55_ = NULL;
			GeeSortedMap* _tmp56_ = NULL;
			gint _tmp57_ = 0;
			gint _tmp58_ = 0;
			GeeSortedSet* _tmp59_ = NULL;
			gint _tmp60_ = 0;
			gint _tmp61_ = 0;
			GeeSortedSet* _tmp62_ = NULL;
			gint _tmp63_ = 0;
			gint _tmp64_ = 0;
			GeeSortedMap* _tmp65_ = NULL;
			GeeSortedMap* _tmp66_ = NULL;
			GeeSortedSet* _tmp67_ = NULL;
			GeeSortedSet* _tmp68_ = NULL;
			GeeSortedSet* _tmp69_ = NULL;
			GeeMapEntry* _tmp70_ = NULL;
			GeeMapEntry* _tmp71_ = NULL;
			GeeMapEntry* _tmp72_ = NULL;
			GeeMapEntry* _tmp73_ = NULL;
			GeeSortedSet* _tmp74_ = NULL;
			GeeSortedMap* _tmp75_ = NULL;
			gint _tmp76_ = 0;
			gint _tmp77_ = 0;
			GeeSortedSet* _tmp78_ = NULL;
			gint _tmp79_ = 0;
			gint _tmp80_ = 0;
			GeeSortedSet* _tmp81_ = NULL;
			gint _tmp82_ = 0;
			gint _tmp83_ = 0;
			_tmp11_ = self->priv->submap;
			_tmp12_ = gee_sorted_map_head_map (_tmp11_, "four");
			subsubmap = _tmp12_;
			_tmp13_ = keys;
			_tmp14_ = gee_sorted_set_head_set (_tmp13_, "four");
			keyssubset = _tmp14_;
			_tmp15_ = entries;
			_tmp16_ = map_tests_entry_for ("four", "four");
			_tmp17_ = _tmp16_;
			_tmp18_ = gee_sorted_set_head_set (_tmp15_, _tmp17_);
			_tmp19_ = _tmp18_;
			_g_object_unref0 (_tmp17_);
			entriessubset = _tmp19_;
			_tmp20_ = subsubmap;
			_tmp21_ = gee_map_get_size ((GeeMap*) _tmp20_);
			_tmp22_ = _tmp21_;
			_vala_assert (_tmp22_ == 1, "subsubmap.size == 1");
			_tmp23_ = keyssubset;
			_tmp24_ = gee_collection_get_size ((GeeCollection*) _tmp23_);
			_tmp25_ = _tmp24_;
			_vala_assert (_tmp25_ == 1, "keyssubset.size == 1");
			_tmp26_ = entriessubset;
			_tmp27_ = gee_collection_get_size ((GeeCollection*) _tmp26_);
			_tmp28_ = _tmp27_;
			_vala_assert (_tmp28_ == 1, "entriessubset.size == 1");
			_tmp29_ = self->priv->submap;
			_tmp30_ = gee_sorted_map_tail_map (_tmp29_, "four");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp30_;
			_tmp31_ = keys;
			_tmp32_ = gee_sorted_set_tail_set (_tmp31_, "four");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp32_;
			_tmp33_ = entries;
			_tmp34_ = map_tests_entry_for ("four", "four");
			_tmp35_ = _tmp34_;
			_tmp36_ = gee_sorted_set_tail_set (_tmp33_, _tmp35_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp36_;
			_g_object_unref0 (_tmp35_);
			_tmp37_ = subsubmap;
			_tmp38_ = gee_map_get_size ((GeeMap*) _tmp37_);
			_tmp39_ = _tmp38_;
			_vala_assert (_tmp39_ == 1, "subsubmap.size == 1");
			_tmp40_ = keyssubset;
			_tmp41_ = gee_collection_get_size ((GeeCollection*) _tmp40_);
			_tmp42_ = _tmp41_;
			_vala_assert (_tmp42_ == 1, "keyssubset.size == 1");
			_tmp43_ = entriessubset;
			_tmp44_ = gee_collection_get_size ((GeeCollection*) _tmp43_);
			_tmp45_ = _tmp44_;
			_vala_assert (_tmp45_ == 1, "entriessubset.size == 1");
			_tmp46_ = self->priv->submap;
			_tmp47_ = gee_sorted_map_sub_map (_tmp46_, "four", "one");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp47_;
			_tmp48_ = keys;
			_tmp49_ = gee_sorted_set_sub_set (_tmp48_, "four", "one");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp49_;
			_tmp50_ = entries;
			_tmp51_ = map_tests_entry_for ("four", "four");
			_tmp52_ = _tmp51_;
			_tmp53_ = map_tests_entry_for ("one", "one");
			_tmp54_ = _tmp53_;
			_tmp55_ = gee_sorted_set_sub_set (_tmp50_, _tmp52_, _tmp54_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp55_;
			_g_object_unref0 (_tmp54_);
			_g_object_unref0 (_tmp52_);
			_tmp56_ = subsubmap;
			_tmp57_ = gee_map_get_size ((GeeMap*) _tmp56_);
			_tmp58_ = _tmp57_;
			_vala_assert (_tmp58_ == 1, "subsubmap.size == 1");
			_tmp59_ = keyssubset;
			_tmp60_ = gee_collection_get_size ((GeeCollection*) _tmp59_);
			_tmp61_ = _tmp60_;
			_vala_assert (_tmp61_ == 1, "keyssubset.size == 1");
			_tmp62_ = entriessubset;
			_tmp63_ = gee_collection_get_size ((GeeCollection*) _tmp62_);
			_tmp64_ = _tmp63_;
			_vala_assert (_tmp64_ == 1, "entriessubset.size == 1");
			_tmp65_ = self->priv->submap;
			_tmp66_ = gee_sorted_map_sub_map (_tmp65_, "four", "four");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp66_;
			_tmp67_ = keys;
			_tmp68_ = gee_sorted_set_sub_set (_tmp67_, "four", "four");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp68_;
			_tmp69_ = entries;
			_tmp70_ = map_tests_entry_for ("four", "four");
			_tmp71_ = _tmp70_;
			_tmp72_ = map_tests_entry_for ("four", "four");
			_tmp73_ = _tmp72_;
			_tmp74_ = gee_sorted_set_sub_set (_tmp69_, _tmp71_, _tmp73_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp74_;
			_g_object_unref0 (_tmp73_);
			_g_object_unref0 (_tmp71_);
			_tmp75_ = subsubmap;
			_tmp76_ = gee_map_get_size ((GeeMap*) _tmp75_);
			_tmp77_ = _tmp76_;
			_vala_assert (_tmp77_ == 0, "subsubmap.size == 0");
			_tmp78_ = keyssubset;
			_tmp79_ = gee_collection_get_size ((GeeCollection*) _tmp78_);
			_tmp80_ = _tmp79_;
			_vala_assert (_tmp80_ == 0, "keyssubset.size == 0");
			_tmp81_ = entriessubset;
			_tmp82_ = gee_collection_get_size ((GeeCollection*) _tmp81_);
			_tmp83_ = _tmp82_;
			_vala_assert (_tmp83_ == 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* _tmp84_ = NULL;
			GeeSortedMap* _tmp85_ = NULL;
			GeeSortedSet* keyssubset = NULL;
			GeeSortedSet* _tmp86_ = NULL;
			GeeSortedSet* _tmp87_ = NULL;
			GeeSortedSet* entriessubset = NULL;
			GeeSortedSet* _tmp88_ = NULL;
			GeeMapEntry* _tmp89_ = NULL;
			GeeMapEntry* _tmp90_ = NULL;
			GeeSortedSet* _tmp91_ = NULL;
			GeeSortedSet* _tmp92_ = NULL;
			GeeSortedMap* _tmp93_ = NULL;
			gint _tmp94_ = 0;
			gint _tmp95_ = 0;
			GeeSortedSet* _tmp96_ = NULL;
			gint _tmp97_ = 0;
			gint _tmp98_ = 0;
			GeeSortedSet* _tmp99_ = NULL;
			gint _tmp100_ = 0;
			gint _tmp101_ = 0;
			GeeSortedMap* _tmp102_ = NULL;
			GeeSortedMap* _tmp103_ = NULL;
			GeeSortedSet* _tmp104_ = NULL;
			GeeSortedSet* _tmp105_ = NULL;
			GeeSortedSet* _tmp106_ = NULL;
			GeeMapEntry* _tmp107_ = NULL;
			GeeMapEntry* _tmp108_ = NULL;
			GeeSortedSet* _tmp109_ = NULL;
			GeeSortedMap* _tmp110_ = NULL;
			gint _tmp111_ = 0;
			gint _tmp112_ = 0;
			GeeSortedSet* _tmp113_ = NULL;
			gint _tmp114_ = 0;
			gint _tmp115_ = 0;
			GeeSortedSet* _tmp116_ = NULL;
			gint _tmp117_ = 0;
			gint _tmp118_ = 0;
			GeeSortedMap* _tmp119_ = NULL;
			GeeSortedMap* _tmp120_ = NULL;
			GeeSortedSet* _tmp121_ = NULL;
			GeeSortedSet* _tmp122_ = NULL;
			GeeSortedSet* _tmp123_ = NULL;
			GeeMapEntry* _tmp124_ = NULL;
			GeeMapEntry* _tmp125_ = NULL;
			GeeMapEntry* _tmp126_ = NULL;
			GeeMapEntry* _tmp127_ = NULL;
			GeeSortedSet* _tmp128_ = NULL;
			GeeSortedMap* _tmp129_ = NULL;
			gint _tmp130_ = 0;
			gint _tmp131_ = 0;
			GeeSortedSet* _tmp132_ = NULL;
			gint _tmp133_ = 0;
			gint _tmp134_ = 0;
			GeeSortedSet* _tmp135_ = NULL;
			gint _tmp136_ = 0;
			gint _tmp137_ = 0;
			_tmp84_ = self->priv->submap;
			_tmp85_ = gee_sorted_map_head_map (_tmp84_, "two");
			subsubmap = _tmp85_;
			_tmp86_ = keys;
			_tmp87_ = gee_sorted_set_head_set (_tmp86_, "two");
			keyssubset = _tmp87_;
			_tmp88_ = entries;
			_tmp89_ = map_tests_entry_for ("two", "two");
			_tmp90_ = _tmp89_;
			_tmp91_ = gee_sorted_set_head_set (_tmp88_, _tmp90_);
			_tmp92_ = _tmp91_;
			_g_object_unref0 (_tmp90_);
			entriessubset = _tmp92_;
			_tmp93_ = subsubmap;
			_tmp94_ = gee_map_get_size ((GeeMap*) _tmp93_);
			_tmp95_ = _tmp94_;
			_vala_assert (_tmp95_ == 2, "subsubmap.size == 2");
			_tmp96_ = keyssubset;
			_tmp97_ = gee_collection_get_size ((GeeCollection*) _tmp96_);
			_tmp98_ = _tmp97_;
			_vala_assert (_tmp98_ == 2, "keyssubset.size == 2");
			_tmp99_ = entriessubset;
			_tmp100_ = gee_collection_get_size ((GeeCollection*) _tmp99_);
			_tmp101_ = _tmp100_;
			_vala_assert (_tmp101_ == 2, "entriessubset.size == 2");
			_tmp102_ = self->priv->submap;
			_tmp103_ = gee_sorted_map_tail_map (_tmp102_, "three");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp103_;
			_tmp104_ = keys;
			_tmp105_ = gee_sorted_set_tail_set (_tmp104_, "three");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp105_;
			_tmp106_ = entries;
			_tmp107_ = map_tests_entry_for ("three", "three");
			_tmp108_ = _tmp107_;
			_tmp109_ = gee_sorted_set_tail_set (_tmp106_, _tmp108_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp109_;
			_g_object_unref0 (_tmp108_);
			_tmp110_ = subsubmap;
			_tmp111_ = gee_map_get_size ((GeeMap*) _tmp110_);
			_tmp112_ = _tmp111_;
			_vala_assert (_tmp112_ == 2, "subsubmap.size == 2");
			_tmp113_ = keyssubset;
			_tmp114_ = gee_collection_get_size ((GeeCollection*) _tmp113_);
			_tmp115_ = _tmp114_;
			_vala_assert (_tmp115_ == 2, "keyssubset.size == 2");
			_tmp116_ = entriessubset;
			_tmp117_ = gee_collection_get_size ((GeeCollection*) _tmp116_);
			_tmp118_ = _tmp117_;
			_vala_assert (_tmp118_ == 2, "entriessubset.size == 2");
			_tmp119_ = self->priv->submap;
			_tmp120_ = gee_sorted_map_sub_map (_tmp119_, "three", "two");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp120_;
			_tmp121_ = keys;
			_tmp122_ = gee_sorted_set_sub_set (_tmp121_, "three", "two");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp122_;
			_tmp123_ = entries;
			_tmp124_ = map_tests_entry_for ("three", "three");
			_tmp125_ = _tmp124_;
			_tmp126_ = map_tests_entry_for ("two", "two");
			_tmp127_ = _tmp126_;
			_tmp128_ = gee_sorted_set_sub_set (_tmp123_, _tmp125_, _tmp127_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp128_;
			_g_object_unref0 (_tmp127_);
			_g_object_unref0 (_tmp125_);
			_tmp129_ = subsubmap;
			_tmp130_ = gee_map_get_size ((GeeMap*) _tmp129_);
			_tmp131_ = _tmp130_;
			_vala_assert (_tmp131_ == 1, "subsubmap.size == 1");
			_tmp132_ = keyssubset;
			_tmp133_ = gee_collection_get_size ((GeeCollection*) _tmp132_);
			_tmp134_ = _tmp133_;
			_vala_assert (_tmp134_ == 1, "keyssubset.size == 1");
			_tmp135_ = entriessubset;
			_tmp136_ = gee_collection_get_size ((GeeCollection*) _tmp135_);
			_tmp137_ = _tmp136_;
			_vala_assert (_tmp137_ == 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* _tmp138_ = NULL;
			GeeSortedMap* _tmp139_ = NULL;
			GeeSortedSet* keyssubset = NULL;
			GeeSortedSet* _tmp140_ = NULL;
			GeeSortedSet* _tmp141_ = NULL;
			GeeSortedSet* entriessubset = NULL;
			GeeSortedSet* _tmp142_ = NULL;
			GeeMapEntry* _tmp143_ = NULL;
			GeeMapEntry* _tmp144_ = NULL;
			GeeSortedSet* _tmp145_ = NULL;
			GeeSortedSet* _tmp146_ = NULL;
			GeeSortedMap* _tmp147_ = NULL;
			gint _tmp148_ = 0;
			gint _tmp149_ = 0;
			GeeSortedSet* _tmp150_ = NULL;
			gint _tmp151_ = 0;
			gint _tmp152_ = 0;
			GeeSortedSet* _tmp153_ = NULL;
			gint _tmp154_ = 0;
			gint _tmp155_ = 0;
			GeeSortedMap* _tmp156_ = NULL;
			GeeSortedMap* _tmp157_ = NULL;
			GeeSortedSet* _tmp158_ = NULL;
			GeeSortedSet* _tmp159_ = NULL;
			GeeSortedSet* _tmp160_ = NULL;
			GeeMapEntry* _tmp161_ = NULL;
			GeeMapEntry* _tmp162_ = NULL;
			GeeSortedSet* _tmp163_ = NULL;
			GeeSortedMap* _tmp164_ = NULL;
			gint _tmp165_ = 0;
			gint _tmp166_ = 0;
			GeeSortedSet* _tmp167_ = NULL;
			gint _tmp168_ = 0;
			gint _tmp169_ = 0;
			GeeSortedSet* _tmp170_ = NULL;
			gint _tmp171_ = 0;
			gint _tmp172_ = 0;
			GeeSortedMap* _tmp173_ = NULL;
			GeeSortedMap* _tmp174_ = NULL;
			GeeSortedSet* _tmp175_ = NULL;
			GeeSortedSet* _tmp176_ = NULL;
			GeeSortedSet* _tmp177_ = NULL;
			GeeMapEntry* _tmp178_ = NULL;
			GeeMapEntry* _tmp179_ = NULL;
			GeeMapEntry* _tmp180_ = NULL;
			GeeMapEntry* _tmp181_ = NULL;
			GeeSortedSet* _tmp182_ = NULL;
			GeeSortedMap* _tmp183_ = NULL;
			gint _tmp184_ = 0;
			gint _tmp185_ = 0;
			GeeSortedSet* _tmp186_ = NULL;
			gint _tmp187_ = 0;
			gint _tmp188_ = 0;
			GeeSortedSet* _tmp189_ = NULL;
			gint _tmp190_ = 0;
			gint _tmp191_ = 0;
			GeeSortedMap* _tmp192_ = NULL;
			GeeSortedMap* _tmp193_ = NULL;
			GeeSortedSet* _tmp194_ = NULL;
			GeeSortedSet* _tmp195_ = NULL;
			GeeSortedSet* _tmp196_ = NULL;
			GeeMapEntry* _tmp197_ = NULL;
			GeeMapEntry* _tmp198_ = NULL;
			GeeMapEntry* _tmp199_ = NULL;
			GeeMapEntry* _tmp200_ = NULL;
			GeeSortedSet* _tmp201_ = NULL;
			GeeSortedMap* _tmp202_ = NULL;
			gint _tmp203_ = 0;
			gint _tmp204_ = 0;
			GeeSortedSet* _tmp205_ = NULL;
			gint _tmp206_ = 0;
			gint _tmp207_ = 0;
			GeeSortedSet* _tmp208_ = NULL;
			gint _tmp209_ = 0;
			gint _tmp210_ = 0;
			_tmp138_ = self->priv->submap;
			_tmp139_ = gee_sorted_map_head_map (_tmp138_, "six");
			subsubmap = _tmp139_;
			_tmp140_ = keys;
			_tmp141_ = gee_sorted_set_head_set (_tmp140_, "six");
			keyssubset = _tmp141_;
			_tmp142_ = entries;
			_tmp143_ = map_tests_entry_for ("six", "six");
			_tmp144_ = _tmp143_;
			_tmp145_ = gee_sorted_set_head_set (_tmp142_, _tmp144_);
			_tmp146_ = _tmp145_;
			_g_object_unref0 (_tmp144_);
			entriessubset = _tmp146_;
			_tmp147_ = subsubmap;
			_tmp148_ = gee_map_get_size ((GeeMap*) _tmp147_);
			_tmp149_ = _tmp148_;
			_vala_assert (_tmp149_ == 2, "subsubmap.size == 2");
			_tmp150_ = keyssubset;
			_tmp151_ = gee_collection_get_size ((GeeCollection*) _tmp150_);
			_tmp152_ = _tmp151_;
			_vala_assert (_tmp152_ == 2, "keyssubset.size == 2");
			_tmp153_ = entriessubset;
			_tmp154_ = gee_collection_get_size ((GeeCollection*) _tmp153_);
			_tmp155_ = _tmp154_;
			_vala_assert (_tmp155_ == 2, "entriessubset.size == 2");
			_tmp156_ = self->priv->submap;
			_tmp157_ = gee_sorted_map_tail_map (_tmp156_, "one");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp157_;
			_tmp158_ = keys;
			_tmp159_ = gee_sorted_set_tail_set (_tmp158_, "one");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp159_;
			_tmp160_ = entries;
			_tmp161_ = map_tests_entry_for ("one", "one");
			_tmp162_ = _tmp161_;
			_tmp163_ = gee_sorted_set_tail_set (_tmp160_, _tmp162_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp163_;
			_g_object_unref0 (_tmp162_);
			_tmp164_ = subsubmap;
			_tmp165_ = gee_map_get_size ((GeeMap*) _tmp164_);
			_tmp166_ = _tmp165_;
			_vala_assert (_tmp166_ == 2, "subsubmap.size == 2");
			_tmp167_ = keyssubset;
			_tmp168_ = gee_collection_get_size ((GeeCollection*) _tmp167_);
			_tmp169_ = _tmp168_;
			_vala_assert (_tmp169_ == 2, "keyssubset.size == 2");
			_tmp170_ = entriessubset;
			_tmp171_ = gee_collection_get_size ((GeeCollection*) _tmp170_);
			_tmp172_ = _tmp171_;
			_vala_assert (_tmp172_ == 2, "entriessubset.size == 2");
			_tmp173_ = self->priv->submap;
			_tmp174_ = gee_sorted_map_sub_map (_tmp173_, "one", "six");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp174_;
			_tmp175_ = keys;
			_tmp176_ = gee_sorted_set_sub_set (_tmp175_, "one", "six");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp176_;
			_tmp177_ = entries;
			_tmp178_ = map_tests_entry_for ("one", "one");
			_tmp179_ = _tmp178_;
			_tmp180_ = map_tests_entry_for ("six", "six");
			_tmp181_ = _tmp180_;
			_tmp182_ = gee_sorted_set_sub_set (_tmp177_, _tmp179_, _tmp181_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp182_;
			_g_object_unref0 (_tmp181_);
			_g_object_unref0 (_tmp179_);
			_tmp183_ = subsubmap;
			_tmp184_ = gee_map_get_size ((GeeMap*) _tmp183_);
			_tmp185_ = _tmp184_;
			_vala_assert (_tmp185_ == 1, "subsubmap.size == 1");
			_tmp186_ = keyssubset;
			_tmp187_ = gee_collection_get_size ((GeeCollection*) _tmp186_);
			_tmp188_ = _tmp187_;
			_vala_assert (_tmp188_ == 1, "keyssubset.size == 1");
			_tmp189_ = entriessubset;
			_tmp190_ = gee_collection_get_size ((GeeCollection*) _tmp189_);
			_tmp191_ = _tmp190_;
			_vala_assert (_tmp191_ == 1, "entriessubset.size == 1");
			_tmp192_ = self->priv->submap;
			_tmp193_ = gee_sorted_map_sub_map (_tmp192_, "five", "two");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp193_;
			_tmp194_ = keys;
			_tmp195_ = gee_sorted_set_sub_set (_tmp194_, "five", "two");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp195_;
			_tmp196_ = entries;
			_tmp197_ = map_tests_entry_for ("five", "five");
			_tmp198_ = _tmp197_;
			_tmp199_ = map_tests_entry_for ("two", "two");
			_tmp200_ = _tmp199_;
			_tmp201_ = gee_sorted_set_sub_set (_tmp196_, _tmp198_, _tmp200_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp201_;
			_g_object_unref0 (_tmp200_);
			_g_object_unref0 (_tmp198_);
			_tmp202_ = subsubmap;
			_tmp203_ = gee_map_get_size ((GeeMap*) _tmp202_);
			_tmp204_ = _tmp203_;
			_vala_assert (_tmp204_ == 3, "subsubmap.size == 3");
			_tmp205_ = keyssubset;
			_tmp206_ = gee_collection_get_size ((GeeCollection*) _tmp205_);
			_tmp207_ = _tmp206_;
			_vala_assert (_tmp207_ == 3, "keyssubset.size == 3");
			_tmp208_ = entriessubset;
			_tmp209_ = gee_collection_get_size ((GeeCollection*) _tmp208_);
			_tmp210_ = _tmp209_;
			_vala_assert (_tmp210_ == 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* _tmp211_ = NULL;
			GeeSortedMap* _tmp212_ = NULL;
			GeeSortedSet* keyssubset = NULL;
			GeeSortedSet* _tmp213_ = NULL;
			GeeSortedSet* _tmp214_ = NULL;
			GeeSortedSet* entriessubset = NULL;
			GeeSortedSet* _tmp215_ = NULL;
			GeeMapEntry* _tmp216_ = NULL;
			GeeMapEntry* _tmp217_ = NULL;
			GeeSortedSet* _tmp218_ = NULL;
			GeeSortedSet* _tmp219_ = NULL;
			GeeSortedMap* _tmp220_ = NULL;
			gint _tmp221_ = 0;
			gint _tmp222_ = 0;
			GeeSortedSet* _tmp223_ = NULL;
			gint _tmp224_ = 0;
			gint _tmp225_ = 0;
			GeeSortedSet* _tmp226_ = NULL;
			gint _tmp227_ = 0;
			gint _tmp228_ = 0;
			GeeSortedMap* _tmp229_ = NULL;
			GeeSortedMap* _tmp230_ = NULL;
			GeeSortedSet* _tmp231_ = NULL;
			GeeSortedSet* _tmp232_ = NULL;
			GeeSortedSet* _tmp233_ = NULL;
			GeeMapEntry* _tmp234_ = NULL;
			GeeMapEntry* _tmp235_ = NULL;
			GeeSortedSet* _tmp236_ = NULL;
			GeeSortedMap* _tmp237_ = NULL;
			gint _tmp238_ = 0;
			gint _tmp239_ = 0;
			GeeSortedSet* _tmp240_ = NULL;
			gint _tmp241_ = 0;
			gint _tmp242_ = 0;
			GeeSortedSet* _tmp243_ = NULL;
			gint _tmp244_ = 0;
			gint _tmp245_ = 0;
			GeeSortedMap* _tmp246_ = NULL;
			GeeSortedMap* _tmp247_ = NULL;
			GeeSortedSet* _tmp248_ = NULL;
			GeeSortedSet* _tmp249_ = NULL;
			GeeSortedSet* _tmp250_ = NULL;
			GeeMapEntry* _tmp251_ = NULL;
			GeeMapEntry* _tmp252_ = NULL;
			GeeMapEntry* _tmp253_ = NULL;
			GeeMapEntry* _tmp254_ = NULL;
			GeeSortedSet* _tmp255_ = NULL;
			GeeSortedMap* _tmp256_ = NULL;
			gint _tmp257_ = 0;
			gint _tmp258_ = 0;
			GeeSortedSet* _tmp259_ = NULL;
			gint _tmp260_ = 0;
			gint _tmp261_ = 0;
			GeeSortedSet* _tmp262_ = NULL;
			gint _tmp263_ = 0;
			gint _tmp264_ = 0;
			_tmp211_ = self->priv->submap;
			_tmp212_ = gee_sorted_map_head_map (_tmp211_, "six");
			subsubmap = _tmp212_;
			_tmp213_ = keys;
			_tmp214_ = gee_sorted_set_head_set (_tmp213_, "six");
			keyssubset = _tmp214_;
			_tmp215_ = entries;
			_tmp216_ = map_tests_entry_for ("six", "six");
			_tmp217_ = _tmp216_;
			_tmp218_ = gee_sorted_set_head_set (_tmp215_, _tmp217_);
			_tmp219_ = _tmp218_;
			_g_object_unref0 (_tmp217_);
			entriessubset = _tmp219_;
			_tmp220_ = subsubmap;
			_tmp221_ = gee_map_get_size ((GeeMap*) _tmp220_);
			_tmp222_ = _tmp221_;
			_vala_assert (_tmp222_ == 0, "subsubmap.size == 0");
			_tmp223_ = keyssubset;
			_tmp224_ = gee_collection_get_size ((GeeCollection*) _tmp223_);
			_tmp225_ = _tmp224_;
			_vala_assert (_tmp225_ == 0, "keyssubset.size == 0");
			_tmp226_ = entriessubset;
			_tmp227_ = gee_collection_get_size ((GeeCollection*) _tmp226_);
			_tmp228_ = _tmp227_;
			_vala_assert (_tmp228_ == 0, "entriessubset.size == 0");
			_tmp229_ = self->priv->submap;
			_tmp230_ = gee_sorted_map_tail_map (_tmp229_, "three");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp230_;
			_tmp231_ = keys;
			_tmp232_ = gee_sorted_set_tail_set (_tmp231_, "three");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp232_;
			_tmp233_ = entries;
			_tmp234_ = map_tests_entry_for ("three", "three");
			_tmp235_ = _tmp234_;
			_tmp236_ = gee_sorted_set_tail_set (_tmp233_, _tmp235_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp236_;
			_g_object_unref0 (_tmp235_);
			_tmp237_ = subsubmap;
			_tmp238_ = gee_map_get_size ((GeeMap*) _tmp237_);
			_tmp239_ = _tmp238_;
			_vala_assert (_tmp239_ == 0, "subsubmap.size == 0");
			_tmp240_ = keyssubset;
			_tmp241_ = gee_collection_get_size ((GeeCollection*) _tmp240_);
			_tmp242_ = _tmp241_;
			_vala_assert (_tmp242_ == 0, "keyssubset.size == 0");
			_tmp243_ = entriessubset;
			_tmp244_ = gee_collection_get_size ((GeeCollection*) _tmp243_);
			_tmp245_ = _tmp244_;
			_vala_assert (_tmp245_ == 0, "entriessubset.size == 0");
			_tmp246_ = self->priv->submap;
			_tmp247_ = gee_sorted_map_sub_map (_tmp246_, "one", "six");
			_g_object_unref0 (subsubmap);
			subsubmap = _tmp247_;
			_tmp248_ = keys;
			_tmp249_ = gee_sorted_set_sub_set (_tmp248_, "one", "six");
			_g_object_unref0 (keyssubset);
			keyssubset = _tmp249_;
			_tmp250_ = entries;
			_tmp251_ = map_tests_entry_for ("one", "one");
			_tmp252_ = _tmp251_;
			_tmp253_ = map_tests_entry_for ("six", "six");
			_tmp254_ = _tmp253_;
			_tmp255_ = gee_sorted_set_sub_set (_tmp250_, _tmp252_, _tmp254_);
			_g_object_unref0 (entriessubset);
			entriessubset = _tmp255_;
			_g_object_unref0 (_tmp254_);
			_g_object_unref0 (_tmp252_);
			_tmp256_ = subsubmap;
			_tmp257_ = gee_map_get_size ((GeeMap*) _tmp256_);
			_tmp258_ = _tmp257_;
			_vala_assert (_tmp258_ == 0, "subsubmap.size == 0");
			_tmp259_ = keyssubset;
			_tmp260_ = gee_collection_get_size ((GeeCollection*) _tmp259_);
			_tmp261_ = _tmp260_;
			_vala_assert (_tmp261_ == 0, "keyssubset.size == 0");
			_tmp262_ = entriessubset;
			_tmp263_ = gee_collection_get_size ((GeeCollection*) _tmp262_);
			_tmp264_ = _tmp263_;
			_vala_assert (_tmp264_ == 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) {
	gee_sorted_map_tests_sub_map_tests_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GeeSortedMapTestsSubMapTestsPrivate));
	((GeeTestCaseClass *) klass)->set_up = gee_sorted_map_tests_sub_map_tests_real_set_up;
	((GeeTestCaseClass *) klass)->tear_down = 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) {
	self->priv = GEE_SORTED_MAP_TESTS_SUB_MAP_TESTS_GET_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);
}


GType gee_sorted_map_tests_sub_map_tests_get_type (void) {
	static volatile gsize gee_sorted_map_tests_sub_map_tests_type_id__volatile = 0;
	if (g_once_init_enter (&gee_sorted_map_tests_sub_map_tests_type_id__volatile)) {
		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);
		g_once_init_leave (&gee_sorted_map_tests_sub_map_tests_type_id__volatile, gee_sorted_map_tests_sub_map_tests_type_id);
	}
	return gee_sorted_map_tests_sub_map_tests_type_id__volatile;
}


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


static void gee_sorted_map_tests_instance_init (GeeSortedMapTests * self) {
}


GType gee_sorted_map_tests_get_type (void) {
	static volatile gsize gee_sorted_map_tests_type_id__volatile = 0;
	if (g_once_init_enter (&gee_sorted_map_tests_type_id__volatile)) {
		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);
		g_once_init_leave (&gee_sorted_map_tests_type_id__volatile, gee_sorted_map_tests_type_id);
	}
	return gee_sorted_map_tests_type_id__volatile;
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int 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, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}



