/* abstract-field-details.c generated by valac 0.14.0.3-1a311, the Vala compiler
 * generated from abstract-field-details.vala, do not modify */

/*
 * Copyright (C) 2011 Collabora Ltd.
 *
 * 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, see <http://www.gnu.org/licenses/>.
 *
 * Authors: Travis Reitter <travis.reitter@collabora.co.uk>
 */

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


#define TYPE_EMAIL_FIELD_DETAILS_TESTS (email_field_details_tests_get_type ())
#define EMAIL_FIELD_DETAILS_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EMAIL_FIELD_DETAILS_TESTS, EmailFieldDetailsTests))
#define EMAIL_FIELD_DETAILS_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EMAIL_FIELD_DETAILS_TESTS, EmailFieldDetailsTestsClass))
#define IS_EMAIL_FIELD_DETAILS_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EMAIL_FIELD_DETAILS_TESTS))
#define IS_EMAIL_FIELD_DETAILS_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EMAIL_FIELD_DETAILS_TESTS))
#define EMAIL_FIELD_DETAILS_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EMAIL_FIELD_DETAILS_TESTS, EmailFieldDetailsTestsClass))

typedef struct _EmailFieldDetailsTests EmailFieldDetailsTests;
typedef struct _EmailFieldDetailsTestsClass EmailFieldDetailsTestsClass;
typedef struct _EmailFieldDetailsTestsPrivate EmailFieldDetailsTestsPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define __g_list_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_free0_ (var), NULL)))

struct _EmailFieldDetailsTests {
	FolksTestCase parent_instance;
	EmailFieldDetailsTestsPrivate * priv;
};

struct _EmailFieldDetailsTestsClass {
	FolksTestCaseClass parent_class;
};


static gpointer email_field_details_tests_parent_class = NULL;

GType email_field_details_tests_get_type (void) G_GNUC_CONST;
enum  {
	EMAIL_FIELD_DETAILS_TESTS_DUMMY_PROPERTY
};
EmailFieldDetailsTests* email_field_details_tests_new (void);
EmailFieldDetailsTests* email_field_details_tests_construct (GType object_type);
void email_field_details_tests_test_param_replacement (EmailFieldDetailsTests* self);
static void _email_field_details_tests_test_param_replacement_folks_test_case_test_method (gpointer self);
void email_field_details_tests_test_simple_equality (EmailFieldDetailsTests* self);
static void _email_field_details_tests_test_simple_equality_folks_test_case_test_method (gpointer self);
void email_field_details_tests_test_params_equality (EmailFieldDetailsTests* self);
static void _email_field_details_tests_test_params_equality_folks_test_case_test_method (gpointer self);
void email_field_details_tests_test_im_field_details_equality (EmailFieldDetailsTests* self);
static void _email_field_details_tests_test_im_field_details_equality_folks_test_case_test_method (gpointer self);
static void email_field_details_tests_real_set_up (FolksTestCase* base);
static void email_field_details_tests_real_tear_down (FolksTestCase* base);
static void _g_free0_ (gpointer var);
static void _g_list_free__g_free0_ (GList* self);
gint _vala_main (gchar** args, int args_length1);
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 _email_field_details_tests_test_param_replacement_folks_test_case_test_method (gpointer self) {
#line 28 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	email_field_details_tests_test_param_replacement (self);
#line 85 "abstract-field-details.c"
}


static void _email_field_details_tests_test_simple_equality_folks_test_case_test_method (gpointer self) {
#line 29 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	email_field_details_tests_test_simple_equality (self);
#line 92 "abstract-field-details.c"
}


static void _email_field_details_tests_test_params_equality_folks_test_case_test_method (gpointer self) {
#line 30 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	email_field_details_tests_test_params_equality (self);
#line 99 "abstract-field-details.c"
}


static void _email_field_details_tests_test_im_field_details_equality_folks_test_case_test_method (gpointer self) {
#line 31 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	email_field_details_tests_test_im_field_details_equality (self);
#line 106 "abstract-field-details.c"
}


EmailFieldDetailsTests* email_field_details_tests_construct (GType object_type) {
	EmailFieldDetailsTests * self = NULL;
#line 27 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	self = (EmailFieldDetailsTests*) folks_test_case_construct (object_type, "EmailFieldDetails");
#line 28 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_test_case_add_test ((FolksTestCase*) self, "parameter replacement", _email_field_details_tests_test_param_replacement_folks_test_case_test_method, self);
#line 29 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_test_case_add_test ((FolksTestCase*) self, "simple equality", _email_field_details_tests_test_simple_equality_folks_test_case_test_method, self);
#line 30 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_test_case_add_test ((FolksTestCase*) self, "parameter equality", _email_field_details_tests_test_params_equality_folks_test_case_test_method, self);
#line 31 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_test_case_add_test ((FolksTestCase*) self, "ImFieldDetails equality", _email_field_details_tests_test_im_field_details_equality_folks_test_case_test_method, self);
#line 25 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	return self;
#line 124 "abstract-field-details.c"
}


