/* testsortedset.c generated by valac 0.25.1.16-fa2259, the Vala compiler
 * generated from testsortedset.vala, do not modify */

/* testsortedset.vala
 *
 * Copyright (C) 2009  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_COLLECTION_TESTS (collection_tests_get_type ())
#define COLLECTION_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_TESTS, CollectionTests))
#define COLLECTION_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_TESTS, CollectionTestsClass))
#define IS_COLLECTION_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_TESTS))
#define IS_COLLECTION_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_TESTS))
#define COLLECTION_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_TESTS, CollectionTestsClass))

typedef struct _CollectionTests CollectionTests;
typedef struct _CollectionTestsClass CollectionTestsClass;
typedef struct _CollectionTestsPrivate CollectionTestsPrivate;

#define TYPE_SET_TESTS (set_tests_get_type ())
#define SET_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_TESTS, SetTests))
#define SET_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_TESTS, SetTestsClass))
#define IS_SET_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_TESTS))
#define IS_SET_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_TESTS))
#define SET_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_TESTS, SetTestsClass))

typedef struct _SetTests SetTests;
typedef struct _SetTestsClass SetTestsClass;
typedef struct _SetTestsPrivate SetTestsPrivate;

#define TYPE_SORTED_SET_TESTS (sorted_set_tests_get_type ())
#define SORTED_SET_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SORTED_SET_TESTS, SortedSetTests))
#define SORTED_SET_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SORTED_SET_TESTS, SortedSetTestsClass))
#define IS_SORTED_SET_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SORTED_SET_TESTS))
#define IS_SORTED_SET_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SORTED_SET_TESTS))
#define SORTED_SET_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SORTED_SET_TESTS, SortedSetTestsClass))

typedef struct _SortedSetTests SortedSetTests;
typedef struct _SortedSetTestsClass SortedSetTestsClass;
typedef struct _SortedSetTestsPrivate SortedSetTestsPrivate;

#define SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TYPE (sorted_set_tests_sub_set_tests_type_get_type ())

#define SORTED_SET_TESTS_TYPE_SUB_SET_TESTS (sorted_set_tests_sub_set_tests_get_type ())
#define SORTED_SET_TESTS_SUB_SET_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SORTED_SET_TESTS_TYPE_SUB_SET_TESTS, SortedSetTestsSubSetTests))
#define SORTED_SET_TESTS_SUB_SET_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SORTED_SET_TESTS_TYPE_SUB_SET_TESTS, SortedSetTestsSubSetTestsClass))
#define SORTED_SET_TESTS_IS_SUB_SET_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SORTED_SET_TESTS_TYPE_SUB_SET_TESTS))
#define SORTED_SET_TESTS_IS_SUB_SET_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SORTED_SET_TESTS_TYPE_SUB_SET_TESTS))
#define SORTED_SET_TESTS_SUB_SET_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SORTED_SET_TESTS_TYPE_SUB_SET_TESTS, SortedSetTestsSubSetTestsClass))

typedef struct _SortedSetTestsSubSetTests SortedSetTestsSubSetTests;
typedef struct _SortedSetTestsSubSetTestsClass SortedSetTestsSubSetTestsClass;
#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 _SortedSetTestsSubSetTestsPrivate SortedSetTestsSubSetTestsPrivate;
#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 _CollectionTests {
	GeeTestCase parent_instance;
	CollectionTestsPrivate * priv;
	GeeCollection* test_collection;
};

struct _CollectionTestsClass {
	GeeTestCaseClass parent_class;
};

struct _SetTests {
	CollectionTests parent_instance;
	SetTestsPrivate * priv;
};

struct _SetTestsClass {
	CollectionTestsClass parent_class;
	void (*test_duplicates_are_ignored) (SetTests* self);
};

struct _SortedSetTests {
	SetTests parent_instance;
	SortedSetTestsPrivate * priv;
};

struct _SortedSetTestsClass {
	SetTestsClass parent_class;
};

struct _SortedSetTestsPrivate {
	gboolean strict;
};

typedef void (*GeeTestCaseTestMethod) (void* user_data);
typedef enum  {
	SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD,
	SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL,
	SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB,
	SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY
} SortedSetTestsSubSetTestsType;

struct _SortedSetTestsSubSetTests {
	GeeTestCase parent_instance;
	SortedSetTestsSubSetTestsPrivate * priv;
};

struct _SortedSetTestsSubSetTestsClass {
	GeeTestCaseClass parent_class;
};

struct _SortedSetTestsSubSetTestsPrivate {
	GeeSortedSet* master;
	GeeSortedSet* subset;
	SortedSetTests* test;
	SortedSetTestsSubSetTestsType type;
	gboolean strict;
};


static gpointer sorted_set_tests_parent_class = NULL;
static gpointer sorted_set_tests_sub_set_tests_parent_class = NULL;

GType gee_test_case_get_type (void) G_GNUC_CONST;
GType collection_tests_get_type (void) G_GNUC_CONST;
GType set_tests_get_type (void) G_GNUC_CONST;
GType sorted_set_tests_get_type (void) G_GNUC_CONST;
#define SORTED_SET_TESTS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SORTED_SET_TESTS, SortedSetTestsPrivate))
enum  {
	SORTED_SET_TESTS_DUMMY_PROPERTY
};
SortedSetTests* sorted_set_tests_construct (GType object_type, const gchar* name, gboolean strict);
SetTests* set_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 sorted_set_tests_test_first (SortedSetTests* self);
static void _sorted_set_tests_test_first_gee_test_case_test_method (gpointer self);
void sorted_set_tests_test_last (SortedSetTests* self);
static void _sorted_set_tests_test_last_gee_test_case_test_method (gpointer self);
void sorted_set_tests_test_ordering (SortedSetTests* self);
static void _sorted_set_tests_test_ordering_gee_test_case_test_method (gpointer self);
void sorted_set_tests_test_iterator_at (SortedSetTests* self);
static void _sorted_set_tests_test_iterator_at_gee_test_case_test_method (gpointer self);
void sorted_set_tests_test_lower (SortedSetTests* self);
static void _sorted_set_tests_test_lower_gee_test_case_test_method (gpointer self);
void sorted_set_tests_test_higher (SortedSetTests* self);
static void _sorted_set_tests_test_higher_gee_test_case_test_method (gpointer self);
void sorted_set_tests_test_floor (SortedSetTests* self);
static void _sorted_set_tests_test_floor_gee_test_case_test_method (gpointer self);
void sorted_set_tests_test_ceil (SortedSetTests* self);
static void _sorted_set_tests_test_ceil_gee_test_case_test_method (gpointer self);
GTestSuite* gee_test_case_get_suite (GeeTestCase* self);
GType sorted_set_tests_sub_set_tests_type_get_type (void) G_GNUC_CONST;
SortedSetTestsSubSetTests* sorted_set_tests_sub_set_tests_new (SortedSetTests* test, SortedSetTestsSubSetTestsType type, gboolean strict);
SortedSetTestsSubSetTests* sorted_set_tests_sub_set_tests_construct (GType object_type, SortedSetTests* test, SortedSetTestsSubSetTestsType type, gboolean strict);
GType sorted_set_tests_sub_set_tests_get_type (void) G_GNUC_CONST;
#define SORTED_SET_TESTS_SUB_SET_TESTS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SORTED_SET_TESTS_TYPE_SUB_SET_TESTS, SortedSetTestsSubSetTestsPrivate))
enum  {
	SORTED_SET_TESTS_SUB_SET_TESTS_DUMMY_PROPERTY
};
const gchar* sorted_set_tests_sub_set_tests_type_to_string (SortedSetTestsSubSetTestsType self);
GeeTestCase* gee_test_case_construct (GType object_type, const gchar* name);
void sorted_set_tests_sub_set_tests_test_size (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_size_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_contains (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_contains_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_add (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_add_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_remove (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_remove_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_iterator (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_iterator_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_clear (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_clear_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_iterator_at (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_iterator_at_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_lower (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_lower_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_higher (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_higher_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_ceil (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_ceil_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_floor (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_floor_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_subsets (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_subsets_gee_test_case_test_method (gpointer self);
void sorted_set_tests_sub_set_tests_test_boundaries (SortedSetTestsSubSetTests* self);
static void _sorted_set_tests_sub_set_tests_test_boundaries_gee_test_case_test_method (gpointer self);
static void sorted_set_tests_sub_set_tests_real_set_up (GeeTestCase* base);
void gee_test_case_set_up (GeeTestCase* self);
static void sorted_set_tests_sub_set_tests_real_tear_down (GeeTestCase* base);
void gee_test_case_tear_down (GeeTestCase* self);
static void sorted_set_tests_sub_set_tests_finalize (GObject* obj);
static void sorted_set_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 _sorted_set_tests_test_first_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_test_first ((SortedSetTests*) self);
}


static void _sorted_set_tests_test_last_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_test_last ((SortedSetTests*) self);
}


static void _sorted_set_tests_test_ordering_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_test_ordering ((SortedSetTests*) self);
}


static void _sorted_set_tests_test_iterator_at_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_test_iterator_at ((SortedSetTests*) self);
}


static void _sorted_set_tests_test_lower_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_test_lower ((SortedSetTests*) self);
}


static void _sorted_set_tests_test_higher_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_test_higher ((SortedSetTests*) self);
}


static void _sorted_set_tests_test_floor_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_test_floor ((SortedSetTests*) self);
}


static void _sorted_set_tests_test_ceil_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_test_ceil ((SortedSetTests*) self);
}


SortedSetTests* sorted_set_tests_construct (GType object_type, const gchar* name, gboolean strict) {
	SortedSetTests * self = NULL;
	const gchar* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GTestSuite* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	SortedSetTestsSubSetTests* _tmp4_ = NULL;
	SortedSetTestsSubSetTests* _tmp5_ = NULL;
	GTestSuite* _tmp6_ = NULL;
	GTestSuite* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
	SortedSetTestsSubSetTests* _tmp9_ = NULL;
	SortedSetTestsSubSetTests* _tmp10_ = NULL;
	GTestSuite* _tmp11_ = NULL;
	GTestSuite* _tmp12_ = NULL;
	gboolean _tmp13_ = FALSE;
	SortedSetTestsSubSetTests* _tmp14_ = NULL;
	SortedSetTestsSubSetTests* _tmp15_ = NULL;
	GTestSuite* _tmp16_ = NULL;
	GTestSuite* _tmp17_ = NULL;
	gboolean _tmp18_ = FALSE;
	SortedSetTestsSubSetTests* _tmp19_ = NULL;
	SortedSetTestsSubSetTests* _tmp20_ = NULL;
	GTestSuite* _tmp21_ = NULL;
	g_return_val_if_fail (name != NULL, NULL);
	_tmp0_ = name;
	self = (SortedSetTests*) set_tests_construct (object_type, _tmp0_);
	_tmp1_ = strict;
	self->priv->strict = _tmp1_;
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] first", _sorted_set_tests_test_first_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] last", _sorted_set_tests_test_last_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] ordering", _sorted_set_tests_test_ordering_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] iterator at", _sorted_set_tests_test_iterator_at_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] lower", _sorted_set_tests_test_lower_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] higher", _sorted_set_tests_test_higher_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] floor", _sorted_set_tests_test_floor_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] ceil", _sorted_set_tests_test_ceil_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	_tmp2_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp3_ = strict;
	_tmp4_ = sorted_set_tests_sub_set_tests_new (self, SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD, _tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = gee_test_case_get_suite ((GeeTestCase*) _tmp5_);
	g_test_suite_add_suite (_tmp2_, _tmp6_);
	_g_object_unref0 (_tmp5_);
	_tmp7_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp8_ = strict;
	_tmp9_ = sorted_set_tests_sub_set_tests_new (self, SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL, _tmp8_);
	_tmp10_ = _tmp9_;
	_tmp11_ = gee_test_case_get_suite ((GeeTestCase*) _tmp10_);
	g_test_suite_add_suite (_tmp7_, _tmp11_);
	_g_object_unref0 (_tmp10_);
	_tmp12_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp13_ = strict;
	_tmp14_ = sorted_set_tests_sub_set_tests_new (self, SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB, _tmp13_);
	_tmp15_ = _tmp14_;
	_tmp16_ = gee_test_case_get_suite ((GeeTestCase*) _tmp15_);
	g_test_suite_add_suite (_tmp12_, _tmp16_);
	_g_object_unref0 (_tmp15_);
	_tmp17_ = gee_test_case_get_suite ((GeeTestCase*) self);
	_tmp18_ = strict;
	_tmp19_ = sorted_set_tests_sub_set_tests_new (self, SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY, _tmp18_);
	_tmp20_ = _tmp19_;
	_tmp21_ = gee_test_case_get_suite ((GeeTestCase*) _tmp20_);
	g_test_suite_add_suite (_tmp17_, _tmp21_);
	_g_object_unref0 (_tmp20_);
	return self;
}


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


void sorted_set_tests_test_ordering (SortedSetTests* self) {
	GeeSortedSet* test_set = NULL;
	GeeCollection* _tmp0_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	GeeIterator* iterator = NULL;
	GeeIterator* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	gpointer _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gboolean _tmp6_ = FALSE;
	gpointer _tmp7_ = NULL;
	gchar* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	gpointer _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	gboolean _tmp12_ = FALSE;
	gpointer _tmp13_ = NULL;
	gchar* _tmp14_ = NULL;
	gboolean _tmp15_ = FALSE;
	gpointer _tmp16_ = NULL;
	gchar* _tmp17_ = NULL;
	gboolean _tmp18_ = FALSE;
	gpointer _tmp19_ = NULL;
	gchar* _tmp20_ = NULL;
	gboolean _tmp21_ = FALSE;
	gpointer _tmp22_ = NULL;
	gchar* _tmp23_ = NULL;
	gboolean _tmp24_ = FALSE;
	gpointer _tmp25_ = NULL;
	gchar* _tmp26_ = NULL;
	gboolean _tmp27_ = FALSE;
	gpointer _tmp28_ = NULL;
	gchar* _tmp29_ = NULL;
	gboolean _tmp30_ = FALSE;
	gpointer _tmp31_ = NULL;
	gchar* _tmp32_ = NULL;
	gboolean _tmp33_ = FALSE;
	gpointer _tmp34_ = NULL;
	gchar* _tmp35_ = NULL;
	gboolean _tmp36_ = FALSE;
	gpointer _tmp37_ = NULL;
	gchar* _tmp38_ = NULL;
	gboolean _tmp39_ = FALSE;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((CollectionTests*) self)->test_collection;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_SET) ? ((GeeSortedSet*) _tmp0_) : NULL);
	test_set = _tmp1_;
	_vala_assert (test_set != NULL, "test_set != null");
	gee_collection_add ((GeeCollection*) test_set, "one");
	gee_collection_add ((GeeCollection*) test_set, "two");
	gee_collection_add ((GeeCollection*) test_set, "three");
	gee_collection_add ((GeeCollection*) test_set, "four");
	gee_collection_add ((GeeCollection*) test_set, "five");
	gee_collection_add ((GeeCollection*) test_set, "six");
	gee_collection_add ((GeeCollection*) test_set, "seven");
	gee_collection_add ((GeeCollection*) test_set, "eight");
	gee_collection_add ((GeeCollection*) test_set, "nine");
	gee_collection_add ((GeeCollection*) test_set, "ten");
	gee_collection_add ((GeeCollection*) test_set, "eleven");
	gee_collection_add ((GeeCollection*) test_set, "twelve");
	_tmp2_ = gee_iterable_iterator ((GeeIterable*) test_set);
	iterator = _tmp2_;
	_tmp3_ = gee_iterator_next (iterator);
	_vala_assert (_tmp3_, "iterator.next ()");
	_tmp4_ = gee_iterator_get (iterator);
	_tmp5_ = (gchar*) _tmp4_;
	_vala_assert (g_strcmp0 (_tmp5_, "eight") == 0, "iterator.get () == \"eight\"");
	_g_free0 (_tmp5_);
	_tmp6_ = gee_iterator_next (iterator);
	_vala_assert (_tmp6_, "iterator.next ()");
	_tmp7_ = gee_iterator_get (iterator);
	_tmp8_ = (gchar*) _tmp7_;
	_vala_assert (g_strcmp0 (_tmp8_, "eleven") == 0, "iterator.get () == \"eleven\"");
	_g_free0 (_tmp8_);
	_tmp9_ = gee_iterator_next (iterator);
	_vala_assert (_tmp9_, "iterator.next ()");
	_tmp10_ = gee_iterator_get (iterator);
	_tmp11_ = (gchar*) _tmp10_;
	_vala_assert (g_strcmp0 (_tmp11_, "five") == 0, "iterator.get () == \"five\"");
	_g_free0 (_tmp11_);
	_tmp12_ = gee_iterator_next (iterator);
	_vala_assert (_tmp12_, "iterator.next ()");
	_tmp13_ = gee_iterator_get (iterator);
	_tmp14_ = (gchar*) _tmp13_;
	_vala_assert (g_strcmp0 (_tmp14_, "four") == 0, "iterator.get () == \"four\"");
	_g_free0 (_tmp14_);
	_tmp15_ = gee_iterator_next (iterator);
	_vala_assert (_tmp15_, "iterator.next ()");
	_tmp16_ = gee_iterator_get (iterator);
	_tmp17_ = (gchar*) _tmp16_;
	_vala_assert (g_strcmp0 (_tmp17_, "nine") == 0, "iterator.get () == \"nine\"");
	_g_free0 (_tmp17_);
	_tmp18_ = gee_iterator_next (iterator);
	_vala_assert (_tmp18_, "iterator.next ()");
	_tmp19_ = gee_iterator_get (iterator);
	_tmp20_ = (gchar*) _tmp19_;
	_vala_assert (g_strcmp0 (_tmp20_, "one") == 0, "iterator.get () == \"one\"");
	_g_free0 (_tmp20_);
	_tmp21_ = gee_iterator_next (iterator);
	_vala_assert (_tmp21_, "iterator.next ()");
	_tmp22_ = gee_iterator_get (iterator);
	_tmp23_ = (gchar*) _tmp22_;
	_vala_assert (g_strcmp0 (_tmp23_, "seven") == 0, "iterator.get () == \"seven\"");
	_g_free0 (_tmp23_);
	_tmp24_ = gee_iterator_next (iterator);
	_vala_assert (_tmp24_, "iterator.next ()");
	_tmp25_ = gee_iterator_get (iterator);
	_tmp26_ = (gchar*) _tmp25_;
	_vala_assert (g_strcmp0 (_tmp26_, "six") == 0, "iterator.get () == \"six\"");
	_g_free0 (_tmp26_);
	_tmp27_ = gee_iterator_next (iterator);
	_vala_assert (_tmp27_, "iterator.next ()");
	_tmp28_ = gee_iterator_get (iterator);
	_tmp29_ = (gchar*) _tmp28_;
	_vala_assert (g_strcmp0 (_tmp29_, "ten") == 0, "iterator.get () == \"ten\"");
	_g_free0 (_tmp29_);
	_tmp30_ = gee_iterator_next (iterator);
	_vala_assert (_tmp30_, "iterator.next ()");
	_tmp31_ = gee_iterator_get (iterator);
	_tmp32_ = (gchar*) _tmp31_;
	_vala_assert (g_strcmp0 (_tmp32_, "three") == 0, "iterator.get () == \"three\"");
	_g_free0 (_tmp32_);
	_tmp33_ = gee_iterator_next (iterator);
	_vala_assert (_tmp33_, "iterator.next ()");
	_tmp34_ = gee_iterator_get (iterator);
	_tmp35_ = (gchar*) _tmp34_;
	_vala_assert (g_strcmp0 (_tmp35_, "twelve") == 0, "iterator.get () == \"twelve\"");
	_g_free0 (_tmp35_);
	_tmp36_ = gee_iterator_next (iterator);
	_vala_assert (_tmp36_, "iterator.next ()");
	_tmp37_ = gee_iterator_get (iterator);
	_tmp38_ = (gchar*) _tmp37_;
	_vala_assert (g_strcmp0 (_tmp38_, "two") == 0, "iterator.get () == \"two\"");
	_g_free0 (_tmp38_);
	_tmp39_ = gee_iterator_next (iterator);
	_vala_assert (_tmp39_ == FALSE, "iterator.next () == false");
	_g_object_unref0 (iterator);
	_g_object_unref0 (test_set);
}


void sorted_set_tests_test_first (SortedSetTests* self) {
	GeeSortedSet* test_set = NULL;
	GeeCollection* _tmp0_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	GeeSortedSet* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
	GeeSortedSet* _tmp9_ = NULL;
	gboolean _tmp10_ = FALSE;
	GeeSortedSet* _tmp11_ = NULL;
	gboolean _tmp12_ = FALSE;
	GeeSortedSet* _tmp13_ = NULL;
	gboolean _tmp14_ = FALSE;
	GeeSortedSet* _tmp15_ = NULL;
	gboolean _tmp16_ = FALSE;
	GeeSortedSet* _tmp17_ = NULL;
	gboolean _tmp18_ = FALSE;
	GeeSortedSet* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((CollectionTests*) self)->test_collection;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_SET) ? ((GeeSortedSet*) _tmp0_) : NULL);
	test_set = _tmp1_;
	_tmp2_ = self->priv->strict;
	if (_tmp2_) {
		gboolean _tmp3_ = FALSE;
		_tmp3_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
		if (_tmp3_) {
			GeeSortedSet* _tmp4_ = NULL;
			gpointer _tmp5_ = NULL;
			gchar* _tmp6_ = NULL;
			_tmp4_ = test_set;
			_tmp5_ = gee_sorted_set_first (_tmp4_);
			_tmp6_ = (gchar*) _tmp5_;
			_g_free0 (_tmp6_);
			exit (0);
		}
		g_test_trap_assert_failed ();
	}
	_tmp7_ = test_set;
	_tmp8_ = gee_collection_add ((GeeCollection*) _tmp7_, "one");
	_vala_assert (_tmp8_, "test_set.add (\"one\")");
	_tmp9_ = test_set;
	_tmp10_ = gee_collection_add ((GeeCollection*) _tmp9_, "two");
	_vala_assert (_tmp10_, "test_set.add (\"two\")");
	_tmp11_ = test_set;
	_tmp12_ = gee_collection_add ((GeeCollection*) _tmp11_, "three");
	_vala_assert (_tmp12_, "test_set.add (\"three\")");
	_tmp13_ = test_set;
	_tmp14_ = gee_collection_add ((GeeCollection*) _tmp13_, "four");
	_vala_assert (_tmp14_, "test_set.add (\"four\")");
	_tmp15_ = test_set;
	_tmp16_ = gee_collection_add ((GeeCollection*) _tmp15_, "five");
	_vala_assert (_tmp16_, "test_set.add (\"five\")");
	_tmp17_ = test_set;
	_tmp18_ = gee_collection_add ((GeeCollection*) _tmp17_, "six");
	_vala_assert (_tmp18_, "test_set.add (\"six\")");
	_tmp19_ = test_set;
	_tmp20_ = gee_sorted_set_first (_tmp19_);
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (g_strcmp0 (_tmp21_, "five") == 0, "test_set.first () == \"five\"");
	_g_free0 (_tmp21_);
	_g_object_unref0 (test_set);
}


void sorted_set_tests_test_last (SortedSetTests* self) {
	GeeSortedSet* test_set = NULL;
	GeeCollection* _tmp0_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	GeeSortedSet* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
	GeeSortedSet* _tmp9_ = NULL;
	gboolean _tmp10_ = FALSE;
	GeeSortedSet* _tmp11_ = NULL;
	gboolean _tmp12_ = FALSE;
	GeeSortedSet* _tmp13_ = NULL;
	gboolean _tmp14_ = FALSE;
	GeeSortedSet* _tmp15_ = NULL;
	gboolean _tmp16_ = FALSE;
	GeeSortedSet* _tmp17_ = NULL;
	gboolean _tmp18_ = FALSE;
	GeeSortedSet* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((CollectionTests*) self)->test_collection;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_SET) ? ((GeeSortedSet*) _tmp0_) : NULL);
	test_set = _tmp1_;
	_tmp2_ = self->priv->strict;
	if (_tmp2_) {
		gboolean _tmp3_ = FALSE;
		_tmp3_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
		if (_tmp3_) {
			GeeSortedSet* _tmp4_ = NULL;
			gpointer _tmp5_ = NULL;
			gchar* _tmp6_ = NULL;
			_tmp4_ = test_set;
			_tmp5_ = gee_sorted_set_last (_tmp4_);
			_tmp6_ = (gchar*) _tmp5_;
			_g_free0 (_tmp6_);
			exit (0);
		}
		g_test_trap_assert_failed ();
	}
	_tmp7_ = test_set;
	_tmp8_ = gee_collection_add ((GeeCollection*) _tmp7_, "one");
	_vala_assert (_tmp8_, "test_set.add (\"one\")");
	_tmp9_ = test_set;
	_tmp10_ = gee_collection_add ((GeeCollection*) _tmp9_, "two");
	_vala_assert (_tmp10_, "test_set.add (\"two\")");
	_tmp11_ = test_set;
	_tmp12_ = gee_collection_add ((GeeCollection*) _tmp11_, "three");
	_vala_assert (_tmp12_, "test_set.add (\"three\")");
	_tmp13_ = test_set;
	_tmp14_ = gee_collection_add ((GeeCollection*) _tmp13_, "four");
	_vala_assert (_tmp14_, "test_set.add (\"four\")");
	_tmp15_ = test_set;
	_tmp16_ = gee_collection_add ((GeeCollection*) _tmp15_, "five");
	_vala_assert (_tmp16_, "test_set.add (\"five\")");
	_tmp17_ = test_set;
	_tmp18_ = gee_collection_add ((GeeCollection*) _tmp17_, "six");
	_vala_assert (_tmp18_, "test_set.add (\"six\")");
	_tmp19_ = test_set;
	_tmp20_ = gee_sorted_set_last (_tmp19_);
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (g_strcmp0 (_tmp21_, "two") == 0, "test_set.last () == \"two\"");
	_g_free0 (_tmp21_);
	_g_object_unref0 (test_set);
}


void sorted_set_tests_test_iterator_at (SortedSetTests* self) {
	GeeSortedSet* test_set = NULL;
	GeeCollection* _tmp0_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	GeeIterator* iter = NULL;
	GeeIterator* _tmp5_ = NULL;
	GeeIterator* _tmp6_ = NULL;
	GeeIterator* _tmp7_ = NULL;
	gpointer _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
	GeeIterator* _tmp10_ = NULL;
	GeeIterator* _tmp11_ = NULL;
	GeeIterator* _tmp12_ = NULL;
	gpointer _tmp13_ = NULL;
	gchar* _tmp14_ = NULL;
	GeeIterator* _tmp15_ = NULL;
	GeeIterator* _tmp16_ = NULL;
	GeeIterator* _tmp17_ = NULL;
	gpointer _tmp18_ = NULL;
	gchar* _tmp19_ = NULL;
	GeeIterator* _tmp20_ = NULL;
	GeeIterator* _tmp21_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((CollectionTests*) self)->test_collection;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_SET) ? ((GeeSortedSet*) _tmp0_) : NULL);
	test_set = _tmp1_;
	_tmp2_ = gee_collection_add ((GeeCollection*) test_set, "one");
	_vala_assert (_tmp2_, "test_set.add (\"one\")");
	_tmp3_ = gee_collection_add ((GeeCollection*) test_set, "two");
	_vala_assert (_tmp3_, "test_set.add (\"two\")");
	_tmp4_ = gee_collection_add ((GeeCollection*) test_set, "three");
	_vala_assert (_tmp4_, "test_set.add (\"three\")");
	_tmp5_ = gee_sorted_set_iterator_at (test_set, "one");
	iter = _tmp5_;
	_tmp6_ = iter;
	_vala_assert (_tmp6_ != NULL, "iter != null");
	_tmp7_ = iter;
	_tmp8_ = gee_iterator_get (_tmp7_);
	_tmp9_ = (gchar*) _tmp8_;
	_vala_assert (g_strcmp0 (_tmp9_, "one") == 0, "iter.get () == \"one\"");
	_g_free0 (_tmp9_);
	_tmp10_ = gee_sorted_set_iterator_at (test_set, "two");
	_g_object_unref0 (iter);
	iter = _tmp10_;
	_tmp11_ = iter;
	_vala_assert (_tmp11_ != NULL, "iter != null");
	_tmp12_ = iter;
	_tmp13_ = gee_iterator_get (_tmp12_);
	_tmp14_ = (gchar*) _tmp13_;
	_vala_assert (g_strcmp0 (_tmp14_, "two") == 0, "iter.get () == \"two\"");
	_g_free0 (_tmp14_);
	_tmp15_ = gee_sorted_set_iterator_at (test_set, "three");
	_g_object_unref0 (iter);
	iter = _tmp15_;
	_tmp16_ = iter;
	_vala_assert (_tmp16_ != NULL, "iter != null");
	_tmp17_ = iter;
	_tmp18_ = gee_iterator_get (_tmp17_);
	_tmp19_ = (gchar*) _tmp18_;
	_vala_assert (g_strcmp0 (_tmp19_, "three") == 0, "iter.get () == \"three\"");
	_g_free0 (_tmp19_);
	_tmp20_ = gee_sorted_set_iterator_at (test_set, "zero");
	_g_object_unref0 (iter);
	iter = _tmp20_;
	_tmp21_ = iter;
	_vala_assert (_tmp21_ == NULL, "iter == null");
	_g_object_unref0 (iter);
	_g_object_unref0 (test_set);
}


void sorted_set_tests_test_lower (SortedSetTests* self) {
	GeeSortedSet* test_set = NULL;
	GeeCollection* _tmp0_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	gpointer _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_ = FALSE;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	gboolean _tmp9_ = FALSE;
	gpointer _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	gpointer _tmp12_ = NULL;
	gchar* _tmp13_ = NULL;
	gpointer _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	gpointer _tmp16_ = NULL;
	gchar* _tmp17_ = NULL;
	gpointer _tmp18_ = NULL;
	gchar* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	gpointer _tmp22_ = NULL;
	gchar* _tmp23_ = NULL;
	gpointer _tmp24_ = NULL;
	gchar* _tmp25_ = NULL;
	gpointer _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	gpointer _tmp28_ = NULL;
	gchar* _tmp29_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((CollectionTests*) self)->test_collection;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_SET) ? ((GeeSortedSet*) _tmp0_) : NULL);
	test_set = _tmp1_;
	_tmp2_ = gee_sorted_set_lower (test_set, "one");
	_tmp3_ = (gchar*) _tmp2_;
	_vala_assert (_tmp3_ == NULL, "test_set.lower (\"one\") == null");
	_g_free0 (_tmp3_);
	_tmp4_ = gee_collection_add ((GeeCollection*) test_set, "one");
	_vala_assert (_tmp4_, "test_set.add (\"one\")");
	_tmp5_ = gee_collection_add ((GeeCollection*) test_set, "two");
	_vala_assert (_tmp5_, "test_set.add (\"two\")");
	_tmp6_ = gee_collection_add ((GeeCollection*) test_set, "three");
	_vala_assert (_tmp6_, "test_set.add (\"three\")");
	_tmp7_ = gee_collection_add ((GeeCollection*) test_set, "four");
	_vala_assert (_tmp7_, "test_set.add (\"four\")");
	_tmp8_ = gee_collection_add ((GeeCollection*) test_set, "five");
	_vala_assert (_tmp8_, "test_set.add (\"five\")");
	_tmp9_ = gee_collection_add ((GeeCollection*) test_set, "six");
	_vala_assert (_tmp9_, "test_set.add (\"six\")");
	_tmp10_ = gee_sorted_set_lower (test_set, "one");
	_tmp11_ = (gchar*) _tmp10_;
	_vala_assert (g_strcmp0 (_tmp11_, "four") == 0, "test_set.lower (\"one\") == \"four\"");
	_g_free0 (_tmp11_);
	_tmp12_ = gee_sorted_set_lower (test_set, "o");
	_tmp13_ = (gchar*) _tmp12_;
	_vala_assert (g_strcmp0 (_tmp13_, "four") == 0, "test_set.lower (\"o\") == \"four\"");
	_g_free0 (_tmp13_);
	_tmp14_ = gee_sorted_set_lower (test_set, "two");
	_tmp15_ = (gchar*) _tmp14_;
	_vala_assert (g_strcmp0 (_tmp15_, "three") == 0, "test_set.lower (\"two\") == \"three\"");
	_g_free0 (_tmp15_);
	_tmp16_ = gee_sorted_set_lower (test_set, "t");
	_tmp17_ = (gchar*) _tmp16_;
	_vala_assert (g_strcmp0 (_tmp17_, "six") == 0, "test_set.lower (\"t\") == \"six\"");
	_g_free0 (_tmp17_);
	_tmp18_ = gee_sorted_set_lower (test_set, "three");
	_tmp19_ = (gchar*) _tmp18_;
	_vala_assert (g_strcmp0 (_tmp19_, "six") == 0, "test_set.lower (\"three\") == \"six\"");
	_g_free0 (_tmp19_);
	_tmp20_ = gee_sorted_set_lower (test_set, "four");
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (g_strcmp0 (_tmp21_, "five") == 0, "test_set.lower (\"four\") == \"five\"");
	_g_free0 (_tmp21_);
	_tmp22_ = gee_sorted_set_lower (test_set, "f");
	_tmp23_ = (gchar*) _tmp22_;
	_vala_assert (_tmp23_ == NULL, "test_set.lower (\"f\") == null");
	_g_free0 (_tmp23_);
	_tmp24_ = gee_sorted_set_lower (test_set, "five");
	_tmp25_ = (gchar*) _tmp24_;
	_vala_assert (_tmp25_ == NULL, "test_set.lower (\"five\") == null");
	_g_free0 (_tmp25_);
	_tmp26_ = gee_sorted_set_lower (test_set, "six");
	_tmp27_ = (gchar*) _tmp26_;
	_vala_assert (g_strcmp0 (_tmp27_, "one") == 0, "test_set.lower (\"six\") == \"one\"");
	_g_free0 (_tmp27_);
	_tmp28_ = gee_sorted_set_lower (test_set, "s");
	_tmp29_ = (gchar*) _tmp28_;
	_vala_assert (g_strcmp0 (_tmp29_, "one") == 0, "test_set.lower (\"s\") == \"one\"");
	_g_free0 (_tmp29_);
	_g_object_unref0 (test_set);
}


void sorted_set_tests_test_higher (SortedSetTests* self) {
	GeeSortedSet* test_set = NULL;
	GeeCollection* _tmp0_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	gpointer _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_ = FALSE;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	gboolean _tmp9_ = FALSE;
	gpointer _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	gpointer _tmp12_ = NULL;
	gchar* _tmp13_ = NULL;
	gpointer _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	gpointer _tmp16_ = NULL;
	gchar* _tmp17_ = NULL;
	gpointer _tmp18_ = NULL;
	gchar* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	gpointer _tmp22_ = NULL;
	gchar* _tmp23_ = NULL;
	gpointer _tmp24_ = NULL;
	gchar* _tmp25_ = NULL;
	gpointer _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	gpointer _tmp28_ = NULL;
	gchar* _tmp29_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((CollectionTests*) self)->test_collection;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_SET) ? ((GeeSortedSet*) _tmp0_) : NULL);
	test_set = _tmp1_;
	_tmp2_ = gee_sorted_set_higher (test_set, "one");
	_tmp3_ = (gchar*) _tmp2_;
	_vala_assert (_tmp3_ == NULL, "test_set.higher (\"one\") == null");
	_g_free0 (_tmp3_);
	_tmp4_ = gee_collection_add ((GeeCollection*) test_set, "one");
	_vala_assert (_tmp4_, "test_set.add (\"one\")");
	_tmp5_ = gee_collection_add ((GeeCollection*) test_set, "two");
	_vala_assert (_tmp5_, "test_set.add (\"two\")");
	_tmp6_ = gee_collection_add ((GeeCollection*) test_set, "three");
	_vala_assert (_tmp6_, "test_set.add (\"three\")");
	_tmp7_ = gee_collection_add ((GeeCollection*) test_set, "four");
	_vala_assert (_tmp7_, "test_set.add (\"four\")");
	_tmp8_ = gee_collection_add ((GeeCollection*) test_set, "five");
	_vala_assert (_tmp8_, "test_set.add (\"five\")");
	_tmp9_ = gee_collection_add ((GeeCollection*) test_set, "six");
	_vala_assert (_tmp9_, "test_set.add (\"six\")");
	_tmp10_ = gee_sorted_set_higher (test_set, "one");
	_tmp11_ = (gchar*) _tmp10_;
	_vala_assert (g_strcmp0 (_tmp11_, "six") == 0, "test_set.higher (\"one\") == \"six\"");
	_g_free0 (_tmp11_);
	_tmp12_ = gee_sorted_set_higher (test_set, "o");
	_tmp13_ = (gchar*) _tmp12_;
	_vala_assert (g_strcmp0 (_tmp13_, "one") == 0, "test_set.higher (\"o\") == \"one\"");
	_g_free0 (_tmp13_);
	_tmp14_ = gee_sorted_set_higher (test_set, "two");
	_tmp15_ = (gchar*) _tmp14_;
	_vala_assert (_tmp15_ == NULL, "test_set.higher (\"two\") == null");
	_g_free0 (_tmp15_);
	_tmp16_ = gee_sorted_set_higher (test_set, "t");
	_tmp17_ = (gchar*) _tmp16_;
	_vala_assert (g_strcmp0 (_tmp17_, "three") == 0, "test_set.higher (\"t\") == \"three\"");
	_g_free0 (_tmp17_);
	_tmp18_ = gee_sorted_set_higher (test_set, "three");
	_tmp19_ = (gchar*) _tmp18_;
	_vala_assert (g_strcmp0 (_tmp19_, "two") == 0, "test_set.higher (\"three\") == \"two\"");
	_g_free0 (_tmp19_);
	_tmp20_ = gee_sorted_set_higher (test_set, "four");
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (g_strcmp0 (_tmp21_, "one") == 0, "test_set.higher (\"four\") == \"one\"");
	_g_free0 (_tmp21_);
	_tmp22_ = gee_sorted_set_higher (test_set, "f");
	_tmp23_ = (gchar*) _tmp22_;
	_vala_assert (g_strcmp0 (_tmp23_, "five") == 0, "test_set.higher (\"f\") == \"five\"");
	_g_free0 (_tmp23_);
	_tmp24_ = gee_sorted_set_higher (test_set, "five");
	_tmp25_ = (gchar*) _tmp24_;
	_vala_assert (g_strcmp0 (_tmp25_, "four") == 0, "test_set.higher (\"five\") == \"four\"");
	_g_free0 (_tmp25_);
	_tmp26_ = gee_sorted_set_higher (test_set, "six");
	_tmp27_ = (gchar*) _tmp26_;
	_vala_assert (g_strcmp0 (_tmp27_, "three") == 0, "test_set.higher (\"six\") == \"three\"");
	_g_free0 (_tmp27_);
	_tmp28_ = gee_sorted_set_higher (test_set, "s");
	_tmp29_ = (gchar*) _tmp28_;
	_vala_assert (g_strcmp0 (_tmp29_, "six") == 0, "test_set.higher (\"s\") == \"six\"");
	_g_free0 (_tmp29_);
	_g_object_unref0 (test_set);
}


void sorted_set_tests_test_floor (SortedSetTests* self) {
	GeeSortedSet* test_set = NULL;
	GeeCollection* _tmp0_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	gpointer _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_ = FALSE;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	gboolean _tmp9_ = FALSE;
	gpointer _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	gpointer _tmp12_ = NULL;
	gchar* _tmp13_ = NULL;
	gpointer _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	gpointer _tmp16_ = NULL;
	gchar* _tmp17_ = NULL;
	gpointer _tmp18_ = NULL;
	gchar* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	gpointer _tmp22_ = NULL;
	gchar* _tmp23_ = NULL;
	gpointer _tmp24_ = NULL;
	gchar* _tmp25_ = NULL;
	gpointer _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	gpointer _tmp28_ = NULL;
	gchar* _tmp29_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((CollectionTests*) self)->test_collection;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_SET) ? ((GeeSortedSet*) _tmp0_) : NULL);
	test_set = _tmp1_;
	_tmp2_ = gee_sorted_set_floor (test_set, "one");
	_tmp3_ = (gchar*) _tmp2_;
	_vala_assert (_tmp3_ == NULL, "test_set.floor (\"one\") == null");
	_g_free0 (_tmp3_);
	_tmp4_ = gee_collection_add ((GeeCollection*) test_set, "one");
	_vala_assert (_tmp4_, "test_set.add (\"one\")");
	_tmp5_ = gee_collection_add ((GeeCollection*) test_set, "two");
	_vala_assert (_tmp5_, "test_set.add (\"two\")");
	_tmp6_ = gee_collection_add ((GeeCollection*) test_set, "three");
	_vala_assert (_tmp6_, "test_set.add (\"three\")");
	_tmp7_ = gee_collection_add ((GeeCollection*) test_set, "four");
	_vala_assert (_tmp7_, "test_set.add (\"four\")");
	_tmp8_ = gee_collection_add ((GeeCollection*) test_set, "five");
	_vala_assert (_tmp8_, "test_set.add (\"five\")");
	_tmp9_ = gee_collection_add ((GeeCollection*) test_set, "six");
	_vala_assert (_tmp9_, "test_set.add (\"six\")");
	_tmp10_ = gee_sorted_set_floor (test_set, "one");
	_tmp11_ = (gchar*) _tmp10_;
	_vala_assert (g_strcmp0 (_tmp11_, "one") == 0, "test_set.floor (\"one\") == \"one\"");
	_g_free0 (_tmp11_);
	_tmp12_ = gee_sorted_set_floor (test_set, "o");
	_tmp13_ = (gchar*) _tmp12_;
	_vala_assert (g_strcmp0 (_tmp13_, "four") == 0, "test_set.floor (\"o\") == \"four\"");
	_g_free0 (_tmp13_);
	_tmp14_ = gee_sorted_set_floor (test_set, "two");
	_tmp15_ = (gchar*) _tmp14_;
	_vala_assert (g_strcmp0 (_tmp15_, "two") == 0, "test_set.floor (\"two\") == \"two\"");
	_g_free0 (_tmp15_);
	_tmp16_ = gee_sorted_set_floor (test_set, "t");
	_tmp17_ = (gchar*) _tmp16_;
	_vala_assert (g_strcmp0 (_tmp17_, "six") == 0, "test_set.floor (\"t\") == \"six\"");
	_g_free0 (_tmp17_);
	_tmp18_ = gee_sorted_set_floor (test_set, "three");
	_tmp19_ = (gchar*) _tmp18_;
	_vala_assert (g_strcmp0 (_tmp19_, "three") == 0, "test_set.floor (\"three\") == \"three\"");
	_g_free0 (_tmp19_);
	_tmp20_ = gee_sorted_set_floor (test_set, "four");
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (g_strcmp0 (_tmp21_, "four") == 0, "test_set.floor (\"four\") == \"four\"");
	_g_free0 (_tmp21_);
	_tmp22_ = gee_sorted_set_floor (test_set, "f");
	_tmp23_ = (gchar*) _tmp22_;
	_vala_assert (_tmp23_ == NULL, "test_set.floor (\"f\") == null");
	_g_free0 (_tmp23_);
	_tmp24_ = gee_sorted_set_floor (test_set, "five");
	_tmp25_ = (gchar*) _tmp24_;
	_vala_assert (g_strcmp0 (_tmp25_, "five") == 0, "test_set.floor (\"five\") == \"five\"");
	_g_free0 (_tmp25_);
	_tmp26_ = gee_sorted_set_floor (test_set, "six");
	_tmp27_ = (gchar*) _tmp26_;
	_vala_assert (g_strcmp0 (_tmp27_, "six") == 0, "test_set.floor (\"six\") == \"six\"");
	_g_free0 (_tmp27_);
	_tmp28_ = gee_sorted_set_floor (test_set, "s");
	_tmp29_ = (gchar*) _tmp28_;
	_vala_assert (g_strcmp0 (_tmp29_, "one") == 0, "test_set.floor (\"s\") == \"one\"");
	_g_free0 (_tmp29_);
	_g_object_unref0 (test_set);
}


void sorted_set_tests_test_ceil (SortedSetTests* self) {
	GeeSortedSet* test_set = NULL;
	GeeCollection* _tmp0_ = NULL;
	GeeSortedSet* _tmp1_ = NULL;
	gpointer _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_ = FALSE;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	gboolean _tmp9_ = FALSE;
	gpointer _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	gpointer _tmp12_ = NULL;
	gchar* _tmp13_ = NULL;
	gpointer _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	gpointer _tmp16_ = NULL;
	gchar* _tmp17_ = NULL;
	gpointer _tmp18_ = NULL;
	gchar* _tmp19_ = NULL;
	gpointer _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	gpointer _tmp22_ = NULL;
	gchar* _tmp23_ = NULL;
	gpointer _tmp24_ = NULL;
	gchar* _tmp25_ = NULL;
	gpointer _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	gpointer _tmp28_ = NULL;
	gchar* _tmp29_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = ((CollectionTests*) self)->test_collection;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_SORTED_SET) ? ((GeeSortedSet*) _tmp0_) : NULL);
	test_set = _tmp1_;
	_tmp2_ = gee_sorted_set_ceil (test_set, "one");
	_tmp3_ = (gchar*) _tmp2_;
	_vala_assert (_tmp3_ == NULL, "test_set.ceil (\"one\") == null");
	_g_free0 (_tmp3_);
	_tmp4_ = gee_collection_add ((GeeCollection*) test_set, "one");
	_vala_assert (_tmp4_, "test_set.add (\"one\")");
	_tmp5_ = gee_collection_add ((GeeCollection*) test_set, "two");
	_vala_assert (_tmp5_, "test_set.add (\"two\")");
	_tmp6_ = gee_collection_add ((GeeCollection*) test_set, "three");
	_vala_assert (_tmp6_, "test_set.add (\"three\")");
	_tmp7_ = gee_collection_add ((GeeCollection*) test_set, "four");
	_vala_assert (_tmp7_, "test_set.add (\"four\")");
	_tmp8_ = gee_collection_add ((GeeCollection*) test_set, "five");
	_vala_assert (_tmp8_, "test_set.add (\"five\")");
	_tmp9_ = gee_collection_add ((GeeCollection*) test_set, "six");
	_vala_assert (_tmp9_, "test_set.add (\"six\")");
	_tmp10_ = gee_sorted_set_ceil (test_set, "one");
	_tmp11_ = (gchar*) _tmp10_;
	_vala_assert (g_strcmp0 (_tmp11_, "one") == 0, "test_set.ceil (\"one\") == \"one\"");
	_g_free0 (_tmp11_);
	_tmp12_ = gee_sorted_set_ceil (test_set, "o");
	_tmp13_ = (gchar*) _tmp12_;
	_vala_assert (g_strcmp0 (_tmp13_, "one") == 0, "test_set.ceil (\"o\") == \"one\"");
	_g_free0 (_tmp13_);
	_tmp14_ = gee_sorted_set_ceil (test_set, "two");
	_tmp15_ = (gchar*) _tmp14_;
	_vala_assert (g_strcmp0 (_tmp15_, "two") == 0, "test_set.ceil (\"two\") == \"two\"");
	_g_free0 (_tmp15_);
	_tmp16_ = gee_sorted_set_ceil (test_set, "t");
	_tmp17_ = (gchar*) _tmp16_;
	_vala_assert (g_strcmp0 (_tmp17_, "three") == 0, "test_set.ceil (\"t\") == \"three\"");
	_g_free0 (_tmp17_);
	_tmp18_ = gee_sorted_set_ceil (test_set, "three");
	_tmp19_ = (gchar*) _tmp18_;
	_vala_assert (g_strcmp0 (_tmp19_, "three") == 0, "test_set.ceil (\"three\") == \"three\"");
	_g_free0 (_tmp19_);
	_tmp20_ = gee_sorted_set_ceil (test_set, "four");
	_tmp21_ = (gchar*) _tmp20_;
	_vala_assert (g_strcmp0 (_tmp21_, "four") == 0, "test_set.ceil (\"four\") == \"four\"");
	_g_free0 (_tmp21_);
	_tmp22_ = gee_sorted_set_ceil (test_set, "f");
	_tmp23_ = (gchar*) _tmp22_;
	_vala_assert (g_strcmp0 (_tmp23_, "five") == 0, "test_set.ceil (\"f\") == \"five\"");
	_g_free0 (_tmp23_);
	_tmp24_ = gee_sorted_set_ceil (test_set, "five");
	_tmp25_ = (gchar*) _tmp24_;
	_vala_assert (g_strcmp0 (_tmp25_, "five") == 0, "test_set.ceil (\"five\") == \"five\"");
	_g_free0 (_tmp25_);
	_tmp26_ = gee_sorted_set_ceil (test_set, "six");
	_tmp27_ = (gchar*) _tmp26_;
	_vala_assert (g_strcmp0 (_tmp27_, "six") == 0, "test_set.ceil (\"six\") == \"six\"");
	_g_free0 (_tmp27_);
	_tmp28_ = gee_sorted_set_ceil (test_set, "s");
	_tmp29_ = (gchar*) _tmp28_;
	_vala_assert (g_strcmp0 (_tmp29_, "six") == 0, "test_set.ceil (\"s\") == \"six\"");
	_g_free0 (_tmp29_);
	_g_object_unref0 (test_set);
}


const gchar* sorted_set_tests_sub_set_tests_type_to_string (SortedSetTestsSubSetTestsType self) {
	const gchar* result = NULL;
	switch (self) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			result = "Head";
			return result;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			result = "Tail";
			return result;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			result = "Range";
			return result;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			result = "Empty";
			return result;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}


GType sorted_set_tests_sub_set_tests_type_get_type (void) {
	static volatile gsize sorted_set_tests_sub_set_tests_type_type_id__volatile = 0;
	if (g_once_init_enter (&sorted_set_tests_sub_set_tests_type_type_id__volatile)) {
		static const GEnumValue values[] = {{SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD, "SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD", "head"}, {SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL, "SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL", "tail"}, {SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB, "SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB", "sub"}, {SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY, "SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY", "empty"}, {0, NULL, NULL}};
		GType sorted_set_tests_sub_set_tests_type_type_id;
		sorted_set_tests_sub_set_tests_type_type_id = g_enum_register_static ("SortedSetTestsSubSetTestsType", values);
		g_once_init_leave (&sorted_set_tests_sub_set_tests_type_type_id__volatile, sorted_set_tests_sub_set_tests_type_type_id);
	}
	return sorted_set_tests_sub_set_tests_type_type_id__volatile;
}


static void _sorted_set_tests_sub_set_tests_test_size_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_size ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_contains_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_contains ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_add_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_add ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_remove_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_remove ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_iterator_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_iterator ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_clear_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_clear ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_iterator_at_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_iterator_at ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_lower_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_lower ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_higher_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_higher ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_ceil_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_ceil ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_floor_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_floor ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_subsets_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_subsets ((SortedSetTestsSubSetTests*) self);
}


static void _sorted_set_tests_sub_set_tests_test_boundaries_gee_test_case_test_method (gpointer self) {
	sorted_set_tests_sub_set_tests_test_boundaries ((SortedSetTestsSubSetTests*) self);
}


SortedSetTestsSubSetTests* sorted_set_tests_sub_set_tests_construct (GType object_type, SortedSetTests* test, SortedSetTestsSubSetTestsType type, gboolean strict) {
	SortedSetTestsSubSetTests * self = NULL;
	SortedSetTestsSubSetTestsType _tmp0_ = 0;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	SortedSetTests* _tmp4_ = NULL;
	SortedSetTests* _tmp5_ = NULL;
	SortedSetTestsSubSetTestsType _tmp6_ = 0;
	gboolean _tmp7_ = FALSE;
	g_return_val_if_fail (test != NULL, NULL);
	_tmp0_ = type;
	_tmp1_ = sorted_set_tests_sub_set_tests_type_to_string (_tmp0_);
	_tmp2_ = g_strdup_printf ("%s Subset", _tmp1_);
	_tmp3_ = _tmp2_;
	self = (SortedSetTestsSubSetTests*) 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_;
	_tmp7_ = strict;
	self->priv->strict = _tmp7_;
	gee_test_case_add_test ((GeeTestCase*) self, "[Collection] size", _sorted_set_tests_sub_set_tests_test_size_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Collection] contains", _sorted_set_tests_sub_set_tests_test_contains_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Collection] add", _sorted_set_tests_sub_set_tests_test_add_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Collection] remove", _sorted_set_tests_sub_set_tests_test_remove_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Collection] iterator", _sorted_set_tests_sub_set_tests_test_iterator_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[Collection] clear", _sorted_set_tests_sub_set_tests_test_clear_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] iterator at", _sorted_set_tests_sub_set_tests_test_iterator_at_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] lower", _sorted_set_tests_sub_set_tests_test_lower_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] higher", _sorted_set_tests_sub_set_tests_test_higher_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] ceil", _sorted_set_tests_sub_set_tests_test_ceil_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] floor", _sorted_set_tests_sub_set_tests_test_floor_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] subsets", _sorted_set_tests_sub_set_tests_test_subsets_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	gee_test_case_add_test ((GeeTestCase*) self, "[SortedSet] boundaries", _sorted_set_tests_sub_set_tests_test_boundaries_gee_test_case_test_method, g_object_ref (self), g_object_unref);
	return self;
}


SortedSetTestsSubSetTests* sorted_set_tests_sub_set_tests_new (SortedSetTests* test, SortedSetTestsSubSetTestsType type, gboolean strict) {
	return sorted_set_tests_sub_set_tests_construct (SORTED_SET_TESTS_TYPE_SUB_SET_TESTS, test, type, strict);
}


static void sorted_set_tests_sub_set_tests_real_set_up (GeeTestCase* base) {
	SortedSetTestsSubSetTests * self;
	SortedSetTests* _tmp0_ = NULL;
	SortedSetTests* _tmp1_ = NULL;
	GeeCollection* _tmp2_ = NULL;
	GeeSortedSet* _tmp3_ = NULL;
	SortedSetTestsSubSetTestsType _tmp4_ = 0;
	self = (SortedSetTestsSubSetTests*) base;
	_tmp0_ = self->priv->test;
	gee_test_case_set_up ((GeeTestCase*) _tmp0_);
	_tmp1_ = self->priv->test;
	_tmp2_ = ((CollectionTests*) _tmp1_)->test_collection;
	_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, GEE_TYPE_SORTED_SET) ? ((GeeSortedSet*) _tmp2_) : NULL);
	_g_object_unref0 (self->priv->master);
	self->priv->master = _tmp3_;
	_tmp4_ = self->priv->type;
	switch (_tmp4_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp5_ = NULL;
			GeeSortedSet* _tmp6_ = NULL;
			_tmp5_ = self->priv->master;
			_tmp6_ = gee_sorted_set_head_set (_tmp5_, "one");
			_g_object_unref0 (self->priv->subset);
			self->priv->subset = _tmp6_;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp7_ = NULL;
			GeeSortedSet* _tmp8_ = NULL;
			_tmp7_ = self->priv->master;
			_tmp8_ = gee_sorted_set_tail_set (_tmp7_, "six");
			_g_object_unref0 (self->priv->subset);
			self->priv->subset = _tmp8_;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp9_ = NULL;
			GeeSortedSet* _tmp10_ = NULL;
			_tmp9_ = self->priv->master;
			_tmp10_ = gee_sorted_set_sub_set (_tmp9_, "four", "three");
			_g_object_unref0 (self->priv->subset);
			self->priv->subset = _tmp10_;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp11_ = NULL;
			GeeSortedSet* _tmp12_ = NULL;
			_tmp11_ = self->priv->master;
			_tmp12_ = gee_sorted_set_sub_set (_tmp11_, "three", "four");
			_g_object_unref0 (self->priv->subset);
			self->priv->subset = _tmp12_;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}


static void sorted_set_tests_sub_set_tests_real_tear_down (GeeTestCase* base) {
	SortedSetTestsSubSetTests * self;
	SortedSetTests* _tmp0_ = NULL;
	self = (SortedSetTestsSubSetTests*) base;
	_tmp0_ = self->priv->test;
	gee_test_case_tear_down ((GeeTestCase*) _tmp0_);
}


void sorted_set_tests_sub_set_tests_test_size (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	GeeSortedSet* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gboolean _tmp13_ = FALSE;
	GeeSortedSet* _tmp14_ = NULL;
	gboolean _tmp15_ = FALSE;
	GeeSortedSet* _tmp16_ = NULL;
	gboolean _tmp17_ = FALSE;
	GeeSortedSet* _tmp18_ = NULL;
	gint _tmp19_ = 0;
	gint _tmp20_ = 0;
	SortedSetTestsSubSetTestsType _tmp21_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->subset;
	_tmp1_ = gee_collection_get_is_empty ((GeeCollection*) _tmp0_);
	_tmp2_ = _tmp1_;
	_vala_assert (_tmp2_, "subset.is_empty");
	_tmp3_ = self->priv->subset;
	_tmp4_ = gee_collection_get_size ((GeeCollection*) _tmp3_);
	_tmp5_ = _tmp4_;
	_vala_assert (_tmp5_ == 0, "subset.size == 0");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "one");
	_vala_assert (_tmp7_, "master.add (\"one\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "two");
	_vala_assert (_tmp9_, "master.add (\"two\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "three");
	_vala_assert (_tmp11_, "master.add (\"three\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_add ((GeeCollection*) _tmp12_, "four");
	_vala_assert (_tmp13_, "master.add (\"four\")");
	_tmp14_ = self->priv->master;
	_tmp15_ = gee_collection_add ((GeeCollection*) _tmp14_, "five");
	_vala_assert (_tmp15_, "master.add (\"five\")");
	_tmp16_ = self->priv->master;
	_tmp17_ = gee_collection_add ((GeeCollection*) _tmp16_, "six");
	_vala_assert (_tmp17_, "master.add (\"six\")");
	_tmp18_ = self->priv->master;
	_tmp19_ = gee_collection_get_size ((GeeCollection*) _tmp18_);
	_tmp20_ = _tmp19_;
	_vala_assert (_tmp20_ == 6, "master.size == 6");
	_tmp21_ = self->priv->type;
	switch (_tmp21_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp22_ = NULL;
			gboolean _tmp23_ = FALSE;
			gboolean _tmp24_ = FALSE;
			GeeSortedSet* _tmp25_ = NULL;
			gint _tmp26_ = 0;
			gint _tmp27_ = 0;
			_tmp22_ = self->priv->subset;
			_tmp23_ = gee_collection_get_is_empty ((GeeCollection*) _tmp22_);
			_tmp24_ = _tmp23_;
			_vala_assert (!_tmp24_, "!subset.is_empty");
			_tmp25_ = self->priv->subset;
			_tmp26_ = gee_collection_get_size ((GeeCollection*) _tmp25_);
			_tmp27_ = _tmp26_;
			_vala_assert (_tmp27_ == 2, "subset.size == 2");
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp28_ = NULL;
			gboolean _tmp29_ = FALSE;
			gboolean _tmp30_ = FALSE;
			GeeSortedSet* _tmp31_ = NULL;
			gint _tmp32_ = 0;
			gint _tmp33_ = 0;
			_tmp28_ = self->priv->subset;
			_tmp29_ = gee_collection_get_is_empty ((GeeCollection*) _tmp28_);
			_tmp30_ = _tmp29_;
			_vala_assert (!_tmp30_, "!subset.is_empty");
			_tmp31_ = self->priv->subset;
			_tmp32_ = gee_collection_get_size ((GeeCollection*) _tmp31_);
			_tmp33_ = _tmp32_;
			_vala_assert (_tmp33_ == 3, "subset.size == 3");
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp34_ = NULL;
			gboolean _tmp35_ = FALSE;
			gboolean _tmp36_ = FALSE;
			GeeSortedSet* _tmp37_ = NULL;
			gint _tmp38_ = 0;
			gint _tmp39_ = 0;
			_tmp34_ = self->priv->subset;
			_tmp35_ = gee_collection_get_is_empty ((GeeCollection*) _tmp34_);
			_tmp36_ = _tmp35_;
			_vala_assert (!_tmp36_, "!subset.is_empty");
			_tmp37_ = self->priv->subset;
			_tmp38_ = gee_collection_get_size ((GeeCollection*) _tmp37_);
			_tmp39_ = _tmp38_;
			_vala_assert (_tmp39_ == 3, "subset.size == 3");
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp40_ = NULL;
			gboolean _tmp41_ = FALSE;
			gboolean _tmp42_ = FALSE;
			GeeSortedSet* _tmp43_ = NULL;
			gint _tmp44_ = 0;
			gint _tmp45_ = 0;
			_tmp40_ = self->priv->subset;
			_tmp41_ = gee_collection_get_is_empty ((GeeCollection*) _tmp40_);
			_tmp42_ = _tmp41_;
			_vala_assert (_tmp42_, "subset.is_empty");
			_tmp43_ = self->priv->subset;
			_tmp44_ = gee_collection_get_size ((GeeCollection*) _tmp43_);
			_tmp45_ = _tmp44_;
			_vala_assert (_tmp45_ == 0, "subset.size == 0");
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}


void sorted_set_tests_sub_set_tests_test_contains (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	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;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	gchar** _tmp48_ = NULL;
	gint _tmp48__length1 = 0;
	gchar** _tmp53_ = NULL;
	gint _tmp53__length1 = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			gchar* _tmp16_ = NULL;
			gchar* _tmp17_ = NULL;
			gchar** _tmp18_ = NULL;
			gchar* _tmp19_ = NULL;
			gchar* _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			gchar* _tmp22_ = NULL;
			gchar** _tmp23_ = NULL;
			_tmp16_ = g_strdup ("four");
			_tmp17_ = g_strdup ("five");
			_tmp18_ = g_new0 (gchar*, 2 + 1);
			_tmp18_[0] = _tmp16_;
			_tmp18_[1] = _tmp17_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp18_;
			contains_length1 = 2;
			_contains_size_ = contains_length1;
			_tmp19_ = g_strdup ("one");
			_tmp20_ = g_strdup ("two");
			_tmp21_ = g_strdup ("three");
			_tmp22_ = g_strdup ("six");
			_tmp23_ = g_new0 (gchar*, 4 + 1);
			_tmp23_[0] = _tmp19_;
			_tmp23_[1] = _tmp20_;
			_tmp23_[2] = _tmp21_;
			_tmp23_[3] = _tmp22_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp23_;
			not_contains_length1 = 4;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			gchar* _tmp24_ = NULL;
			gchar* _tmp25_ = NULL;
			gchar* _tmp26_ = NULL;
			gchar** _tmp27_ = NULL;
			gchar* _tmp28_ = NULL;
			gchar* _tmp29_ = NULL;
			gchar* _tmp30_ = NULL;
			gchar** _tmp31_ = NULL;
			_tmp24_ = g_strdup ("two");
			_tmp25_ = g_strdup ("three");
			_tmp26_ = g_strdup ("six");
			_tmp27_ = g_new0 (gchar*, 3 + 1);
			_tmp27_[0] = _tmp24_;
			_tmp27_[1] = _tmp25_;
			_tmp27_[2] = _tmp26_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp27_;
			contains_length1 = 3;
			_contains_size_ = contains_length1;
			_tmp28_ = g_strdup ("one");
			_tmp29_ = g_strdup ("four");
			_tmp30_ = g_strdup ("five");
			_tmp31_ = g_new0 (gchar*, 3 + 1);
			_tmp31_[0] = _tmp28_;
			_tmp31_[1] = _tmp29_;
			_tmp31_[2] = _tmp30_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp31_;
			not_contains_length1 = 3;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			gchar* _tmp32_ = NULL;
			gchar* _tmp33_ = NULL;
			gchar* _tmp34_ = NULL;
			gchar** _tmp35_ = NULL;
			gchar* _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			gchar* _tmp38_ = NULL;
			gchar** _tmp39_ = NULL;
			_tmp32_ = g_strdup ("one");
			_tmp33_ = g_strdup ("four");
			_tmp34_ = g_strdup ("six");
			_tmp35_ = g_new0 (gchar*, 3 + 1);
			_tmp35_[0] = _tmp32_;
			_tmp35_[1] = _tmp33_;
			_tmp35_[2] = _tmp34_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp35_;
			contains_length1 = 3;
			_contains_size_ = contains_length1;
			_tmp36_ = g_strdup ("two");
			_tmp37_ = g_strdup ("three");
			_tmp38_ = g_strdup ("five");
			_tmp39_ = g_new0 (gchar*, 3 + 1);
			_tmp39_[0] = _tmp36_;
			_tmp39_[1] = _tmp37_;
			_tmp39_[2] = _tmp38_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp39_;
			not_contains_length1 = 3;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			gchar** _tmp40_ = NULL;
			gchar* _tmp41_ = NULL;
			gchar* _tmp42_ = NULL;
			gchar* _tmp43_ = NULL;
			gchar* _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			gchar* _tmp46_ = NULL;
			gchar** _tmp47_ = NULL;
			_tmp40_ = g_new0 (gchar*, 0 + 1);
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp40_;
			contains_length1 = 0;
			_contains_size_ = contains_length1;
			_tmp41_ = g_strdup ("one");
			_tmp42_ = g_strdup ("two");
			_tmp43_ = g_strdup ("three");
			_tmp44_ = g_strdup ("four");
			_tmp45_ = g_strdup ("five");
			_tmp46_ = g_strdup ("six");
			_tmp47_ = g_new0 (gchar*, 6 + 1);
			_tmp47_[0] = _tmp41_;
			_tmp47_[1] = _tmp42_;
			_tmp47_[2] = _tmp43_;
			_tmp47_[3] = _tmp44_;
			_tmp47_[4] = _tmp45_;
			_tmp47_[5] = _tmp46_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp47_;
			not_contains_length1 = 6;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_tmp48_ = contains;
	_tmp48__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp48_;
		s_collection_length1 = _tmp48__length1;
		for (s_it = 0; s_it < _tmp48__length1; s_it = s_it + 1) {
			gchar* _tmp49_ = NULL;
			gchar* s = NULL;
			_tmp49_ = g_strdup (s_collection[s_it]);
			s = _tmp49_;
			{
				GeeSortedSet* _tmp50_ = NULL;
				const gchar* _tmp51_ = NULL;
				gboolean _tmp52_ = FALSE;
				_tmp50_ = self->priv->subset;
				_tmp51_ = s;
				_tmp52_ = gee_collection_contains ((GeeCollection*) _tmp50_, _tmp51_);
				_vala_assert (_tmp52_, "subset.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp53_ = not_contains;
	_tmp53__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp53_;
		s_collection_length1 = _tmp53__length1;
		for (s_it = 0; s_it < _tmp53__length1; s_it = s_it + 1) {
			gchar* _tmp54_ = NULL;
			gchar* s = NULL;
			_tmp54_ = g_strdup (s_collection[s_it]);
			s = _tmp54_;
			{
				GeeSortedSet* _tmp55_ = NULL;
				const gchar* _tmp56_ = NULL;
				gboolean _tmp57_ = FALSE;
				_tmp55_ = self->priv->subset;
				_tmp56_ = s;
				_tmp57_ = gee_collection_contains ((GeeCollection*) _tmp55_, _tmp56_);
				_vala_assert (!_tmp57_, "!subset.contains (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 sorted_set_tests_sub_set_tests_test_add (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	gchar** success = NULL;
	gint success_length1 = 0;
	gint _success_size_ = 0;
	gchar** fail = NULL;
	gint fail_length1 = 0;
	gint _fail_size_ = 0;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	gchar** _tmp40_ = NULL;
	gint _tmp40__length1 = 0;
	gchar** _tmp51_ = NULL;
	gint _tmp51__length1 = 0;
	GeeSortedSet* _tmp62_ = NULL;
	gint _tmp63_ = 0;
	gint _tmp64_ = 0;
	gchar** _tmp65_ = NULL;
	gint _tmp65__length1 = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			gchar* _tmp16_ = NULL;
			gchar* _tmp17_ = NULL;
			gchar** _tmp18_ = NULL;
			gchar* _tmp19_ = NULL;
			gchar* _tmp20_ = NULL;
			gchar** _tmp21_ = NULL;
			_tmp16_ = g_strdup ("a");
			_tmp17_ = g_strdup ("o");
			_tmp18_ = g_new0 (gchar*, 2 + 1);
			_tmp18_[0] = _tmp16_;
			_tmp18_[1] = _tmp17_;
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp18_;
			success_length1 = 2;
			_success_size_ = success_length1;
			_tmp19_ = g_strdup ("oz");
			_tmp20_ = g_strdup ("z");
			_tmp21_ = g_new0 (gchar*, 2 + 1);
			_tmp21_[0] = _tmp19_;
			_tmp21_[1] = _tmp20_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp21_;
			fail_length1 = 2;
			_fail_size_ = fail_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			gchar* _tmp22_ = NULL;
			gchar* _tmp23_ = NULL;
			gchar** _tmp24_ = NULL;
			gchar* _tmp25_ = NULL;
			gchar* _tmp26_ = NULL;
			gchar** _tmp27_ = NULL;
			_tmp22_ = g_strdup ("siz");
			_tmp23_ = g_strdup ("z");
			_tmp24_ = g_new0 (gchar*, 2 + 1);
			_tmp24_[0] = _tmp22_;
			_tmp24_[1] = _tmp23_;
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp24_;
			success_length1 = 2;
			_success_size_ = success_length1;
			_tmp25_ = g_strdup ("sia");
			_tmp26_ = g_strdup ("a");
			_tmp27_ = g_new0 (gchar*, 2 + 1);
			_tmp27_[0] = _tmp25_;
			_tmp27_[1] = _tmp26_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp27_;
			fail_length1 = 2;
			_fail_size_ = fail_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			gchar* _tmp28_ = NULL;
			gchar* _tmp29_ = NULL;
			gchar** _tmp30_ = NULL;
			gchar* _tmp31_ = NULL;
			gchar* _tmp32_ = NULL;
			gchar** _tmp33_ = NULL;
			_tmp28_ = g_strdup ("o");
			_tmp29_ = g_strdup ("th");
			_tmp30_ = g_new0 (gchar*, 2 + 1);
			_tmp30_[0] = _tmp28_;
			_tmp30_[1] = _tmp29_;
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp30_;
			success_length1 = 2;
			_success_size_ = success_length1;
			_tmp31_ = g_strdup ("f");
			_tmp32_ = g_strdup ("u");
			_tmp33_ = g_new0 (gchar*, 2 + 1);
			_tmp33_[0] = _tmp31_;
			_tmp33_[1] = _tmp32_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp33_;
			fail_length1 = 2;
			_fail_size_ = fail_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			gchar** _tmp34_ = NULL;
			gchar* _tmp35_ = NULL;
			gchar* _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			gchar* _tmp38_ = NULL;
			gchar** _tmp39_ = NULL;
			_tmp34_ = g_new0 (gchar*, 0 + 1);
			success = (_vala_array_free (success, success_length1, (GDestroyNotify) g_free), NULL);
			success = _tmp34_;
			success_length1 = 0;
			_success_size_ = success_length1;
			_tmp35_ = g_strdup ("o");
			_tmp36_ = g_strdup ("th");
			_tmp37_ = g_strdup ("f");
			_tmp38_ = g_strdup ("u");
			_tmp39_ = g_new0 (gchar*, 4 + 1);
			_tmp39_[0] = _tmp35_;
			_tmp39_[1] = _tmp36_;
			_tmp39_[2] = _tmp37_;
			_tmp39_[3] = _tmp38_;
			fail = (_vala_array_free (fail, fail_length1, (GDestroyNotify) g_free), NULL);
			fail = _tmp39_;
			fail_length1 = 4;
			_fail_size_ = fail_length1;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_tmp40_ = success;
	_tmp40__length1 = success_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp40_;
		s_collection_length1 = _tmp40__length1;
		for (s_it = 0; s_it < _tmp40__length1; s_it = s_it + 1) {
			gchar* _tmp41_ = NULL;
			gchar* s = NULL;
			_tmp41_ = g_strdup (s_collection[s_it]);
			s = _tmp41_;
			{
				GeeSortedSet* _tmp42_ = NULL;
				const gchar* _tmp43_ = NULL;
				gboolean _tmp44_ = FALSE;
				GeeSortedSet* _tmp45_ = NULL;
				const gchar* _tmp46_ = NULL;
				gboolean _tmp47_ = FALSE;
				GeeSortedSet* _tmp48_ = NULL;
				const gchar* _tmp49_ = NULL;
				gboolean _tmp50_ = FALSE;
				_tmp42_ = self->priv->subset;
				_tmp43_ = s;
				_tmp44_ = gee_collection_add ((GeeCollection*) _tmp42_, _tmp43_);
				_vala_assert (_tmp44_, "subset.add (s)");
				_tmp45_ = self->priv->subset;
				_tmp46_ = s;
				_tmp47_ = gee_collection_contains ((GeeCollection*) _tmp45_, _tmp46_);
				_vala_assert (_tmp47_, "subset.contains (s)");
				_tmp48_ = self->priv->master;
				_tmp49_ = s;
				_tmp50_ = gee_collection_contains ((GeeCollection*) _tmp48_, _tmp49_);
				_vala_assert (_tmp50_, "master.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp51_ = fail;
	_tmp51__length1 = fail_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp51_;
		s_collection_length1 = _tmp51__length1;
		for (s_it = 0; s_it < _tmp51__length1; s_it = s_it + 1) {
			gchar* _tmp52_ = NULL;
			gchar* s = NULL;
			_tmp52_ = g_strdup (s_collection[s_it]);
			s = _tmp52_;
			{
				GeeSortedSet* _tmp53_ = NULL;
				const gchar* _tmp54_ = NULL;
				gboolean _tmp55_ = FALSE;
				GeeSortedSet* _tmp56_ = NULL;
				const gchar* _tmp57_ = NULL;
				gboolean _tmp58_ = FALSE;
				GeeSortedSet* _tmp59_ = NULL;
				const gchar* _tmp60_ = NULL;
				gboolean _tmp61_ = FALSE;
				_tmp53_ = self->priv->subset;
				_tmp54_ = s;
				_tmp55_ = gee_collection_add ((GeeCollection*) _tmp53_, _tmp54_);
				_vala_assert (!_tmp55_, "!subset.add (s)");
				_tmp56_ = self->priv->subset;
				_tmp57_ = s;
				_tmp58_ = gee_collection_contains ((GeeCollection*) _tmp56_, _tmp57_);
				_vala_assert (!_tmp58_, "!subset.contains (s)");
				_tmp59_ = self->priv->master;
				_tmp60_ = s;
				_tmp61_ = gee_collection_contains ((GeeCollection*) _tmp59_, _tmp60_);
				_vala_assert (!_tmp61_, "!master.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp62_ = self->priv->master;
	_tmp63_ = gee_collection_get_size ((GeeCollection*) _tmp62_);
	_tmp64_ = _tmp63_;
	_tmp65_ = success;
	_tmp65__length1 = success_length1;
	_vala_assert (_tmp64_ == (6 + _tmp65__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);
}


void sorted_set_tests_sub_set_tests_test_remove (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	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;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	gchar** _tmp48_ = NULL;
	gint _tmp48__length1 = 0;
	gchar** _tmp56_ = NULL;
	gint _tmp56__length1 = 0;
	GeeSortedSet* _tmp64_ = NULL;
	gint _tmp65_ = 0;
	gint _tmp66_ = 0;
	gchar** _tmp67_ = NULL;
	gint _tmp67__length1 = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			gchar* _tmp16_ = NULL;
			gchar* _tmp17_ = NULL;
			gchar** _tmp18_ = NULL;
			gchar* _tmp19_ = NULL;
			gchar* _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			gchar* _tmp22_ = NULL;
			gchar** _tmp23_ = NULL;
			_tmp16_ = g_strdup ("four");
			_tmp17_ = g_strdup ("five");
			_tmp18_ = g_new0 (gchar*, 2 + 1);
			_tmp18_[0] = _tmp16_;
			_tmp18_[1] = _tmp17_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp18_;
			contains_length1 = 2;
			_contains_size_ = contains_length1;
			_tmp19_ = g_strdup ("one");
			_tmp20_ = g_strdup ("two");
			_tmp21_ = g_strdup ("three");
			_tmp22_ = g_strdup ("six");
			_tmp23_ = g_new0 (gchar*, 4 + 1);
			_tmp23_[0] = _tmp19_;
			_tmp23_[1] = _tmp20_;
			_tmp23_[2] = _tmp21_;
			_tmp23_[3] = _tmp22_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp23_;
			not_contains_length1 = 4;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			gchar* _tmp24_ = NULL;
			gchar* _tmp25_ = NULL;
			gchar* _tmp26_ = NULL;
			gchar** _tmp27_ = NULL;
			gchar* _tmp28_ = NULL;
			gchar* _tmp29_ = NULL;
			gchar* _tmp30_ = NULL;
			gchar** _tmp31_ = NULL;
			_tmp24_ = g_strdup ("two");
			_tmp25_ = g_strdup ("three");
			_tmp26_ = g_strdup ("six");
			_tmp27_ = g_new0 (gchar*, 3 + 1);
			_tmp27_[0] = _tmp24_;
			_tmp27_[1] = _tmp25_;
			_tmp27_[2] = _tmp26_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp27_;
			contains_length1 = 3;
			_contains_size_ = contains_length1;
			_tmp28_ = g_strdup ("one");
			_tmp29_ = g_strdup ("four");
			_tmp30_ = g_strdup ("five");
			_tmp31_ = g_new0 (gchar*, 3 + 1);
			_tmp31_[0] = _tmp28_;
			_tmp31_[1] = _tmp29_;
			_tmp31_[2] = _tmp30_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp31_;
			not_contains_length1 = 3;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			gchar* _tmp32_ = NULL;
			gchar* _tmp33_ = NULL;
			gchar* _tmp34_ = NULL;
			gchar** _tmp35_ = NULL;
			gchar* _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			gchar* _tmp38_ = NULL;
			gchar** _tmp39_ = NULL;
			_tmp32_ = g_strdup ("one");
			_tmp33_ = g_strdup ("four");
			_tmp34_ = g_strdup ("six");
			_tmp35_ = g_new0 (gchar*, 3 + 1);
			_tmp35_[0] = _tmp32_;
			_tmp35_[1] = _tmp33_;
			_tmp35_[2] = _tmp34_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp35_;
			contains_length1 = 3;
			_contains_size_ = contains_length1;
			_tmp36_ = g_strdup ("two");
			_tmp37_ = g_strdup ("three");
			_tmp38_ = g_strdup ("five");
			_tmp39_ = g_new0 (gchar*, 3 + 1);
			_tmp39_[0] = _tmp36_;
			_tmp39_[1] = _tmp37_;
			_tmp39_[2] = _tmp38_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp39_;
			not_contains_length1 = 3;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			gchar** _tmp40_ = NULL;
			gchar* _tmp41_ = NULL;
			gchar* _tmp42_ = NULL;
			gchar* _tmp43_ = NULL;
			gchar* _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			gchar* _tmp46_ = NULL;
			gchar** _tmp47_ = NULL;
			_tmp40_ = g_new0 (gchar*, 0 + 1);
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp40_;
			contains_length1 = 0;
			_contains_size_ = contains_length1;
			_tmp41_ = g_strdup ("one");
			_tmp42_ = g_strdup ("two");
			_tmp43_ = g_strdup ("three");
			_tmp44_ = g_strdup ("four");
			_tmp45_ = g_strdup ("five");
			_tmp46_ = g_strdup ("six");
			_tmp47_ = g_new0 (gchar*, 6 + 1);
			_tmp47_[0] = _tmp41_;
			_tmp47_[1] = _tmp42_;
			_tmp47_[2] = _tmp43_;
			_tmp47_[3] = _tmp44_;
			_tmp47_[4] = _tmp45_;
			_tmp47_[5] = _tmp46_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp47_;
			not_contains_length1 = 6;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_tmp48_ = contains;
	_tmp48__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp48_;
		s_collection_length1 = _tmp48__length1;
		for (s_it = 0; s_it < _tmp48__length1; s_it = s_it + 1) {
			gchar* _tmp49_ = NULL;
			gchar* s = NULL;
			_tmp49_ = g_strdup (s_collection[s_it]);
			s = _tmp49_;
			{
				GeeSortedSet* _tmp50_ = NULL;
				const gchar* _tmp51_ = NULL;
				gboolean _tmp52_ = FALSE;
				GeeSortedSet* _tmp53_ = NULL;
				const gchar* _tmp54_ = NULL;
				gboolean _tmp55_ = FALSE;
				_tmp50_ = self->priv->subset;
				_tmp51_ = s;
				_tmp52_ = gee_collection_remove ((GeeCollection*) _tmp50_, _tmp51_);
				_vala_assert (_tmp52_, "subset.remove (s)");
				_tmp53_ = self->priv->master;
				_tmp54_ = s;
				_tmp55_ = gee_collection_contains ((GeeCollection*) _tmp53_, _tmp54_);
				_vala_assert (!_tmp55_, "!master.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp56_ = not_contains;
	_tmp56__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp56_;
		s_collection_length1 = _tmp56__length1;
		for (s_it = 0; s_it < _tmp56__length1; s_it = s_it + 1) {
			gchar* _tmp57_ = NULL;
			gchar* s = NULL;
			_tmp57_ = g_strdup (s_collection[s_it]);
			s = _tmp57_;
			{
				GeeSortedSet* _tmp58_ = NULL;
				const gchar* _tmp59_ = NULL;
				gboolean _tmp60_ = FALSE;
				GeeSortedSet* _tmp61_ = NULL;
				const gchar* _tmp62_ = NULL;
				gboolean _tmp63_ = FALSE;
				_tmp58_ = self->priv->subset;
				_tmp59_ = s;
				_tmp60_ = gee_collection_remove ((GeeCollection*) _tmp58_, _tmp59_);
				_vala_assert (!_tmp60_, "!subset.remove (s)");
				_tmp61_ = self->priv->master;
				_tmp62_ = s;
				_tmp63_ = gee_collection_contains ((GeeCollection*) _tmp61_, _tmp62_);
				_vala_assert (_tmp63_, "master.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp64_ = self->priv->master;
	_tmp65_ = gee_collection_get_size ((GeeCollection*) _tmp64_);
	_tmp66_ = _tmp65_;
	_tmp67_ = contains;
	_tmp67__length1 = contains_length1;
	_vala_assert (_tmp66_ == (6 - _tmp67__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 sorted_set_tests_sub_set_tests_test_iterator (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	gchar** contains = NULL;
	gint contains_length1 = 0;
	gint _contains_size_ = 0;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	guint i = 0U;
	guint _tmp38_ = 0U;
	gchar** _tmp39_ = NULL;
	gint _tmp39__length1 = 0;
	GeeIterator* iter = NULL;
	GeeSortedSet* _tmp40_ = NULL;
	GeeIterator* _tmp41_ = NULL;
	SortedSetTestsSubSetTestsType _tmp42_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			gchar* _tmp16_ = NULL;
			gchar* _tmp17_ = NULL;
			gchar** _tmp18_ = NULL;
			_tmp16_ = g_strdup ("five");
			_tmp17_ = g_strdup ("four");
			_tmp18_ = g_new0 (gchar*, 2 + 1);
			_tmp18_[0] = _tmp16_;
			_tmp18_[1] = _tmp17_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp18_;
			contains_length1 = 2;
			_contains_size_ = contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			gchar* _tmp19_ = NULL;
			gchar* _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			gchar** _tmp22_ = NULL;
			_tmp19_ = g_strdup ("six");
			_tmp20_ = g_strdup ("three");
			_tmp21_ = g_strdup ("two");
			_tmp22_ = g_new0 (gchar*, 3 + 1);
			_tmp22_[0] = _tmp19_;
			_tmp22_[1] = _tmp20_;
			_tmp22_[2] = _tmp21_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp22_;
			contains_length1 = 3;
			_contains_size_ = contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			gchar* _tmp23_ = NULL;
			gchar* _tmp24_ = NULL;
			gchar* _tmp25_ = NULL;
			gchar** _tmp26_ = 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_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp26_;
			contains_length1 = 3;
			_contains_size_ = contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			gchar** _tmp27_ = NULL;
			_tmp27_ = g_new0 (gchar*, 0 + 1);
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp27_;
			contains_length1 = 0;
			_contains_size_ = contains_length1;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	i = (guint) 0;
	{
		GeeIterator* _e_it = NULL;
		GeeSortedSet* _tmp28_ = NULL;
		GeeIterator* _tmp29_ = NULL;
		_tmp28_ = self->priv->subset;
		_tmp29_ = gee_iterable_iterator ((GeeIterable*) _tmp28_);
		_e_it = _tmp29_;
		while (TRUE) {
			GeeIterator* _tmp30_ = NULL;
			gboolean _tmp31_ = FALSE;
			gchar* e = NULL;
			GeeIterator* _tmp32_ = NULL;
			gpointer _tmp33_ = NULL;
			const gchar* _tmp34_ = NULL;
			gchar** _tmp35_ = NULL;
			gint _tmp35__length1 = 0;
			guint _tmp36_ = 0U;
			const gchar* _tmp37_ = NULL;
			_tmp30_ = _e_it;
			_tmp31_ = gee_iterator_next (_tmp30_);
			if (!_tmp31_) {
				break;
			}
			_tmp32_ = _e_it;
			_tmp33_ = gee_iterator_get (_tmp32_);
			e = (gchar*) _tmp33_;
			_tmp34_ = e;
			_tmp35_ = contains;
			_tmp35__length1 = contains_length1;
			_tmp36_ = i;
			i = _tmp36_ + 1;
			_tmp37_ = _tmp35_[_tmp36_];
			_vala_assert (g_strcmp0 (_tmp34_, _tmp37_) == 0, "e == contains[i++]");
			_g_free0 (e);
		}
		_g_object_unref0 (_e_it);
	}
	_tmp38_ = i;
	_tmp39_ = contains;
	_tmp39__length1 = contains_length1;
	_vala_assert (_tmp38_ == ((guint) _tmp39__length1), "i == contains.length");
	_tmp40_ = self->priv->subset;
	_tmp41_ = gee_iterable_iterator ((GeeIterable*) _tmp40_);
	iter = _tmp41_;
	_tmp42_ = self->priv->type;
	if (_tmp42_ != SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY) {
		GeeIterator* _tmp43_ = NULL;
		gboolean _tmp44_ = FALSE;
		GeeIterator* _tmp45_ = NULL;
		gboolean _tmp46_ = FALSE;
		GeeIterator* _tmp47_ = NULL;
		gpointer _tmp48_ = NULL;
		gchar* _tmp49_ = NULL;
		gchar** _tmp50_ = NULL;
		gint _tmp50__length1 = 0;
		const gchar* _tmp51_ = NULL;
		GeeIterator* _tmp52_ = NULL;
		gboolean _tmp53_ = FALSE;
		GeeIterator* _tmp54_ = NULL;
		gboolean _tmp55_ = FALSE;
		GeeIterator* _tmp56_ = NULL;
		gpointer _tmp57_ = NULL;
		gchar* _tmp58_ = NULL;
		gchar** _tmp59_ = NULL;
		gint _tmp59__length1 = 0;
		const gchar* _tmp60_ = NULL;
		_tmp43_ = iter;
		_tmp44_ = gee_iterator_has_next (_tmp43_);
		_vala_assert (_tmp44_, "iter.has_next ()");
		_tmp45_ = iter;
		_tmp46_ = gee_iterator_next (_tmp45_);
		_vala_assert (_tmp46_, "iter.next ()");
		_tmp47_ = iter;
		_tmp48_ = gee_iterator_get (_tmp47_);
		_tmp49_ = (gchar*) _tmp48_;
		_tmp50_ = contains;
		_tmp50__length1 = contains_length1;
		_tmp51_ = _tmp50_[0];
		_vala_assert (g_strcmp0 (_tmp49_, _tmp51_) == 0, "iter.get () == contains[0]");
		_g_free0 (_tmp49_);
		_tmp52_ = iter;
		_tmp53_ = gee_iterator_has_next (_tmp52_);
		_vala_assert (_tmp53_, "iter.has_next ()");
		_tmp54_ = iter;
		_tmp55_ = gee_iterator_next (_tmp54_);
		_vala_assert (_tmp55_, "iter.next ()");
		_tmp56_ = iter;
		_tmp57_ = gee_iterator_get (_tmp56_);
		_tmp58_ = (gchar*) _tmp57_;
		_tmp59_ = contains;
		_tmp59__length1 = contains_length1;
		_tmp60_ = _tmp59_[1];
		_vala_assert (g_strcmp0 (_tmp58_, _tmp60_) == 0, "iter.get () == contains[1]");
		_g_free0 (_tmp58_);
	} else {
		gboolean _tmp61_ = FALSE;
		_tmp61_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
		if (_tmp61_) {
			GeeIterator* _tmp62_ = NULL;
			_tmp62_ = iter;
			gee_iterator_remove (_tmp62_);
			exit (0);
		}
		g_test_trap_assert_failed ();
	}
	_g_object_unref0 (iter);
	contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
}


void sorted_set_tests_sub_set_tests_test_clear (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	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;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	GeeSortedSet* _tmp48_ = NULL;
	gchar** _tmp49_ = NULL;
	gint _tmp49__length1 = 0;
	gchar** _tmp54_ = NULL;
	gint _tmp54__length1 = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			gchar* _tmp16_ = NULL;
			gchar* _tmp17_ = NULL;
			gchar** _tmp18_ = NULL;
			gchar* _tmp19_ = NULL;
			gchar* _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			gchar* _tmp22_ = NULL;
			gchar** _tmp23_ = NULL;
			_tmp16_ = g_strdup ("four");
			_tmp17_ = g_strdup ("five");
			_tmp18_ = g_new0 (gchar*, 2 + 1);
			_tmp18_[0] = _tmp16_;
			_tmp18_[1] = _tmp17_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp18_;
			contains_length1 = 2;
			_contains_size_ = contains_length1;
			_tmp19_ = g_strdup ("one");
			_tmp20_ = g_strdup ("two");
			_tmp21_ = g_strdup ("three");
			_tmp22_ = g_strdup ("six");
			_tmp23_ = g_new0 (gchar*, 4 + 1);
			_tmp23_[0] = _tmp19_;
			_tmp23_[1] = _tmp20_;
			_tmp23_[2] = _tmp21_;
			_tmp23_[3] = _tmp22_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp23_;
			not_contains_length1 = 4;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			gchar* _tmp24_ = NULL;
			gchar* _tmp25_ = NULL;
			gchar* _tmp26_ = NULL;
			gchar** _tmp27_ = NULL;
			gchar* _tmp28_ = NULL;
			gchar* _tmp29_ = NULL;
			gchar* _tmp30_ = NULL;
			gchar** _tmp31_ = NULL;
			_tmp24_ = g_strdup ("two");
			_tmp25_ = g_strdup ("three");
			_tmp26_ = g_strdup ("six");
			_tmp27_ = g_new0 (gchar*, 3 + 1);
			_tmp27_[0] = _tmp24_;
			_tmp27_[1] = _tmp25_;
			_tmp27_[2] = _tmp26_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp27_;
			contains_length1 = 3;
			_contains_size_ = contains_length1;
			_tmp28_ = g_strdup ("one");
			_tmp29_ = g_strdup ("four");
			_tmp30_ = g_strdup ("five");
			_tmp31_ = g_new0 (gchar*, 3 + 1);
			_tmp31_[0] = _tmp28_;
			_tmp31_[1] = _tmp29_;
			_tmp31_[2] = _tmp30_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp31_;
			not_contains_length1 = 3;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			gchar* _tmp32_ = NULL;
			gchar* _tmp33_ = NULL;
			gchar* _tmp34_ = NULL;
			gchar** _tmp35_ = NULL;
			gchar* _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			gchar* _tmp38_ = NULL;
			gchar** _tmp39_ = NULL;
			_tmp32_ = g_strdup ("one");
			_tmp33_ = g_strdup ("four");
			_tmp34_ = g_strdup ("six");
			_tmp35_ = g_new0 (gchar*, 3 + 1);
			_tmp35_[0] = _tmp32_;
			_tmp35_[1] = _tmp33_;
			_tmp35_[2] = _tmp34_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp35_;
			contains_length1 = 3;
			_contains_size_ = contains_length1;
			_tmp36_ = g_strdup ("two");
			_tmp37_ = g_strdup ("three");
			_tmp38_ = g_strdup ("five");
			_tmp39_ = g_new0 (gchar*, 3 + 1);
			_tmp39_[0] = _tmp36_;
			_tmp39_[1] = _tmp37_;
			_tmp39_[2] = _tmp38_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp39_;
			not_contains_length1 = 3;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			gchar** _tmp40_ = NULL;
			gchar* _tmp41_ = NULL;
			gchar* _tmp42_ = NULL;
			gchar* _tmp43_ = NULL;
			gchar* _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			gchar* _tmp46_ = NULL;
			gchar** _tmp47_ = NULL;
			_tmp40_ = g_new0 (gchar*, 0 + 1);
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp40_;
			contains_length1 = 0;
			_contains_size_ = contains_length1;
			_tmp41_ = g_strdup ("one");
			_tmp42_ = g_strdup ("two");
			_tmp43_ = g_strdup ("three");
			_tmp44_ = g_strdup ("four");
			_tmp45_ = g_strdup ("five");
			_tmp46_ = g_strdup ("six");
			_tmp47_ = g_new0 (gchar*, 6 + 1);
			_tmp47_[0] = _tmp41_;
			_tmp47_[1] = _tmp42_;
			_tmp47_[2] = _tmp43_;
			_tmp47_[3] = _tmp44_;
			_tmp47_[4] = _tmp45_;
			_tmp47_[5] = _tmp46_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp47_;
			not_contains_length1 = 6;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_tmp48_ = self->priv->subset;
	gee_collection_clear ((GeeCollection*) _tmp48_);
	_tmp49_ = contains;
	_tmp49__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp49_;
		s_collection_length1 = _tmp49__length1;
		for (s_it = 0; s_it < _tmp49__length1; s_it = s_it + 1) {
			gchar* _tmp50_ = NULL;
			gchar* s = NULL;
			_tmp50_ = g_strdup (s_collection[s_it]);
			s = _tmp50_;
			{
				GeeSortedSet* _tmp51_ = NULL;
				const gchar* _tmp52_ = NULL;
				gboolean _tmp53_ = FALSE;
				_tmp51_ = self->priv->master;
				_tmp52_ = s;
				_tmp53_ = gee_collection_contains ((GeeCollection*) _tmp51_, _tmp52_);
				_vala_assert (!_tmp53_, "!master.contains (s)");
				_g_free0 (s);
			}
		}
	}
	_tmp54_ = not_contains;
	_tmp54__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp54_;
		s_collection_length1 = _tmp54__length1;
		for (s_it = 0; s_it < _tmp54__length1; s_it = s_it + 1) {
			gchar* _tmp55_ = NULL;
			gchar* s = NULL;
			_tmp55_ = g_strdup (s_collection[s_it]);
			s = _tmp55_;
			{
				GeeSortedSet* _tmp56_ = NULL;
				const gchar* _tmp57_ = NULL;
				gboolean _tmp58_ = FALSE;
				_tmp56_ = self->priv->master;
				_tmp57_ = s;
				_tmp58_ = gee_collection_contains ((GeeCollection*) _tmp56_, _tmp57_);
				_vala_assert (_tmp58_, "master.contains (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 sorted_set_tests_sub_set_tests_test_boundaries (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp16_ = NULL;
			gpointer _tmp17_ = NULL;
			gchar* _tmp18_ = NULL;
			GeeSortedSet* _tmp19_ = NULL;
			gpointer _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			_tmp16_ = self->priv->subset;
			_tmp17_ = gee_sorted_set_first (_tmp16_);
			_tmp18_ = (gchar*) _tmp17_;
			_vala_assert (g_strcmp0 (_tmp18_, "five") == 0, "subset.first () == \"five\"");
			_g_free0 (_tmp18_);
			_tmp19_ = self->priv->subset;
			_tmp20_ = gee_sorted_set_last (_tmp19_);
			_tmp21_ = (gchar*) _tmp20_;
			_vala_assert (g_strcmp0 (_tmp21_, "four") == 0, "subset.last () == \"four\"");
			_g_free0 (_tmp21_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp22_ = NULL;
			gpointer _tmp23_ = NULL;
			gchar* _tmp24_ = NULL;
			GeeSortedSet* _tmp25_ = NULL;
			gpointer _tmp26_ = NULL;
			gchar* _tmp27_ = NULL;
			_tmp22_ = self->priv->subset;
			_tmp23_ = gee_sorted_set_first (_tmp22_);
			_tmp24_ = (gchar*) _tmp23_;
			_vala_assert (g_strcmp0 (_tmp24_, "six") == 0, "subset.first () == \"six\"");
			_g_free0 (_tmp24_);
			_tmp25_ = self->priv->subset;
			_tmp26_ = gee_sorted_set_last (_tmp25_);
			_tmp27_ = (gchar*) _tmp26_;
			_vala_assert (g_strcmp0 (_tmp27_, "two") == 0, "subset.last () == \"two\"");
			_g_free0 (_tmp27_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp28_ = NULL;
			gpointer _tmp29_ = NULL;
			gchar* _tmp30_ = NULL;
			GeeSortedSet* _tmp31_ = NULL;
			gpointer _tmp32_ = NULL;
			gchar* _tmp33_ = NULL;
			_tmp28_ = self->priv->subset;
			_tmp29_ = gee_sorted_set_first (_tmp28_);
			_tmp30_ = (gchar*) _tmp29_;
			_vala_assert (g_strcmp0 (_tmp30_, "four") == 0, "subset.first () == \"four\"");
			_g_free0 (_tmp30_);
			_tmp31_ = self->priv->subset;
			_tmp32_ = gee_sorted_set_last (_tmp31_);
			_tmp33_ = (gchar*) _tmp32_;
			_vala_assert (g_strcmp0 (_tmp33_, "six") == 0, "subset.last () == \"six\"");
			_g_free0 (_tmp33_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			gboolean _tmp34_ = FALSE;
			_tmp34_ = self->priv->strict;
			if (_tmp34_) {
				gboolean _tmp35_ = FALSE;
				gboolean _tmp39_ = FALSE;
				_tmp35_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
				if (_tmp35_) {
					GeeSortedSet* _tmp36_ = NULL;
					gpointer _tmp37_ = NULL;
					gchar* _tmp38_ = NULL;
					_tmp36_ = self->priv->subset;
					_tmp37_ = gee_sorted_set_first (_tmp36_);
					_tmp38_ = (gchar*) _tmp37_;
					_g_free0 (_tmp38_);
					exit (0);
				}
				g_test_trap_assert_failed ();
				_tmp39_ = g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR);
				if (_tmp39_) {
					GeeSortedSet* _tmp40_ = NULL;
					gpointer _tmp41_ = NULL;
					gchar* _tmp42_ = NULL;
					_tmp40_ = self->priv->subset;
					_tmp41_ = gee_sorted_set_last (_tmp40_);
					_tmp42_ = (gchar*) _tmp41_;
					_g_free0 (_tmp42_);
					exit (0);
				}
				g_test_trap_assert_failed ();
			}
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}


void sorted_set_tests_sub_set_tests_test_iterator_at (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	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;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	gchar** _tmp48_ = NULL;
	gint _tmp48__length1 = 0;
	gchar** _tmp58_ = NULL;
	gint _tmp58__length1 = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			gchar* _tmp16_ = NULL;
			gchar* _tmp17_ = NULL;
			gchar** _tmp18_ = NULL;
			gchar* _tmp19_ = NULL;
			gchar* _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			gchar* _tmp22_ = NULL;
			gchar** _tmp23_ = NULL;
			_tmp16_ = g_strdup ("four");
			_tmp17_ = g_strdup ("five");
			_tmp18_ = g_new0 (gchar*, 2 + 1);
			_tmp18_[0] = _tmp16_;
			_tmp18_[1] = _tmp17_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp18_;
			contains_length1 = 2;
			_contains_size_ = contains_length1;
			_tmp19_ = g_strdup ("one");
			_tmp20_ = g_strdup ("two");
			_tmp21_ = g_strdup ("three");
			_tmp22_ = g_strdup ("six");
			_tmp23_ = g_new0 (gchar*, 4 + 1);
			_tmp23_[0] = _tmp19_;
			_tmp23_[1] = _tmp20_;
			_tmp23_[2] = _tmp21_;
			_tmp23_[3] = _tmp22_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp23_;
			not_contains_length1 = 4;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			gchar* _tmp24_ = NULL;
			gchar* _tmp25_ = NULL;
			gchar* _tmp26_ = NULL;
			gchar** _tmp27_ = NULL;
			gchar* _tmp28_ = NULL;
			gchar* _tmp29_ = NULL;
			gchar* _tmp30_ = NULL;
			gchar** _tmp31_ = NULL;
			_tmp24_ = g_strdup ("two");
			_tmp25_ = g_strdup ("three");
			_tmp26_ = g_strdup ("six");
			_tmp27_ = g_new0 (gchar*, 3 + 1);
			_tmp27_[0] = _tmp24_;
			_tmp27_[1] = _tmp25_;
			_tmp27_[2] = _tmp26_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp27_;
			contains_length1 = 3;
			_contains_size_ = contains_length1;
			_tmp28_ = g_strdup ("one");
			_tmp29_ = g_strdup ("four");
			_tmp30_ = g_strdup ("five");
			_tmp31_ = g_new0 (gchar*, 3 + 1);
			_tmp31_[0] = _tmp28_;
			_tmp31_[1] = _tmp29_;
			_tmp31_[2] = _tmp30_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp31_;
			not_contains_length1 = 3;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			gchar* _tmp32_ = NULL;
			gchar* _tmp33_ = NULL;
			gchar* _tmp34_ = NULL;
			gchar** _tmp35_ = NULL;
			gchar* _tmp36_ = NULL;
			gchar* _tmp37_ = NULL;
			gchar* _tmp38_ = NULL;
			gchar** _tmp39_ = NULL;
			_tmp32_ = g_strdup ("one");
			_tmp33_ = g_strdup ("four");
			_tmp34_ = g_strdup ("six");
			_tmp35_ = g_new0 (gchar*, 3 + 1);
			_tmp35_[0] = _tmp32_;
			_tmp35_[1] = _tmp33_;
			_tmp35_[2] = _tmp34_;
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp35_;
			contains_length1 = 3;
			_contains_size_ = contains_length1;
			_tmp36_ = g_strdup ("two");
			_tmp37_ = g_strdup ("three");
			_tmp38_ = g_strdup ("five");
			_tmp39_ = g_new0 (gchar*, 3 + 1);
			_tmp39_[0] = _tmp36_;
			_tmp39_[1] = _tmp37_;
			_tmp39_[2] = _tmp38_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp39_;
			not_contains_length1 = 3;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			gchar** _tmp40_ = NULL;
			gchar* _tmp41_ = NULL;
			gchar* _tmp42_ = NULL;
			gchar* _tmp43_ = NULL;
			gchar* _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			gchar* _tmp46_ = NULL;
			gchar** _tmp47_ = NULL;
			_tmp40_ = g_new0 (gchar*, 0 + 1);
			contains = (_vala_array_free (contains, contains_length1, (GDestroyNotify) g_free), NULL);
			contains = _tmp40_;
			contains_length1 = 0;
			_contains_size_ = contains_length1;
			_tmp41_ = g_strdup ("one");
			_tmp42_ = g_strdup ("two");
			_tmp43_ = g_strdup ("three");
			_tmp44_ = g_strdup ("four");
			_tmp45_ = g_strdup ("five");
			_tmp46_ = g_strdup ("six");
			_tmp47_ = g_new0 (gchar*, 6 + 1);
			_tmp47_[0] = _tmp41_;
			_tmp47_[1] = _tmp42_;
			_tmp47_[2] = _tmp43_;
			_tmp47_[3] = _tmp44_;
			_tmp47_[4] = _tmp45_;
			_tmp47_[5] = _tmp46_;
			not_contains = (_vala_array_free (not_contains, not_contains_length1, (GDestroyNotify) g_free), NULL);
			not_contains = _tmp47_;
			not_contains_length1 = 6;
			_not_contains_size_ = not_contains_length1;
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
	_tmp48_ = contains;
	_tmp48__length1 = contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp48_;
		s_collection_length1 = _tmp48__length1;
		for (s_it = 0; s_it < _tmp48__length1; s_it = s_it + 1) {
			gchar* _tmp49_ = NULL;
			gchar* s = NULL;
			_tmp49_ = g_strdup (s_collection[s_it]);
			s = _tmp49_;
			{
				GeeIterator* iter = NULL;
				GeeSortedSet* _tmp50_ = NULL;
				const gchar* _tmp51_ = NULL;
				GeeIterator* _tmp52_ = NULL;
				GeeIterator* _tmp53_ = NULL;
				GeeIterator* _tmp54_ = NULL;
				gpointer _tmp55_ = NULL;
				gchar* _tmp56_ = NULL;
				const gchar* _tmp57_ = NULL;
				_tmp50_ = self->priv->subset;
				_tmp51_ = s;
				_tmp52_ = gee_sorted_set_iterator_at (_tmp50_, _tmp51_);
				iter = _tmp52_;
				_tmp53_ = iter;
				_vala_assert (_tmp53_ != NULL, "iter != null");
				_tmp54_ = iter;
				_tmp55_ = gee_iterator_get (_tmp54_);
				_tmp56_ = (gchar*) _tmp55_;
				_tmp57_ = s;
				_vala_assert (g_strcmp0 (_tmp56_, _tmp57_) == 0, "iter.get () == s");
				_g_free0 (_tmp56_);
				_g_object_unref0 (iter);
				_g_free0 (s);
			}
		}
	}
	_tmp58_ = not_contains;
	_tmp58__length1 = not_contains_length1;
	{
		gchar** s_collection = NULL;
		gint s_collection_length1 = 0;
		gint _s_collection_size_ = 0;
		gint s_it = 0;
		s_collection = _tmp58_;
		s_collection_length1 = _tmp58__length1;
		for (s_it = 0; s_it < _tmp58__length1; s_it = s_it + 1) {
			gchar* _tmp59_ = NULL;
			gchar* s = NULL;
			_tmp59_ = g_strdup (s_collection[s_it]);
			s = _tmp59_;
			{
				GeeIterator* iter = NULL;
				GeeSortedSet* _tmp60_ = NULL;
				const gchar* _tmp61_ = NULL;
				GeeIterator* _tmp62_ = NULL;
				GeeIterator* _tmp63_ = NULL;
				_tmp60_ = self->priv->subset;
				_tmp61_ = s;
				_tmp62_ = gee_sorted_set_iterator_at (_tmp60_, _tmp61_);
				iter = _tmp62_;
				_tmp63_ = iter;
				_vala_assert (_tmp63_ == NULL, "iter == null");
				_g_object_unref0 (iter);
				_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 sorted_set_tests_sub_set_tests_test_lower (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp16_ = NULL;
			gpointer _tmp17_ = NULL;
			gchar* _tmp18_ = NULL;
			GeeSortedSet* _tmp19_ = NULL;
			gpointer _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			GeeSortedSet* _tmp22_ = NULL;
			gpointer _tmp23_ = NULL;
			gchar* _tmp24_ = NULL;
			GeeSortedSet* _tmp25_ = NULL;
			gpointer _tmp26_ = NULL;
			gchar* _tmp27_ = NULL;
			_tmp16_ = self->priv->subset;
			_tmp17_ = gee_sorted_set_lower (_tmp16_, "a");
			_tmp18_ = (gchar*) _tmp17_;
			_vala_assert (_tmp18_ == NULL, "subset.lower (\"a\") == null");
			_g_free0 (_tmp18_);
			_tmp19_ = self->priv->subset;
			_tmp20_ = gee_sorted_set_lower (_tmp19_, "five");
			_tmp21_ = (gchar*) _tmp20_;
			_vala_assert (_tmp21_ == NULL, "subset.lower (\"five\") == null");
			_g_free0 (_tmp21_);
			_tmp22_ = self->priv->subset;
			_tmp23_ = gee_sorted_set_lower (_tmp22_, "four");
			_tmp24_ = (gchar*) _tmp23_;
			_vala_assert (g_strcmp0 (_tmp24_, "five") == 0, "subset.lower (\"four\") == \"five\"");
			_g_free0 (_tmp24_);
			_tmp25_ = self->priv->subset;
			_tmp26_ = gee_sorted_set_lower (_tmp25_, "six");
			_tmp27_ = (gchar*) _tmp26_;
			_vala_assert (g_strcmp0 (_tmp27_, "four") == 0, "subset.lower (\"six\") == \"four\"");
			_g_free0 (_tmp27_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp28_ = NULL;
			gpointer _tmp29_ = NULL;
			gchar* _tmp30_ = NULL;
			GeeSortedSet* _tmp31_ = NULL;
			gpointer _tmp32_ = NULL;
			gchar* _tmp33_ = NULL;
			GeeSortedSet* _tmp34_ = NULL;
			gpointer _tmp35_ = NULL;
			gchar* _tmp36_ = NULL;
			GeeSortedSet* _tmp37_ = NULL;
			gpointer _tmp38_ = NULL;
			gchar* _tmp39_ = NULL;
			GeeSortedSet* _tmp40_ = NULL;
			gpointer _tmp41_ = NULL;
			gchar* _tmp42_ = NULL;
			_tmp28_ = self->priv->subset;
			_tmp29_ = gee_sorted_set_lower (_tmp28_, "one");
			_tmp30_ = (gchar*) _tmp29_;
			_vala_assert (_tmp30_ == NULL, "subset.lower (\"one\") == null");
			_g_free0 (_tmp30_);
			_tmp31_ = self->priv->subset;
			_tmp32_ = gee_sorted_set_lower (_tmp31_, "six");
			_tmp33_ = (gchar*) _tmp32_;
			_vala_assert (_tmp33_ == NULL, "subset.lower (\"six\") == null");
			_g_free0 (_tmp33_);
			_tmp34_ = self->priv->subset;
			_tmp35_ = gee_sorted_set_lower (_tmp34_, "three");
			_tmp36_ = (gchar*) _tmp35_;
			_vala_assert (g_strcmp0 (_tmp36_, "six") == 0, "subset.lower (\"three\") == \"six\"");
			_g_free0 (_tmp36_);
			_tmp37_ = self->priv->subset;
			_tmp38_ = gee_sorted_set_lower (_tmp37_, "two");
			_tmp39_ = (gchar*) _tmp38_;
			_vala_assert (g_strcmp0 (_tmp39_, "three") == 0, "subset.lower (\"two\") == \"three\"");
			_g_free0 (_tmp39_);
			_tmp40_ = self->priv->subset;
			_tmp41_ = gee_sorted_set_lower (_tmp40_, "z");
			_tmp42_ = (gchar*) _tmp41_;
			_vala_assert (g_strcmp0 (_tmp42_, "two") == 0, "subset.lower (\"z\") == \"two\"");
			_g_free0 (_tmp42_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp43_ = NULL;
			gpointer _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			GeeSortedSet* _tmp46_ = NULL;
			gpointer _tmp47_ = NULL;
			gchar* _tmp48_ = NULL;
			GeeSortedSet* _tmp49_ = NULL;
			gpointer _tmp50_ = NULL;
			gchar* _tmp51_ = NULL;
			GeeSortedSet* _tmp52_ = NULL;
			gpointer _tmp53_ = NULL;
			gchar* _tmp54_ = NULL;
			GeeSortedSet* _tmp55_ = NULL;
			gpointer _tmp56_ = NULL;
			gchar* _tmp57_ = NULL;
			_tmp43_ = self->priv->subset;
			_tmp44_ = gee_sorted_set_lower (_tmp43_, "five");
			_tmp45_ = (gchar*) _tmp44_;
			_vala_assert (_tmp45_ == NULL, "subset.lower (\"five\") == null");
			_g_free0 (_tmp45_);
			_tmp46_ = self->priv->subset;
			_tmp47_ = gee_sorted_set_lower (_tmp46_, "four");
			_tmp48_ = (gchar*) _tmp47_;
			_vala_assert (_tmp48_ == NULL, "subset.lower (\"four\") == null");
			_g_free0 (_tmp48_);
			_tmp49_ = self->priv->subset;
			_tmp50_ = gee_sorted_set_lower (_tmp49_, "one");
			_tmp51_ = (gchar*) _tmp50_;
			_vala_assert (g_strcmp0 (_tmp51_, "four") == 0, "subset.lower (\"one\") == \"four\"");
			_g_free0 (_tmp51_);
			_tmp52_ = self->priv->subset;
			_tmp53_ = gee_sorted_set_lower (_tmp52_, "six");
			_tmp54_ = (gchar*) _tmp53_;
			_vala_assert (g_strcmp0 (_tmp54_, "one") == 0, "subset.lower (\"six\") == \"one\"");
			_g_free0 (_tmp54_);
			_tmp55_ = self->priv->subset;
			_tmp56_ = gee_sorted_set_lower (_tmp55_, "three");
			_tmp57_ = (gchar*) _tmp56_;
			_vala_assert (g_strcmp0 (_tmp57_, "six") == 0, "subset.lower (\"three\") == \"six\"");
			_g_free0 (_tmp57_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp58_ = NULL;
			gpointer _tmp59_ = NULL;
			gchar* _tmp60_ = NULL;
			_tmp58_ = self->priv->subset;
			_tmp59_ = gee_sorted_set_lower (_tmp58_, "six");
			_tmp60_ = (gchar*) _tmp59_;
			_vala_assert (_tmp60_ == NULL, "subset.lower (\"six\") == null");
			_g_free0 (_tmp60_);
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}


void sorted_set_tests_sub_set_tests_test_higher (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp16_ = NULL;
			gpointer _tmp17_ = NULL;
			gchar* _tmp18_ = NULL;
			GeeSortedSet* _tmp19_ = NULL;
			gpointer _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			GeeSortedSet* _tmp22_ = NULL;
			gpointer _tmp23_ = NULL;
			gchar* _tmp24_ = NULL;
			GeeSortedSet* _tmp25_ = NULL;
			gpointer _tmp26_ = NULL;
			gchar* _tmp27_ = NULL;
			_tmp16_ = self->priv->subset;
			_tmp17_ = gee_sorted_set_higher (_tmp16_, "a");
			_tmp18_ = (gchar*) _tmp17_;
			_vala_assert (g_strcmp0 (_tmp18_, "five") == 0, "subset.higher (\"a\") == \"five\"");
			_g_free0 (_tmp18_);
			_tmp19_ = self->priv->subset;
			_tmp20_ = gee_sorted_set_higher (_tmp19_, "five");
			_tmp21_ = (gchar*) _tmp20_;
			_vala_assert (g_strcmp0 (_tmp21_, "four") == 0, "subset.higher (\"five\") == \"four\"");
			_g_free0 (_tmp21_);
			_tmp22_ = self->priv->subset;
			_tmp23_ = gee_sorted_set_higher (_tmp22_, "four");
			_tmp24_ = (gchar*) _tmp23_;
			_vala_assert (_tmp24_ == NULL, "subset.higher (\"four\") == null");
			_g_free0 (_tmp24_);
			_tmp25_ = self->priv->subset;
			_tmp26_ = gee_sorted_set_higher (_tmp25_, "six");
			_tmp27_ = (gchar*) _tmp26_;
			_vala_assert (_tmp27_ == NULL, "subset.higher (\"six\") == null");
			_g_free0 (_tmp27_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp28_ = NULL;
			gpointer _tmp29_ = NULL;
			gchar* _tmp30_ = NULL;
			GeeSortedSet* _tmp31_ = NULL;
			gpointer _tmp32_ = NULL;
			gchar* _tmp33_ = NULL;
			GeeSortedSet* _tmp34_ = NULL;
			gpointer _tmp35_ = NULL;
			gchar* _tmp36_ = NULL;
			GeeSortedSet* _tmp37_ = NULL;
			gpointer _tmp38_ = NULL;
			gchar* _tmp39_ = NULL;
			GeeSortedSet* _tmp40_ = NULL;
			gpointer _tmp41_ = NULL;
			gchar* _tmp42_ = NULL;
			_tmp28_ = self->priv->subset;
			_tmp29_ = gee_sorted_set_higher (_tmp28_, "one");
			_tmp30_ = (gchar*) _tmp29_;
			_vala_assert (g_strcmp0 (_tmp30_, "six") == 0, "subset.higher (\"one\") == \"six\"");
			_g_free0 (_tmp30_);
			_tmp31_ = self->priv->subset;
			_tmp32_ = gee_sorted_set_higher (_tmp31_, "six");
			_tmp33_ = (gchar*) _tmp32_;
			_vala_assert (g_strcmp0 (_tmp33_, "three") == 0, "subset.higher (\"six\") == \"three\"");
			_g_free0 (_tmp33_);
			_tmp34_ = self->priv->subset;
			_tmp35_ = gee_sorted_set_higher (_tmp34_, "three");
			_tmp36_ = (gchar*) _tmp35_;
			_vala_assert (g_strcmp0 (_tmp36_, "two") == 0, "subset.higher (\"three\") == \"two\"");
			_g_free0 (_tmp36_);
			_tmp37_ = self->priv->subset;
			_tmp38_ = gee_sorted_set_higher (_tmp37_, "two");
			_tmp39_ = (gchar*) _tmp38_;
			_vala_assert (_tmp39_ == NULL, "subset.higher (\"two\") == null");
			_g_free0 (_tmp39_);
			_tmp40_ = self->priv->subset;
			_tmp41_ = gee_sorted_set_higher (_tmp40_, "z");
			_tmp42_ = (gchar*) _tmp41_;
			_vala_assert (_tmp42_ == NULL, "subset.higher (\"z\") == null");
			_g_free0 (_tmp42_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp43_ = NULL;
			gpointer _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			GeeSortedSet* _tmp46_ = NULL;
			gpointer _tmp47_ = NULL;
			gchar* _tmp48_ = NULL;
			GeeSortedSet* _tmp49_ = NULL;
			gpointer _tmp50_ = NULL;
			gchar* _tmp51_ = NULL;
			GeeSortedSet* _tmp52_ = NULL;
			gpointer _tmp53_ = NULL;
			gchar* _tmp54_ = NULL;
			GeeSortedSet* _tmp55_ = NULL;
			gpointer _tmp56_ = NULL;
			gchar* _tmp57_ = NULL;
			_tmp43_ = self->priv->subset;
			_tmp44_ = gee_sorted_set_higher (_tmp43_, "five");
			_tmp45_ = (gchar*) _tmp44_;
			_vala_assert (g_strcmp0 (_tmp45_, "four") == 0, "subset.higher (\"five\") == \"four\"");
			_g_free0 (_tmp45_);
			_tmp46_ = self->priv->subset;
			_tmp47_ = gee_sorted_set_higher (_tmp46_, "four");
			_tmp48_ = (gchar*) _tmp47_;
			_vala_assert (g_strcmp0 (_tmp48_, "one") == 0, "subset.higher (\"four\") == \"one\"");
			_g_free0 (_tmp48_);
			_tmp49_ = self->priv->subset;
			_tmp50_ = gee_sorted_set_higher (_tmp49_, "one");
			_tmp51_ = (gchar*) _tmp50_;
			_vala_assert (g_strcmp0 (_tmp51_, "six") == 0, "subset.higher (\"one\") == \"six\"");
			_g_free0 (_tmp51_);
			_tmp52_ = self->priv->subset;
			_tmp53_ = gee_sorted_set_higher (_tmp52_, "six");
			_tmp54_ = (gchar*) _tmp53_;
			_vala_assert (_tmp54_ == NULL, "subset.higher (\"six\") == null");
			_g_free0 (_tmp54_);
			_tmp55_ = self->priv->subset;
			_tmp56_ = gee_sorted_set_higher (_tmp55_, "three");
			_tmp57_ = (gchar*) _tmp56_;
			_vala_assert (_tmp57_ == NULL, "subset.higher (\"three\") == null");
			_g_free0 (_tmp57_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp58_ = NULL;
			gpointer _tmp59_ = NULL;
			gchar* _tmp60_ = NULL;
			_tmp58_ = self->priv->subset;
			_tmp59_ = gee_sorted_set_higher (_tmp58_, "six");
			_tmp60_ = (gchar*) _tmp59_;
			_vala_assert (_tmp60_ == NULL, "subset.higher (\"six\") == null");
			_g_free0 (_tmp60_);
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}


void sorted_set_tests_sub_set_tests_test_floor (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp16_ = NULL;
			gpointer _tmp17_ = NULL;
			gchar* _tmp18_ = NULL;
			GeeSortedSet* _tmp19_ = NULL;
			gpointer _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			GeeSortedSet* _tmp22_ = NULL;
			gpointer _tmp23_ = NULL;
			gchar* _tmp24_ = NULL;
			GeeSortedSet* _tmp25_ = NULL;
			gpointer _tmp26_ = NULL;
			gchar* _tmp27_ = NULL;
			_tmp16_ = self->priv->subset;
			_tmp17_ = gee_sorted_set_floor (_tmp16_, "a");
			_tmp18_ = (gchar*) _tmp17_;
			_vala_assert (_tmp18_ == NULL, "subset.floor (\"a\") == null");
			_g_free0 (_tmp18_);
			_tmp19_ = self->priv->subset;
			_tmp20_ = gee_sorted_set_floor (_tmp19_, "five");
			_tmp21_ = (gchar*) _tmp20_;
			_vala_assert (g_strcmp0 (_tmp21_, "five") == 0, "subset.floor (\"five\") == \"five\"");
			_g_free0 (_tmp21_);
			_tmp22_ = self->priv->subset;
			_tmp23_ = gee_sorted_set_floor (_tmp22_, "four");
			_tmp24_ = (gchar*) _tmp23_;
			_vala_assert (g_strcmp0 (_tmp24_, "four") == 0, "subset.floor (\"four\") == \"four\"");
			_g_free0 (_tmp24_);
			_tmp25_ = self->priv->subset;
			_tmp26_ = gee_sorted_set_floor (_tmp25_, "six");
			_tmp27_ = (gchar*) _tmp26_;
			_vala_assert (g_strcmp0 (_tmp27_, "four") == 0, "subset.floor (\"six\") == \"four\"");
			_g_free0 (_tmp27_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp28_ = NULL;
			gpointer _tmp29_ = NULL;
			gchar* _tmp30_ = NULL;
			GeeSortedSet* _tmp31_ = NULL;
			gpointer _tmp32_ = NULL;
			gchar* _tmp33_ = NULL;
			GeeSortedSet* _tmp34_ = NULL;
			gpointer _tmp35_ = NULL;
			gchar* _tmp36_ = NULL;
			GeeSortedSet* _tmp37_ = NULL;
			gpointer _tmp38_ = NULL;
			gchar* _tmp39_ = NULL;
			GeeSortedSet* _tmp40_ = NULL;
			gpointer _tmp41_ = NULL;
			gchar* _tmp42_ = NULL;
			_tmp28_ = self->priv->subset;
			_tmp29_ = gee_sorted_set_floor (_tmp28_, "one");
			_tmp30_ = (gchar*) _tmp29_;
			_vala_assert (_tmp30_ == NULL, "subset.floor (\"one\") == null");
			_g_free0 (_tmp30_);
			_tmp31_ = self->priv->subset;
			_tmp32_ = gee_sorted_set_floor (_tmp31_, "six");
			_tmp33_ = (gchar*) _tmp32_;
			_vala_assert (g_strcmp0 (_tmp33_, "six") == 0, "subset.floor (\"six\") == \"six\"");
			_g_free0 (_tmp33_);
			_tmp34_ = self->priv->subset;
			_tmp35_ = gee_sorted_set_floor (_tmp34_, "three");
			_tmp36_ = (gchar*) _tmp35_;
			_vala_assert (g_strcmp0 (_tmp36_, "three") == 0, "subset.floor (\"three\") == \"three\"");
			_g_free0 (_tmp36_);
			_tmp37_ = self->priv->subset;
			_tmp38_ = gee_sorted_set_floor (_tmp37_, "two");
			_tmp39_ = (gchar*) _tmp38_;
			_vala_assert (g_strcmp0 (_tmp39_, "two") == 0, "subset.floor (\"two\") == \"two\"");
			_g_free0 (_tmp39_);
			_tmp40_ = self->priv->subset;
			_tmp41_ = gee_sorted_set_floor (_tmp40_, "z");
			_tmp42_ = (gchar*) _tmp41_;
			_vala_assert (g_strcmp0 (_tmp42_, "two") == 0, "subset.floor (\"z\") == \"two\"");
			_g_free0 (_tmp42_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp43_ = NULL;
			gpointer _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			GeeSortedSet* _tmp46_ = NULL;
			gpointer _tmp47_ = NULL;
			gchar* _tmp48_ = NULL;
			GeeSortedSet* _tmp49_ = NULL;
			gpointer _tmp50_ = NULL;
			gchar* _tmp51_ = NULL;
			GeeSortedSet* _tmp52_ = NULL;
			gpointer _tmp53_ = NULL;
			gchar* _tmp54_ = NULL;
			GeeSortedSet* _tmp55_ = NULL;
			gpointer _tmp56_ = NULL;
			gchar* _tmp57_ = NULL;
			_tmp43_ = self->priv->subset;
			_tmp44_ = gee_sorted_set_floor (_tmp43_, "five");
			_tmp45_ = (gchar*) _tmp44_;
			_vala_assert (_tmp45_ == NULL, "subset.floor (\"five\") == null");
			_g_free0 (_tmp45_);
			_tmp46_ = self->priv->subset;
			_tmp47_ = gee_sorted_set_floor (_tmp46_, "four");
			_tmp48_ = (gchar*) _tmp47_;
			_vala_assert (g_strcmp0 (_tmp48_, "four") == 0, "subset.floor (\"four\") == \"four\"");
			_g_free0 (_tmp48_);
			_tmp49_ = self->priv->subset;
			_tmp50_ = gee_sorted_set_floor (_tmp49_, "one");
			_tmp51_ = (gchar*) _tmp50_;
			_vala_assert (g_strcmp0 (_tmp51_, "one") == 0, "subset.floor (\"one\") == \"one\"");
			_g_free0 (_tmp51_);
			_tmp52_ = self->priv->subset;
			_tmp53_ = gee_sorted_set_floor (_tmp52_, "six");
			_tmp54_ = (gchar*) _tmp53_;
			_vala_assert (g_strcmp0 (_tmp54_, "six") == 0, "subset.floor (\"six\") == \"six\"");
			_g_free0 (_tmp54_);
			_tmp55_ = self->priv->subset;
			_tmp56_ = gee_sorted_set_floor (_tmp55_, "three");
			_tmp57_ = (gchar*) _tmp56_;
			_vala_assert (g_strcmp0 (_tmp57_, "six") == 0, "subset.floor (\"three\") == \"six\"");
			_g_free0 (_tmp57_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp58_ = NULL;
			gpointer _tmp59_ = NULL;
			gchar* _tmp60_ = NULL;
			_tmp58_ = self->priv->subset;
			_tmp59_ = gee_sorted_set_floor (_tmp58_, "six");
			_tmp60_ = (gchar*) _tmp59_;
			_vala_assert (_tmp60_ == NULL, "subset.floor (\"six\") == null");
			_g_free0 (_tmp60_);
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}


void sorted_set_tests_sub_set_tests_test_ceil (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* _tmp16_ = NULL;
			gpointer _tmp17_ = NULL;
			gchar* _tmp18_ = NULL;
			GeeSortedSet* _tmp19_ = NULL;
			gpointer _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			GeeSortedSet* _tmp22_ = NULL;
			gpointer _tmp23_ = NULL;
			gchar* _tmp24_ = NULL;
			GeeSortedSet* _tmp25_ = NULL;
			gpointer _tmp26_ = NULL;
			gchar* _tmp27_ = NULL;
			_tmp16_ = self->priv->subset;
			_tmp17_ = gee_sorted_set_ceil (_tmp16_, "a");
			_tmp18_ = (gchar*) _tmp17_;
			_vala_assert (g_strcmp0 (_tmp18_, "five") == 0, "subset.ceil (\"a\") == \"five\"");
			_g_free0 (_tmp18_);
			_tmp19_ = self->priv->subset;
			_tmp20_ = gee_sorted_set_ceil (_tmp19_, "five");
			_tmp21_ = (gchar*) _tmp20_;
			_vala_assert (g_strcmp0 (_tmp21_, "five") == 0, "subset.ceil (\"five\") == \"five\"");
			_g_free0 (_tmp21_);
			_tmp22_ = self->priv->subset;
			_tmp23_ = gee_sorted_set_ceil (_tmp22_, "four");
			_tmp24_ = (gchar*) _tmp23_;
			_vala_assert (g_strcmp0 (_tmp24_, "four") == 0, "subset.ceil (\"four\") == \"four\"");
			_g_free0 (_tmp24_);
			_tmp25_ = self->priv->subset;
			_tmp26_ = gee_sorted_set_ceil (_tmp25_, "six");
			_tmp27_ = (gchar*) _tmp26_;
			_vala_assert (_tmp27_ == NULL, "subset.ceil (\"six\") == null");
			_g_free0 (_tmp27_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* _tmp28_ = NULL;
			gpointer _tmp29_ = NULL;
			gchar* _tmp30_ = NULL;
			GeeSortedSet* _tmp31_ = NULL;
			gpointer _tmp32_ = NULL;
			gchar* _tmp33_ = NULL;
			GeeSortedSet* _tmp34_ = NULL;
			gpointer _tmp35_ = NULL;
			gchar* _tmp36_ = NULL;
			GeeSortedSet* _tmp37_ = NULL;
			gpointer _tmp38_ = NULL;
			gchar* _tmp39_ = NULL;
			GeeSortedSet* _tmp40_ = NULL;
			gpointer _tmp41_ = NULL;
			gchar* _tmp42_ = NULL;
			_tmp28_ = self->priv->subset;
			_tmp29_ = gee_sorted_set_ceil (_tmp28_, "one");
			_tmp30_ = (gchar*) _tmp29_;
			_vala_assert (g_strcmp0 (_tmp30_, "six") == 0, "subset.ceil (\"one\") == \"six\"");
			_g_free0 (_tmp30_);
			_tmp31_ = self->priv->subset;
			_tmp32_ = gee_sorted_set_ceil (_tmp31_, "six");
			_tmp33_ = (gchar*) _tmp32_;
			_vala_assert (g_strcmp0 (_tmp33_, "six") == 0, "subset.ceil (\"six\") == \"six\"");
			_g_free0 (_tmp33_);
			_tmp34_ = self->priv->subset;
			_tmp35_ = gee_sorted_set_ceil (_tmp34_, "three");
			_tmp36_ = (gchar*) _tmp35_;
			_vala_assert (g_strcmp0 (_tmp36_, "three") == 0, "subset.ceil (\"three\") == \"three\"");
			_g_free0 (_tmp36_);
			_tmp37_ = self->priv->subset;
			_tmp38_ = gee_sorted_set_ceil (_tmp37_, "two");
			_tmp39_ = (gchar*) _tmp38_;
			_vala_assert (g_strcmp0 (_tmp39_, "two") == 0, "subset.ceil (\"two\") == \"two\"");
			_g_free0 (_tmp39_);
			_tmp40_ = self->priv->subset;
			_tmp41_ = gee_sorted_set_ceil (_tmp40_, "z");
			_tmp42_ = (gchar*) _tmp41_;
			_vala_assert (_tmp42_ == NULL, "subset.ceil (\"z\") == null");
			_g_free0 (_tmp42_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			GeeSortedSet* _tmp43_ = NULL;
			gpointer _tmp44_ = NULL;
			gchar* _tmp45_ = NULL;
			GeeSortedSet* _tmp46_ = NULL;
			gpointer _tmp47_ = NULL;
			gchar* _tmp48_ = NULL;
			GeeSortedSet* _tmp49_ = NULL;
			gpointer _tmp50_ = NULL;
			gchar* _tmp51_ = NULL;
			GeeSortedSet* _tmp52_ = NULL;
			gpointer _tmp53_ = NULL;
			gchar* _tmp54_ = NULL;
			GeeSortedSet* _tmp55_ = NULL;
			gpointer _tmp56_ = NULL;
			gchar* _tmp57_ = NULL;
			_tmp43_ = self->priv->subset;
			_tmp44_ = gee_sorted_set_ceil (_tmp43_, "five");
			_tmp45_ = (gchar*) _tmp44_;
			_vala_assert (g_strcmp0 (_tmp45_, "four") == 0, "subset.ceil (\"five\") == \"four\"");
			_g_free0 (_tmp45_);
			_tmp46_ = self->priv->subset;
			_tmp47_ = gee_sorted_set_ceil (_tmp46_, "four");
			_tmp48_ = (gchar*) _tmp47_;
			_vala_assert (g_strcmp0 (_tmp48_, "four") == 0, "subset.ceil (\"four\") == \"four\"");
			_g_free0 (_tmp48_);
			_tmp49_ = self->priv->subset;
			_tmp50_ = gee_sorted_set_ceil (_tmp49_, "one");
			_tmp51_ = (gchar*) _tmp50_;
			_vala_assert (g_strcmp0 (_tmp51_, "one") == 0, "subset.ceil (\"one\") == \"one\"");
			_g_free0 (_tmp51_);
			_tmp52_ = self->priv->subset;
			_tmp53_ = gee_sorted_set_ceil (_tmp52_, "six");
			_tmp54_ = (gchar*) _tmp53_;
			_vala_assert (g_strcmp0 (_tmp54_, "six") == 0, "subset.ceil (\"six\") == \"six\"");
			_g_free0 (_tmp54_);
			_tmp55_ = self->priv->subset;
			_tmp56_ = gee_sorted_set_ceil (_tmp55_, "three");
			_tmp57_ = (gchar*) _tmp56_;
			_vala_assert (_tmp57_ == NULL, "subset.ceil (\"three\") == null");
			_g_free0 (_tmp57_);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* _tmp58_ = NULL;
			gpointer _tmp59_ = NULL;
			gchar* _tmp60_ = NULL;
			_tmp58_ = self->priv->subset;
			_tmp59_ = gee_sorted_set_ceil (_tmp58_, "six");
			_tmp60_ = (gchar*) _tmp59_;
			_vala_assert (_tmp60_ == NULL, "subset.ceil (\"six\") == null");
			_g_free0 (_tmp60_);
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}


void sorted_set_tests_sub_set_tests_test_subsets (SortedSetTestsSubSetTests* self) {
	GeeSortedSet* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GeeSortedSet* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	GeeSortedSet* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GeeSortedSet* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	GeeSortedSet* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeSortedSet* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	GeeSortedSet* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	SortedSetTestsSubSetTestsType _tmp15_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->master;
	_tmp1_ = gee_collection_add ((GeeCollection*) _tmp0_, "one");
	_vala_assert (_tmp1_, "master.add (\"one\")");
	_tmp2_ = self->priv->master;
	_tmp3_ = gee_collection_add ((GeeCollection*) _tmp2_, "two");
	_vala_assert (_tmp3_, "master.add (\"two\")");
	_tmp4_ = self->priv->master;
	_tmp5_ = gee_collection_add ((GeeCollection*) _tmp4_, "three");
	_vala_assert (_tmp5_, "master.add (\"three\")");
	_tmp6_ = self->priv->master;
	_tmp7_ = gee_collection_add ((GeeCollection*) _tmp6_, "four");
	_vala_assert (_tmp7_, "master.add (\"four\")");
	_tmp8_ = self->priv->master;
	_tmp9_ = gee_collection_add ((GeeCollection*) _tmp8_, "five");
	_vala_assert (_tmp9_, "master.add (\"five\")");
	_tmp10_ = self->priv->master;
	_tmp11_ = gee_collection_add ((GeeCollection*) _tmp10_, "six");
	_vala_assert (_tmp11_, "master.add (\"six\")");
	_tmp12_ = self->priv->master;
	_tmp13_ = gee_collection_get_size ((GeeCollection*) _tmp12_);
	_tmp14_ = _tmp13_;
	_vala_assert (_tmp14_ == 6, "master.size == 6");
	_tmp15_ = self->priv->type;
	switch (_tmp15_) {
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_HEAD:
		{
			GeeSortedSet* subsubset = NULL;
			GeeSortedSet* _tmp16_ = NULL;
			GeeSortedSet* _tmp17_ = NULL;
			GeeSortedSet* _tmp18_ = NULL;
			gint _tmp19_ = 0;
			gint _tmp20_ = 0;
			GeeSortedSet* _tmp21_ = NULL;
			GeeSortedSet* _tmp22_ = NULL;
			GeeSortedSet* _tmp23_ = NULL;
			gint _tmp24_ = 0;
			gint _tmp25_ = 0;
			GeeSortedSet* _tmp26_ = NULL;
			GeeSortedSet* _tmp27_ = NULL;
			GeeSortedSet* _tmp28_ = NULL;
			gint _tmp29_ = 0;
			gint _tmp30_ = 0;
			GeeSortedSet* _tmp31_ = NULL;
			GeeSortedSet* _tmp32_ = NULL;
			GeeSortedSet* _tmp33_ = NULL;
			gint _tmp34_ = 0;
			gint _tmp35_ = 0;
			_tmp16_ = self->priv->subset;
			_tmp17_ = gee_sorted_set_head_set (_tmp16_, "four");
			subsubset = _tmp17_;
			_tmp18_ = subsubset;
			_tmp19_ = gee_collection_get_size ((GeeCollection*) _tmp18_);
			_tmp20_ = _tmp19_;
			_vala_assert (_tmp20_ == 1, "subsubset.size == 1");
			_tmp21_ = self->priv->subset;
			_tmp22_ = gee_sorted_set_tail_set (_tmp21_, "four");
			_g_object_unref0 (subsubset);
			subsubset = _tmp22_;
			_tmp23_ = subsubset;
			_tmp24_ = gee_collection_get_size ((GeeCollection*) _tmp23_);
			_tmp25_ = _tmp24_;
			_vala_assert (_tmp25_ == 1, "subsubset.size == 1");
			_tmp26_ = self->priv->subset;
			_tmp27_ = gee_sorted_set_sub_set (_tmp26_, "four", "one");
			_g_object_unref0 (subsubset);
			subsubset = _tmp27_;
			_tmp28_ = subsubset;
			_tmp29_ = gee_collection_get_size ((GeeCollection*) _tmp28_);
			_tmp30_ = _tmp29_;
			_vala_assert (_tmp30_ == 1, "subsubset.size == 1");
			_tmp31_ = self->priv->subset;
			_tmp32_ = gee_sorted_set_sub_set (_tmp31_, "four", "four");
			_g_object_unref0 (subsubset);
			subsubset = _tmp32_;
			_tmp33_ = subsubset;
			_tmp34_ = gee_collection_get_size ((GeeCollection*) _tmp33_);
			_tmp35_ = _tmp34_;
			_vala_assert (_tmp35_ == 0, "subsubset.size == 0");
			_g_object_unref0 (subsubset);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_TAIL:
		{
			GeeSortedSet* subsubset = NULL;
			GeeSortedSet* _tmp36_ = NULL;
			GeeSortedSet* _tmp37_ = NULL;
			GeeSortedSet* _tmp38_ = NULL;
			gint _tmp39_ = 0;
			gint _tmp40_ = 0;
			GeeSortedSet* _tmp41_ = NULL;
			GeeSortedSet* _tmp42_ = NULL;
			GeeSortedSet* _tmp43_ = NULL;
			gint _tmp44_ = 0;
			gint _tmp45_ = 0;
			GeeSortedSet* _tmp46_ = NULL;
			GeeSortedSet* _tmp47_ = NULL;
			GeeSortedSet* _tmp48_ = NULL;
			gint _tmp49_ = 0;
			gint _tmp50_ = 0;
			_tmp36_ = self->priv->subset;
			_tmp37_ = gee_sorted_set_head_set (_tmp36_, "two");
			subsubset = _tmp37_;
			_tmp38_ = subsubset;
			_tmp39_ = gee_collection_get_size ((GeeCollection*) _tmp38_);
			_tmp40_ = _tmp39_;
			_vala_assert (_tmp40_ == 2, "subsubset.size == 2");
			_tmp41_ = self->priv->subset;
			_tmp42_ = gee_sorted_set_tail_set (_tmp41_, "three");
			_g_object_unref0 (subsubset);
			subsubset = _tmp42_;
			_tmp43_ = subsubset;
			_tmp44_ = gee_collection_get_size ((GeeCollection*) _tmp43_);
			_tmp45_ = _tmp44_;
			_vala_assert (_tmp45_ == 2, "subsubset.size == 2");
			_tmp46_ = self->priv->subset;
			_tmp47_ = gee_sorted_set_sub_set (_tmp46_, "three", "two");
			_g_object_unref0 (subsubset);
			subsubset = _tmp47_;
			_tmp48_ = subsubset;
			_tmp49_ = gee_collection_get_size ((GeeCollection*) _tmp48_);
			_tmp50_ = _tmp49_;
			_vala_assert (_tmp50_ == 1, "subsubset.size == 1");
			_g_object_unref0 (subsubset);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_SUB:
		{
			GeeSortedSet* subsubset = NULL;
			GeeSortedSet* _tmp51_ = NULL;
			GeeSortedSet* _tmp52_ = NULL;
			GeeSortedSet* _tmp53_ = NULL;
			gint _tmp54_ = 0;
			gint _tmp55_ = 0;
			GeeSortedSet* _tmp56_ = NULL;
			GeeSortedSet* _tmp57_ = NULL;
			GeeSortedSet* _tmp58_ = NULL;
			gint _tmp59_ = 0;
			gint _tmp60_ = 0;
			GeeSortedSet* _tmp61_ = NULL;
			GeeSortedSet* _tmp62_ = NULL;
			GeeSortedSet* _tmp63_ = NULL;
			gint _tmp64_ = 0;
			gint _tmp65_ = 0;
			GeeSortedSet* _tmp66_ = NULL;
			GeeSortedSet* _tmp67_ = NULL;
			GeeSortedSet* _tmp68_ = NULL;
			gint _tmp69_ = 0;
			gint _tmp70_ = 0;
			_tmp51_ = self->priv->subset;
			_tmp52_ = gee_sorted_set_head_set (_tmp51_, "six");
			subsubset = _tmp52_;
			_tmp53_ = subsubset;
			_tmp54_ = gee_collection_get_size ((GeeCollection*) _tmp53_);
			_tmp55_ = _tmp54_;
			_vala_assert (_tmp55_ == 2, "subsubset.size == 2");
			_tmp56_ = self->priv->subset;
			_tmp57_ = gee_sorted_set_tail_set (_tmp56_, "one");
			_g_object_unref0 (subsubset);
			subsubset = _tmp57_;
			_tmp58_ = subsubset;
			_tmp59_ = gee_collection_get_size ((GeeCollection*) _tmp58_);
			_tmp60_ = _tmp59_;
			_vala_assert (_tmp60_ == 2, "subsubset.size == 2");
			_tmp61_ = self->priv->subset;
			_tmp62_ = gee_sorted_set_sub_set (_tmp61_, "one", "six");
			_g_object_unref0 (subsubset);
			subsubset = _tmp62_;
			_tmp63_ = subsubset;
			_tmp64_ = gee_collection_get_size ((GeeCollection*) _tmp63_);
			_tmp65_ = _tmp64_;
			_vala_assert (_tmp65_ == 1, "subsubset.size == 1");
			_tmp66_ = self->priv->subset;
			_tmp67_ = gee_sorted_set_sub_set (_tmp66_, "five", "two");
			_g_object_unref0 (subsubset);
			subsubset = _tmp67_;
			_tmp68_ = subsubset;
			_tmp69_ = gee_collection_get_size ((GeeCollection*) _tmp68_);
			_tmp70_ = _tmp69_;
			_vala_assert (_tmp70_ == 3, "subsubset.size == 3");
			_g_object_unref0 (subsubset);
			break;
		}
		case SORTED_SET_TESTS_SUB_SET_TESTS_TYPE_EMPTY:
		{
			GeeSortedSet* subsubset = NULL;
			GeeSortedSet* _tmp71_ = NULL;
			GeeSortedSet* _tmp72_ = NULL;
			GeeSortedSet* _tmp73_ = NULL;
			gint _tmp74_ = 0;
			gint _tmp75_ = 0;
			GeeSortedSet* _tmp76_ = NULL;
			GeeSortedSet* _tmp77_ = NULL;
			GeeSortedSet* _tmp78_ = NULL;
			gint _tmp79_ = 0;
			gint _tmp80_ = 0;
			GeeSortedSet* _tmp81_ = NULL;
			GeeSortedSet* _tmp82_ = NULL;
			GeeSortedSet* _tmp83_ = NULL;
			gint _tmp84_ = 0;
			gint _tmp85_ = 0;
			_tmp71_ = self->priv->subset;
			_tmp72_ = gee_sorted_set_head_set (_tmp71_, "six");
			subsubset = _tmp72_;
			_tmp73_ = subsubset;
			_tmp74_ = gee_collection_get_size ((GeeCollection*) _tmp73_);
			_tmp75_ = _tmp74_;
			_vala_assert (_tmp75_ == 0, "subsubset.size == 0");
			_tmp76_ = self->priv->subset;
			_tmp77_ = gee_sorted_set_tail_set (_tmp76_, "three");
			_g_object_unref0 (subsubset);
			subsubset = _tmp77_;
			_tmp78_ = subsubset;
			_tmp79_ = gee_collection_get_size ((GeeCollection*) _tmp78_);
			_tmp80_ = _tmp79_;
			_vala_assert (_tmp80_ == 0, "subsubset.size == 0");
			_tmp81_ = self->priv->subset;
			_tmp82_ = gee_sorted_set_sub_set (_tmp81_, "one", "six");
			_g_object_unref0 (subsubset);
			subsubset = _tmp82_;
			_tmp83_ = subsubset;
			_tmp84_ = gee_collection_get_size ((GeeCollection*) _tmp83_);
			_tmp85_ = _tmp84_;
			_vala_assert (_tmp85_ == 0, "subsubset.size == 0");
			_g_object_unref0 (subsubset);
			break;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}


static void sorted_set_tests_sub_set_tests_class_init (SortedSetTestsSubSetTestsClass * klass) {
	sorted_set_tests_sub_set_tests_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (SortedSetTestsSubSetTestsPrivate));
	((GeeTestCaseClass *) klass)->set_up = sorted_set_tests_sub_set_tests_real_set_up;
	((GeeTestCaseClass *) klass)->tear_down = sorted_set_tests_sub_set_tests_real_tear_down;
	G_OBJECT_CLASS (klass)->finalize = sorted_set_tests_sub_set_tests_finalize;
}


static void sorted_set_tests_sub_set_tests_instance_init (SortedSetTestsSubSetTests * self) {
	self->priv = SORTED_SET_TESTS_SUB_SET_TESTS_GET_PRIVATE (self);
}


static void sorted_set_tests_sub_set_tests_finalize (GObject* obj) {
	SortedSetTestsSubSetTests * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SORTED_SET_TESTS_TYPE_SUB_SET_TESTS, SortedSetTestsSubSetTests);
	_g_object_unref0 (self->priv->master);
	_g_object_unref0 (self->priv->subset);
	_g_object_unref0 (self->priv->test);
	G_OBJECT_CLASS (sorted_set_tests_sub_set_tests_parent_class)->finalize (obj);
}


GType sorted_set_tests_sub_set_tests_get_type (void) {
	static volatile gsize sorted_set_tests_sub_set_tests_type_id__volatile = 0;
	if (g_once_init_enter (&sorted_set_tests_sub_set_tests_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SortedSetTestsSubSetTestsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sorted_set_tests_sub_set_tests_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SortedSetTestsSubSetTests), 0, (GInstanceInitFunc) sorted_set_tests_sub_set_tests_instance_init, NULL };
		GType sorted_set_tests_sub_set_tests_type_id;
		sorted_set_tests_sub_set_tests_type_id = g_type_register_static (GEE_TYPE_TEST_CASE, "SortedSetTestsSubSetTests", &g_define_type_info, 0);
		g_once_init_leave (&sorted_set_tests_sub_set_tests_type_id__volatile, sorted_set_tests_sub_set_tests_type_id);
	}
	return sorted_set_tests_sub_set_tests_type_id__volatile;
}


static void sorted_set_tests_class_init (SortedSetTestsClass * klass) {
	sorted_set_tests_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (SortedSetTestsPrivate));
	G_OBJECT_CLASS (klass)->finalize = sorted_set_tests_finalize;
}


static void sorted_set_tests_instance_init (SortedSetTests * self) {
	self->priv = SORTED_SET_TESTS_GET_PRIVATE (self);
}


static void sorted_set_tests_finalize (GObject* obj) {
	SortedSetTests * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SORTED_SET_TESTS, SortedSetTests);
	G_OBJECT_CLASS (sorted_set_tests_parent_class)->finalize (obj);
}


GType sorted_set_tests_get_type (void) {
	static volatile gsize sorted_set_tests_type_id__volatile = 0;
	if (g_once_init_enter (&sorted_set_tests_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SortedSetTestsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sorted_set_tests_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SortedSetTests), 0, (GInstanceInitFunc) sorted_set_tests_instance_init, NULL };
		GType sorted_set_tests_type_id;
		sorted_set_tests_type_id = g_type_register_static (TYPE_SET_TESTS, "SortedSetTests", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&sorted_set_tests_type_id__volatile, sorted_set_tests_type_id);
	}
	return sorted_set_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);
}