EmailFieldDetailsTests* email_field_details_tests_new (void) {
#line 25 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	return email_field_details_tests_construct (TYPE_EMAIL_FIELD_DETAILS_TESTS);
#line 131 "abstract-field-details.c"
}


static void email_field_details_tests_real_set_up (FolksTestCase* base) {
	EmailFieldDetailsTests * self;
#line 35 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	self = (EmailFieldDetailsTests*) base;
#line 139 "abstract-field-details.c"
}


static void email_field_details_tests_real_tear_down (FolksTestCase* base) {
	EmailFieldDetailsTests * self;
#line 39 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	self = (EmailFieldDetailsTests*) base;
#line 147 "abstract-field-details.c"
}


static void _g_free0_ (gpointer var) {
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	var = (g_free (var), NULL);
#line 154 "abstract-field-details.c"
}


static void _g_list_free__g_free0_ (GList* self) {
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_list_foreach (self, (GFunc) _g_free0_, NULL);
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_list_free (self);
#line 163 "abstract-field-details.c"
}


void email_field_details_tests_test_param_replacement (EmailFieldDetailsTests* self) {
	gchar* _tmp0_;
	gchar* param_name;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar** _tmp4_ = NULL;
	gchar** values_1;
	gint values_1_length1;
	gint _values_1_size_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar** _tmp7_ = NULL;
	gchar** values_2;
	gint values_2_length1;
	gint _values_2_size_;
	FolksEmailFieldDetails* details = NULL;
	GeeCollection* values = NULL;
	const gchar* _tmp8_;
	FolksEmailFieldDetails* _tmp9_;
	gchar** _tmp10_;
	gint _tmp10__length1;
	FolksEmailFieldDetails* _tmp15_;
	const gchar* _tmp16_;
	GeeCollection* _tmp17_ = NULL;
	GeeCollection* _tmp18_;
	gint _tmp19_;
	gint _tmp20_;
	gchar** _tmp21_;
	gint _tmp21__length1;
	gchar** _tmp22_;
	gint _tmp22__length1;
	FolksEmailFieldDetails* _tmp27_;
	const gchar* _tmp28_;
	gchar** _tmp29_;
	gint _tmp29__length1;
	const gchar* _tmp30_;
	FolksEmailFieldDetails* _tmp31_;
	const gchar* _tmp32_;
	GeeCollection* _tmp33_ = NULL;
	GeeCollection* _tmp34_;
	gint _tmp35_;
	gint _tmp36_;
	GeeCollection* _tmp37_;
	gchar** _tmp38_;
	gint _tmp38__length1;
	const gchar* _tmp39_;
	gboolean _tmp40_ = FALSE;
	FolksEmailFieldDetails* _tmp41_;
	const gchar* _tmp42_;
	FolksEmailFieldDetails* _tmp43_;
	const gchar* _tmp44_;
	GeeCollection* _tmp45_ = NULL;
	GeeCollection* _tmp46_;
	gchar** _tmp47_;
	gint _tmp47__length1;
	GList* values_2_list;
	gchar** _tmp52_;
	gint _tmp52__length1;
	GeeHashMultiMap* _tmp56_;
	GeeHashMultiMap* param_table;
	GList* _tmp57_;
	FolksEmailFieldDetails* _tmp62_;
	GeeHashMultiMap* _tmp63_;
	FolksEmailFieldDetails* _tmp64_;
	const gchar* _tmp65_;
	GeeCollection* _tmp66_ = NULL;
	GeeCollection* _tmp67_;
	gint _tmp68_;
	gint _tmp69_;
	gchar** _tmp70_;
	gint _tmp70__length1;
	gchar** _tmp71_;
	gint _tmp71__length1;
	gchar** _tmp72_;
	gint _tmp72__length1;
	gchar** _tmp77_;
	gint _tmp77__length1;
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_return_if_fail (self != NULL);
#line 45 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp0_ = g_strdup ("metasyntactic-variables");
#line 45 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	param_name = _tmp0_;
#line 46 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp1_ = g_strdup ("foo");
#line 46 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp2_ = g_strdup ("bar");
#line 46 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp3_ = g_strdup ("baz");
#line 46 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp4_ = g_new0 (gchar*, 3 + 1);
#line 46 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp4_[0] = _tmp1_;
#line 46 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp4_[1] = _tmp2_;
#line 46 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp4_[2] = _tmp3_;
#line 46 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values_1 = _tmp4_;
#line 46 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values_1_length1 = 3;
#line 46 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_values_1_size_ = values_1_length1;
#line 47 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp5_ = g_strdup ("qux");
#line 47 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp6_ = g_strdup ("quxx");
#line 47 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp7_ = g_new0 (gchar*, 2 + 1);
#line 47 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp7_[0] = _tmp5_;
#line 47 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp7_[1] = _tmp6_;
#line 47 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values_2 = _tmp7_;
#line 47 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values_2_length1 = 2;
#line 47 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_values_2_size_ = values_2_length1;
#line 51 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp8_ = param_name;
#line 51 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp9_ = folks_email_field_details_new (_tmp8_, NULL);
#line 51 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details);
#line 51 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	details = _tmp9_;
#line 53 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp10_ = values_1;
#line 53 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp10__length1 = values_1_length1;
#line 299 "abstract-field-details.c"
	{
		gchar** val_collection = NULL;
		gint val_collection_length1 = 0;
		gint _val_collection_size_ = 0;
		gint val_it = 0;
#line 53 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection = _tmp10_;
#line 53 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection_length1 = _tmp10__length1;
#line 53 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		for (val_it = 0; val_it < _tmp10__length1; val_it = val_it + 1) {
#line 311 "abstract-field-details.c"
			gchar* _tmp11_;
			gchar* val = NULL;
#line 53 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp11_ = g_strdup (val_collection[val_it]);
#line 53 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			val = _tmp11_;
#line 318 "abstract-field-details.c"
			{
				FolksEmailFieldDetails* _tmp12_;
				const gchar* _tmp13_;
				const gchar* _tmp14_;
#line 54 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp12_ = details;
#line 54 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp13_ = param_name;
#line 54 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp14_ = val;
#line 54 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				folks_abstract_field_details_add_parameter ((FolksAbstractFieldDetails*) _tmp12_, _tmp13_, _tmp14_);
#line 53 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_g_free0 (val);
#line 333 "abstract-field-details.c"
			}
		}
	}
#line 57 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp15_ = details;
#line 57 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp16_ = param_name;
#line 57 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp17_ = folks_abstract_field_details_get_parameter_values ((FolksAbstractFieldDetails*) _tmp15_, _tmp16_);
#line 57 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (values);
#line 57 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values = _tmp17_;
#line 58 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp18_ = values;
#line 58 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp19_ = gee_collection_get_size (_tmp18_);
#line 58 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp20_ = _tmp19_;
#line 58 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp21_ = values_1;
#line 58 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp21__length1 = values_1_length1;
#line 58 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp20_ == _tmp21__length1);
#line 59 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp22_ = values_1;
#line 59 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp22__length1 = values_1_length1;
#line 363 "abstract-field-details.c"
	{
		gchar** val_collection = NULL;
		gint val_collection_length1 = 0;
		gint _val_collection_size_ = 0;
		gint val_it = 0;
#line 59 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection = _tmp22_;
#line 59 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection_length1 = _tmp22__length1;
#line 59 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		for (val_it = 0; val_it < _tmp22__length1; val_it = val_it + 1) {
#line 375 "abstract-field-details.c"
			gchar* _tmp23_;
			gchar* val = NULL;
#line 59 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp23_ = g_strdup (val_collection[val_it]);
#line 59 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			val = _tmp23_;
#line 382 "abstract-field-details.c"
			{
				GeeCollection* _tmp24_;
				const gchar* _tmp25_;
				gboolean _tmp26_ = FALSE;
#line 60 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp24_ = values;
#line 60 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp25_ = val;
#line 60 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp26_ = gee_collection_contains (_tmp24_, _tmp25_);
#line 60 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				g_assert (_tmp26_);
#line 59 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_g_free0 (val);
#line 397 "abstract-field-details.c"
			}
		}
	}
#line 63 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp27_ = details;
#line 63 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp28_ = param_name;
#line 63 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp29_ = values_2;
#line 63 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp29__length1 = values_2_length1;
#line 63 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp30_ = _tmp29_[0];
#line 63 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_abstract_field_details_set_parameter ((FolksAbstractFieldDetails*) _tmp27_, _tmp28_, _tmp30_);
#line 64 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp31_ = details;
#line 64 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp32_ = param_name;
#line 64 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp33_ = folks_abstract_field_details_get_parameter_values ((FolksAbstractFieldDetails*) _tmp31_, _tmp32_);
#line 64 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (values);
#line 64 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values = _tmp33_;
#line 65 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp34_ = values;
#line 65 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp35_ = gee_collection_get_size (_tmp34_);
#line 65 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp36_ = _tmp35_;
#line 65 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp36_ == 1);
#line 66 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp37_ = values;
#line 66 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp38_ = values_2;
#line 66 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp38__length1 = values_2_length1;
#line 66 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp39_ = _tmp38_[0];
#line 66 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp40_ = gee_collection_contains (_tmp37_, _tmp39_);
#line 66 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp40_);
#line 69 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp41_ = details;
#line 69 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp42_ = param_name;
#line 69 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_abstract_field_details_remove_parameter_all ((FolksAbstractFieldDetails*) _tmp41_, _tmp42_);
#line 70 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp43_ = details;
#line 70 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp44_ = param_name;
#line 70 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp45_ = folks_abstract_field_details_get_parameter_values ((FolksAbstractFieldDetails*) _tmp43_, _tmp44_);
#line 70 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (values);
#line 70 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values = _tmp45_;
#line 71 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp46_ = values;
#line 71 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp46_ == NULL);
#line 74 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp47_ = values_1;
#line 74 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp47__length1 = values_1_length1;
#line 467 "abstract-field-details.c"
	{
		gchar** val_collection = NULL;
		gint val_collection_length1 = 0;
		gint _val_collection_size_ = 0;
		gint val_it = 0;
#line 74 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection = _tmp47_;
#line 74 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection_length1 = _tmp47__length1;
#line 74 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		for (val_it = 0; val_it < _tmp47__length1; val_it = val_it + 1) {
#line 479 "abstract-field-details.c"
			gchar* _tmp48_;
			gchar* val = NULL;
#line 74 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp48_ = g_strdup (val_collection[val_it]);
#line 74 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			val = _tmp48_;
#line 486 "abstract-field-details.c"
			{
				FolksEmailFieldDetails* _tmp49_;
				const gchar* _tmp50_;
				const gchar* _tmp51_;
#line 75 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp49_ = details;
#line 75 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp50_ = param_name;
#line 75 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp51_ = val;
#line 75 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				folks_abstract_field_details_add_parameter ((FolksAbstractFieldDetails*) _tmp49_, _tmp50_, _tmp51_);
#line 74 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_g_free0 (val);
#line 501 "abstract-field-details.c"
			}
		}
	}
#line 77 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values_2_list = NULL;
#line 78 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp52_ = values_2;
#line 78 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp52__length1 = values_2_length1;
#line 511 "abstract-field-details.c"
	{
		gchar** val_collection = NULL;
		gint val_collection_length1 = 0;
		gint _val_collection_size_ = 0;
		gint val_it = 0;
#line 78 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection = _tmp52_;
#line 78 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection_length1 = _tmp52__length1;
#line 78 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		for (val_it = 0; val_it < _tmp52__length1; val_it = val_it + 1) {
#line 523 "abstract-field-details.c"
			gchar* _tmp53_;
			gchar* val = NULL;
#line 78 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp53_ = g_strdup (val_collection[val_it]);
#line 78 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			val = _tmp53_;
#line 530 "abstract-field-details.c"
			{
				const gchar* _tmp54_;
				gchar* _tmp55_;
#line 79 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp54_ = val;
#line 79 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp55_ = g_strdup (_tmp54_);
#line 79 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				values_2_list = g_list_append (values_2_list, _tmp55_);
#line 78 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_g_free0 (val);
#line 542 "abstract-field-details.c"
			}
		}
	}
#line 81 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp56_ = gee_hash_multi_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL);
#line 81 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	param_table = _tmp56_;
#line 82 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp57_ = values_2_list;
#line 552 "abstract-field-details.c"
	{
		GList* val_collection = NULL;
		GList* val_it = NULL;
#line 82 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection = _tmp57_;
#line 82 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		for (val_it = val_collection; val_it != NULL; val_it = val_it->next) {
#line 560 "abstract-field-details.c"
			gchar* _tmp58_;
			gchar* val = NULL;
#line 82 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp58_ = g_strdup ((const gchar*) val_it->data);
#line 82 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			val = _tmp58_;
#line 567 "abstract-field-details.c"
			{
				GeeHashMultiMap* _tmp59_;
				const gchar* _tmp60_;
				const gchar* _tmp61_;
#line 83 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp59_ = param_table;
#line 83 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp60_ = param_name;
#line 83 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp61_ = val;
#line 83 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				gee_multi_map_set ((GeeMultiMap*) _tmp59_, _tmp60_, _tmp61_);
#line 82 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_g_free0 (val);
#line 582 "abstract-field-details.c"
			}
		}
	}
#line 85 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp62_ = details;
#line 85 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp63_ = param_table;
#line 85 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_abstract_field_details_extend_parameters ((FolksAbstractFieldDetails*) _tmp62_, (GeeMultiMap*) _tmp63_);
#line 86 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp64_ = details;
#line 86 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp65_ = param_name;
#line 86 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp66_ = folks_abstract_field_details_get_parameter_values ((FolksAbstractFieldDetails*) _tmp64_, _tmp65_);
#line 86 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (values);
#line 86 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values = _tmp66_;
#line 87 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp67_ = values;
#line 87 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp68_ = gee_collection_get_size (_tmp67_);
#line 87 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp69_ = _tmp68_;
#line 87 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp70_ = values_1;
#line 87 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp70__length1 = values_1_length1;
#line 87 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp71_ = values_2;
#line 87 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp71__length1 = values_2_length1;
#line 87 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp69_ == (_tmp70__length1 + _tmp71__length1));
#line 88 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp72_ = values_1;
#line 88 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp72__length1 = values_1_length1;
#line 622 "abstract-field-details.c"
	{
		gchar** val_collection = NULL;
		gint val_collection_length1 = 0;
		gint _val_collection_size_ = 0;
		gint val_it = 0;
#line 88 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection = _tmp72_;
#line 88 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection_length1 = _tmp72__length1;
#line 88 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		for (val_it = 0; val_it < _tmp72__length1; val_it = val_it + 1) {
#line 634 "abstract-field-details.c"
			gchar* _tmp73_;
			gchar* val = NULL;
#line 88 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp73_ = g_strdup (val_collection[val_it]);
#line 88 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			val = _tmp73_;
#line 641 "abstract-field-details.c"
			{
				GeeCollection* _tmp74_;
				const gchar* _tmp75_;
				gboolean _tmp76_ = FALSE;
#line 89 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp74_ = values;
#line 89 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp75_ = val;
#line 89 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp76_ = gee_collection_contains (_tmp74_, _tmp75_);
#line 89 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				g_assert (_tmp76_);
#line 88 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_g_free0 (val);
#line 656 "abstract-field-details.c"
			}
		}
	}
#line 90 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp77_ = values_2;
#line 90 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp77__length1 = values_2_length1;
#line 664 "abstract-field-details.c"
	{
		gchar** val_collection = NULL;
		gint val_collection_length1 = 0;
		gint _val_collection_size_ = 0;
		gint val_it = 0;
#line 90 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection = _tmp77_;
#line 90 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		val_collection_length1 = _tmp77__length1;
#line 90 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		for (val_it = 0; val_it < _tmp77__length1; val_it = val_it + 1) {
#line 676 "abstract-field-details.c"
			gchar* _tmp78_;
			gchar* val = NULL;
#line 90 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp78_ = g_strdup (val_collection[val_it]);
#line 90 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			val = _tmp78_;
#line 683 "abstract-field-details.c"
			{
				GeeCollection* _tmp79_;
				const gchar* _tmp80_;
				gboolean _tmp81_ = FALSE;
#line 91 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp79_ = values;
#line 91 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp80_ = val;
#line 91 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp81_ = gee_collection_contains (_tmp79_, _tmp80_);
#line 91 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				g_assert (_tmp81_);
#line 90 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_g_free0 (val);
#line 698 "abstract-field-details.c"
			}
		}
	}
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (param_table);
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	__g_list_free__g_free0_0 (values_2_list);
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (values);
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details);
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values_2 = (_vala_array_free (values_2, values_2_length1, (GDestroyNotify) g_free), NULL);
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	values_1 = (_vala_array_free (values_1, values_1_length1, (GDestroyNotify) g_free), NULL);
#line 43 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_free0 (param_name);
#line 716 "abstract-field-details.c"
}


void email_field_details_tests_test_simple_equality (EmailFieldDetailsTests* self) {
	FolksEmailFieldDetails* _tmp0_;
	FolksEmailFieldDetails* details_a_1;
	FolksEmailFieldDetails* _tmp1_;
	FolksEmailFieldDetails* details_a_2;
	FolksEmailFieldDetails* _tmp2_;
	FolksEmailFieldDetails* details_b_1;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_ = FALSE;
#line 94 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_return_if_fail (self != NULL);
#line 96 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp0_ = folks_email_field_details_new ("foo", NULL);
#line 96 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	details_a_1 = _tmp0_;
#line 97 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp1_ = folks_email_field_details_new ("foo", NULL);
#line 97 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	details_a_2 = _tmp1_;
#line 98 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp2_ = folks_email_field_details_new ("bar", NULL);
#line 98 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	details_b_1 = _tmp2_;
#line 101 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp3_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) details_a_1, (FolksAbstractFieldDetails*) details_a_2);
#line 101 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp3_);
#line 102 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp4_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) details_a_1, (FolksAbstractFieldDetails*) details_b_1);
#line 102 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (!_tmp4_);
#line 103 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp5_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) details_b_1, (FolksAbstractFieldDetails*) details_a_1);
#line 103 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (!_tmp5_);
#line 104 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp6_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) details_b_1, (FolksAbstractFieldDetails*) details_a_2);
#line 104 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (!_tmp6_);
#line 94 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details_b_1);
#line 94 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details_a_2);
#line 94 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details_a_1);
#line 767 "abstract-field-details.c"
}


void email_field_details_tests_test_params_equality (EmailFieldDetailsTests* self) {
	FolksEmailFieldDetails* _tmp0_;
	FolksEmailFieldDetails* details_a_1;
	FolksEmailFieldDetails* _tmp1_;
	FolksEmailFieldDetails* details_a_2;
	GeeHashMultiMap* _tmp2_;
	GeeHashMultiMap* parameters;
	GeeHashMultiMap* _tmp3_;
	GeeHashMultiMap* _tmp4_;
	GeeHashMultiMap* _tmp5_;
	FolksEmailFieldDetails* _tmp6_;
	GeeHashMultiMap* _tmp7_;
	FolksEmailFieldDetails* _tmp29_;
	FolksEmailFieldDetails* _tmp30_;
	gboolean _tmp31_ = FALSE;
	FolksEmailFieldDetails* _tmp32_;
	FolksEmailFieldDetails* _tmp33_;
	FolksEmailFieldDetails* _tmp34_;
	gboolean _tmp35_ = FALSE;
	FolksEmailFieldDetails* _tmp36_;
	FolksEmailFieldDetails* _tmp37_;
	FolksEmailFieldDetails* _tmp38_;
	gboolean _tmp39_ = FALSE;
	FolksEmailFieldDetails* _tmp40_;
	FolksEmailFieldDetails* _tmp41_;
	FolksEmailFieldDetails* _tmp42_;
	gboolean _tmp43_ = FALSE;
	FolksEmailFieldDetails* _tmp44_;
	FolksEmailFieldDetails* _tmp45_;
	FolksEmailFieldDetails* _tmp46_;
	gboolean _tmp47_ = FALSE;
	FolksEmailFieldDetails* _tmp48_;
	GeeMultiMap* _tmp49_;
	GeeMultiMap* _tmp50_;
	FolksEmailFieldDetails* _tmp51_;
	FolksEmailFieldDetails* _tmp52_;
	gboolean _tmp53_ = FALSE;
	FolksEmailFieldDetails* _tmp54_;
	GeeMultiMap* _tmp55_;
	GeeMultiMap* _tmp56_;
	FolksEmailFieldDetails* _tmp57_;
	FolksEmailFieldDetails* _tmp58_;
	gboolean _tmp59_ = FALSE;
#line 107 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_return_if_fail (self != NULL);
#line 109 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp0_ = folks_email_field_details_new ("foo", NULL);
#line 109 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	details_a_1 = _tmp0_;
#line 110 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp1_ = folks_email_field_details_new ("foo", NULL);
#line 110 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	details_a_2 = _tmp1_;
#line 114 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp2_ = gee_hash_multi_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL);
#line 114 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	parameters = _tmp2_;
#line 115 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp3_ = parameters;
#line 115 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	gee_multi_map_set ((GeeMultiMap*) _tmp3_, "bar", "baz");
#line 116 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp4_ = parameters;
#line 116 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	gee_multi_map_set ((GeeMultiMap*) _tmp4_, "qux", "quux");
#line 117 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp5_ = parameters;
#line 117 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	gee_multi_map_set ((GeeMultiMap*) _tmp5_, "qux", "quuux");
#line 118 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp6_ = details_a_1;
#line 118 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp7_ = parameters;
#line 118 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_abstract_field_details_set_parameters ((FolksAbstractFieldDetails*) _tmp6_, (GeeMultiMap*) _tmp7_);
#line 846 "abstract-field-details.c"
	{
		GeeHashMultiMap* _tmp8_;
		GeeSet* _tmp9_ = NULL;
		GeeSet* _tmp10_;
		GeeIterator* _tmp11_ = NULL;
		GeeIterator* _tmp12_;
		GeeIterator* _param_it;
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		_tmp8_ = parameters;
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		_tmp9_ = gee_multi_map_get_keys ((GeeMultiMap*) _tmp8_);
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		_tmp10_ = _tmp9_;
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		_tmp11_ = gee_iterable_iterator ((GeeIterable*) _tmp10_);
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		_tmp12_ = _tmp11_;
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		_g_object_unref0 (_tmp10_);
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		_param_it = _tmp12_;
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		while (TRUE) {
#line 870 "abstract-field-details.c"
			GeeIterator* _tmp13_;
			gboolean _tmp14_ = FALSE;
			GeeIterator* _tmp15_;
			gpointer _tmp16_ = NULL;
			gchar* param;
			GeeHashMultiMap* _tmp17_;
			const gchar* _tmp18_;
			GeeCollection* _tmp19_ = NULL;
			GeeCollection* values;
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp13_ = _param_it;
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp14_ = gee_iterator_next (_tmp13_);
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			if (!_tmp14_) {
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				break;
#line 888 "abstract-field-details.c"
			}
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp15_ = _param_it;
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp16_ = gee_iterator_get (_tmp15_);
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			param = (gchar*) _tmp16_;
#line 122 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp17_ = parameters;
#line 122 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp18_ = param;
#line 122 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_tmp19_ = gee_multi_map_get ((GeeMultiMap*) _tmp17_, _tmp18_);
#line 122 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			values = _tmp19_;
#line 904 "abstract-field-details.c"
			{
				GeeCollection* _tmp20_;
				GeeIterator* _tmp21_ = NULL;
				GeeIterator* _value_it;
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp20_ = values;
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_tmp21_ = gee_iterable_iterator ((GeeIterable*) _tmp20_);
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_value_it = _tmp21_;
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				while (TRUE) {
#line 917 "abstract-field-details.c"
					GeeIterator* _tmp22_;
					gboolean _tmp23_ = FALSE;
					GeeIterator* _tmp24_;
					gpointer _tmp25_ = NULL;
					gchar* value;
					FolksEmailFieldDetails* _tmp26_;
					const gchar* _tmp27_;
					const gchar* _tmp28_;
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					_tmp22_ = _value_it;
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					_tmp23_ = gee_iterator_next (_tmp22_);
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					if (!_tmp23_) {
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
						break;
#line 934 "abstract-field-details.c"
					}
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					_tmp24_ = _value_it;
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					_tmp25_ = gee_iterator_get (_tmp24_);
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					value = (gchar*) _tmp25_;
#line 124 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					_tmp26_ = details_a_2;
#line 124 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					_tmp27_ = param;
#line 124 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					_tmp28_ = value;
#line 124 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					folks_abstract_field_details_add_parameter ((FolksAbstractFieldDetails*) _tmp26_, _tmp27_, _tmp28_);
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
					_g_free0 (value);
#line 952 "abstract-field-details.c"
				}
#line 123 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
				_g_object_unref0 (_value_it);
#line 956 "abstract-field-details.c"
			}
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_g_object_unref0 (values);
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
			_g_free0 (param);
#line 962 "abstract-field-details.c"
		}
#line 120 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
		_g_object_unref0 (_param_it);
#line 966 "abstract-field-details.c"
	}
#line 127 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp29_ = details_a_1;
#line 127 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp30_ = details_a_2;
#line 127 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp31_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) _tmp29_, (FolksAbstractFieldDetails*) _tmp30_);
#line 127 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp31_);
#line 130 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp32_ = details_a_2;
#line 130 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_abstract_field_details_add_parameter ((FolksAbstractFieldDetails*) _tmp32_, "bar", "baz");
#line 131 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp33_ = details_a_1;
#line 131 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp34_ = details_a_2;
#line 131 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp35_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) _tmp33_, (FolksAbstractFieldDetails*) _tmp34_);
#line 131 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp35_);
#line 134 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp36_ = details_a_2;
#line 134 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_abstract_field_details_add_parameter ((FolksAbstractFieldDetails*) _tmp36_, "bar", "new");
#line 135 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp37_ = details_a_1;
#line 135 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp38_ = details_a_2;
#line 135 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp39_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) _tmp37_, (FolksAbstractFieldDetails*) _tmp38_);
#line 135 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (!_tmp39_);
#line 138 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp40_ = details_a_2;
#line 138 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_abstract_field_details_set_parameter ((FolksAbstractFieldDetails*) _tmp40_, "bar", "baz");
#line 139 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp41_ = details_a_1;
#line 139 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp42_ = details_a_2;
#line 139 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp43_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) _tmp41_, (FolksAbstractFieldDetails*) _tmp42_);
#line 139 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp43_);
#line 142 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp44_ = details_a_2;
#line 142 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	folks_abstract_field_details_add_parameter ((FolksAbstractFieldDetails*) _tmp44_, "bar", "new");
#line 143 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp45_ = details_a_1;
#line 143 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp46_ = details_a_2;
#line 143 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp47_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) _tmp45_, (FolksAbstractFieldDetails*) _tmp46_);
#line 143 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (!_tmp47_);
#line 146 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp48_ = details_a_2;
#line 146 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp49_ = folks_abstract_field_details_get_parameters ((FolksAbstractFieldDetails*) _tmp48_);
#line 146 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp50_ = _tmp49_;
#line 146 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	gee_multi_map_remove (_tmp50_, "bar", "new");
#line 147 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp51_ = details_a_1;
#line 147 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp52_ = details_a_2;
#line 147 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp53_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) _tmp51_, (FolksAbstractFieldDetails*) _tmp52_);
#line 147 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp53_);
#line 150 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp54_ = details_a_2;
#line 150 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp55_ = folks_abstract_field_details_get_parameters ((FolksAbstractFieldDetails*) _tmp54_);
#line 150 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp56_ = _tmp55_;
#line 150 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	gee_multi_map_remove_all (_tmp56_, "bar");
#line 151 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp57_ = details_a_1;
#line 151 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp58_ = details_a_2;
#line 151 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp59_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) _tmp57_, (FolksAbstractFieldDetails*) _tmp58_);
#line 151 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (!_tmp59_);
#line 107 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (parameters);
#line 107 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details_a_2);
#line 107 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details_a_1);
#line 1062 "abstract-field-details.c"
}


void email_field_details_tests_test_im_field_details_equality (EmailFieldDetailsTests* self) {
	FolksImFieldDetails* _tmp0_;
	FolksImFieldDetails* details_a_1;
	FolksImFieldDetails* _tmp1_;
	FolksImFieldDetails* details_a_2;
	FolksImFieldDetails* _tmp2_;
	FolksImFieldDetails* details_b_1;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	FolksEmailFieldDetails* _tmp5_;
	FolksEmailFieldDetails* details_c_1;
	gboolean _tmp6_ = FALSE;
#line 154 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_return_if_fail (self != NULL);
#line 156 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp0_ = folks_im_field_details_new ("foo@example.org", NULL);
#line 156 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	details_a_1 = _tmp0_;
#line 157 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp1_ = folks_im_field_details_new ("foo@example.org", NULL);
#line 157 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	details_a_2 = _tmp1_;
#line 158 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp2_ = folks_im_field_details_new ("bar@other.example.org", NULL);
#line 158 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	details_b_1 = _tmp2_;
#line 161 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp3_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) details_a_1, (FolksAbstractFieldDetails*) details_a_2);
#line 161 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (_tmp3_);
#line 162 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp4_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) details_a_1, (FolksAbstractFieldDetails*) details_b_1);
#line 162 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (!_tmp4_);
#line 165 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp5_ = folks_email_field_details_new ("foo@example.org", NULL);
#line 165 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	details_c_1 = _tmp5_;
#line 166 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp6_ = folks_abstract_field_details_equal ((FolksAbstractFieldDetails*) details_a_1, (FolksAbstractFieldDetails*) details_c_1);
#line 166 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_assert (!_tmp6_);
#line 154 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details_c_1);
#line 154 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details_b_1);
#line 154 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details_a_2);
#line 154 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (details_a_1);
#line 1116 "abstract-field-details.c"
}


static void email_field_details_tests_class_init (EmailFieldDetailsTestsClass * klass) {
#line 23 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	email_field_details_tests_parent_class = g_type_class_peek_parent (klass);
#line 23 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	FOLKS_TEST_CASE_CLASS (klass)->set_up = email_field_details_tests_real_set_up;
#line 23 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	FOLKS_TEST_CASE_CLASS (klass)->tear_down = email_field_details_tests_real_tear_down;
#line 1127 "abstract-field-details.c"
}


static void email_field_details_tests_instance_init (EmailFieldDetailsTests * self) {
}


GType email_field_details_tests_get_type (void) {
	static volatile gsize email_field_details_tests_type_id__volatile = 0;
	if (g_once_init_enter (&email_field_details_tests_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (EmailFieldDetailsTestsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) email_field_details_tests_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EmailFieldDetailsTests), 0, (GInstanceInitFunc) email_field_details_tests_instance_init, NULL };
		GType email_field_details_tests_type_id;
		email_field_details_tests_type_id = g_type_register_static (FOLKS_TYPE_TEST_CASE, "EmailFieldDetailsTests", &g_define_type_info, 0);
		g_once_init_leave (&email_field_details_tests_type_id__volatile, email_field_details_tests_type_id);
	}
	return email_field_details_tests_type_id__volatile;
}


gint _vala_main (gchar** args, int args_length1) {
	gint result = 0;
	GTestSuite* _tmp0_ = NULL;
	GTestSuite* root;
	EmailFieldDetailsTests* _tmp1_;
	EmailFieldDetailsTests* _tmp2_;
	GTestSuite* _tmp3_ = NULL;
#line 172 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_test_init (&args_length1, &args, NULL);
#line 174 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp0_ = g_test_get_root ();
#line 174 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	root = _tmp0_;
#line 175 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp1_ = email_field_details_tests_new ();
#line 175 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp2_ = _tmp1_;
#line 175 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_tmp3_ = folks_test_case_get_suite ((FolksTestCase*) _tmp2_);
#line 175 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_test_suite_add_suite (root, _tmp3_);
#line 175 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	_g_object_unref0 (_tmp2_);
#line 177 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_test_run ();
#line 179 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	result = 0;
#line 179 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	return result;
#line 1176 "abstract-field-details.c"
}


int main (int argc, char ** argv) {
#line 170 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	g_type_init ();
#line 170 "/home/treitter/collabora/folks/tests/folks/abstract-field-details.vala"
	return _vala_main (argv, argc);
#line 1185 "abstract-field-details.c"
}


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);
}



