ported test data and test purchase receipt from aii
diff --git a/tests/data/item/android_jack_d.txt b/tests/data/item/android_jack_d.txt
new file mode 100644
index 0000000..24944e3
--- /dev/null
+++ b/tests/data/item/android_jack_d.txt
@@ -0,0 +1,37 @@
+# Item, Android Jack D
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-26 11:30:44',
+		u'docstatus': 0,
+		u'modified': '2012-08-26 11:30:44',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item
+	{
+		'description': u'Android Jack D',
+		'doctype': 'Item',
+		'has_batch_no': u'No',
+		'has_serial_no': u'No',
+		'inspection_required': u'No',
+		'is_purchase_item': u'Yes',
+		'is_sales_item': u'Yes',
+		'is_service_item': u'No',
+		'is_stock_item': u'Yes',
+		'item_code': u'Android Jack D',
+		'item_group': u'Android',
+		'item_name': u'Android Jack D',
+		u'name': u'__common__',
+		'stock_uom': u'Nos',
+		'default_warehouse': u'Default Warehouse'
+	},
+
+	# Item, Android Jack D
+	{
+		u'doctype': 'Item',
+		'name': u'Android Jack D'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item/android_jack_s.txt b/tests/data/item/android_jack_s.txt
new file mode 100644
index 0000000..feaceef
--- /dev/null
+++ b/tests/data/item/android_jack_s.txt
@@ -0,0 +1,37 @@
+# Item, Android Jack S
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-26 11:29:22',
+		u'docstatus': 0,
+		u'modified': '2012-08-26 11:29:22',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item
+	{
+		'description': u'Android Jack S',
+		'doctype': 'Item',
+		'has_batch_no': u'No',
+		'has_serial_no': u'No',
+		'inspection_required': u'No',
+		'is_purchase_item': u'Yes',
+		'is_sales_item': u'Yes',
+		'is_service_item': u'No',
+		'is_stock_item': u'Yes',
+		'item_code': u'Android Jack S',
+		'item_group': u'Android',
+		'item_name': u'Android Jack S',
+		u'name': u'__common__',
+		'stock_uom': u'Nos',
+		'default_warehouse': u'Default Warehouse'
+	},
+
+	# Item, Android Jack S
+	{
+		u'doctype': 'Item',
+		'name': u'Android Jack S'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item/home_desktop_100.txt b/tests/data/item/home_desktop_100.txt
new file mode 100644
index 0000000..19ef01d
--- /dev/null
+++ b/tests/data/item/home_desktop_100.txt
@@ -0,0 +1,37 @@
+# Item, Home Desktop 100
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-26 11:25:28',
+		u'docstatus': 0,
+		u'modified': '2012-08-26 11:25:28',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item
+	{
+		'description': u'Home Desktop 100',
+		'doctype': 'Item',
+		'has_batch_no': u'No',
+		'has_serial_no': u'No',
+		'inspection_required': u'No',
+		'is_purchase_item': u'Yes',
+		'is_sales_item': u'Yes',
+		'is_service_item': u'No',
+		'is_stock_item': u'Yes',
+		'item_code': u'Home Desktop 100',
+		'item_group': u'Home Series',
+		'item_name': u'Home Desktop 100',
+		u'name': u'__common__',
+		'stock_uom': u'Nos',
+		'default_warehouse': u'Default Warehouse'
+	},
+
+	# Item, Home Desktop 100
+	{
+		u'doctype': 'Item',
+		'name': u'Home Desktop 100'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item/home_desktop_200.txt b/tests/data/item/home_desktop_200.txt
new file mode 100644
index 0000000..053e37c
--- /dev/null
+++ b/tests/data/item/home_desktop_200.txt
@@ -0,0 +1,37 @@
+# Item, Home Desktop 200
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-26 11:25:54',
+		u'docstatus': 0,
+		u'modified': '2012-08-26 11:25:54',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item
+	{
+		'description': u'Home Desktop 200',
+		'doctype': 'Item',
+		'has_batch_no': u'No',
+		'has_serial_no': u'No',
+		'inspection_required': u'No',
+		'is_purchase_item': u'Yes',
+		'is_sales_item': u'Yes',
+		'is_service_item': u'No',
+		'is_stock_item': u'Yes',
+		'item_code': u'Home Desktop 200',
+		'item_group': u'Home Series',
+		'item_name': u'Home Desktop 200',
+		u'name': u'__common__',
+		'stock_uom': u'Nos',
+		'default_warehouse': u'Default Warehouse'
+	},
+
+	# Item, Home Desktop 200
+	{
+		u'doctype': 'Item',
+		'name': u'Home Desktop 200'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item/home_desktop_300.txt b/tests/data/item/home_desktop_300.txt
new file mode 100644
index 0000000..304b2ef
--- /dev/null
+++ b/tests/data/item/home_desktop_300.txt
@@ -0,0 +1,37 @@
+# Item, Home Desktop 300
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-26 11:26:37',
+		u'docstatus': 0,
+		u'modified': '2012-08-26 11:26:37',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item
+	{
+		'description': u'Home Desktop 300',
+		'doctype': 'Item',
+		'has_batch_no': u'No',
+		'has_serial_no': u'No',
+		'inspection_required': u'No',
+		'is_purchase_item': u'Yes',
+		'is_sales_item': u'Yes',
+		'is_service_item': u'No',
+		'is_stock_item': u'Yes',
+		'item_code': u'Home Desktop 300',
+		'item_group': u'Home Series',
+		'item_name': u'Home Desktop 300',
+		u'name': u'__common__',
+		'stock_uom': u'Nos',
+		'default_warehouse': u'Default Warehouse'
+	},
+
+	# Item, Home Desktop 300
+	{
+		u'doctype': 'Item',
+		'name': u'Home Desktop 300'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item/nebula_7.txt b/tests/data/item/nebula_7.txt
new file mode 100644
index 0000000..9f61d7a
--- /dev/null
+++ b/tests/data/item/nebula_7.txt
@@ -0,0 +1,38 @@
+# Item, Nebula 7
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-26 11:32:02',
+		u'docstatus': 0,
+		u'modified': '2012-08-26 11:32:02',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item
+	{
+		'description': u'Nebula 7',
+		'doctype': 'Item',
+		'has_batch_no': u'No',
+		'has_serial_no': u'No',
+		'inspection_required': u'No',
+		'is_sub_contracted_item': 'Yes',
+		'is_purchase_item': u'No',
+		'is_sales_item': u'Yes',
+		'is_service_item': u'No',
+		'is_stock_item': u'Yes',
+		'item_code': u'Nebula 7',
+		'item_group': u'Small Tablets',
+		'item_name': u'Nebula 7',
+		u'name': u'__common__',
+		'stock_uom': u'Nos',
+		'default_warehouse': u'Default Warehouse'
+	},
+
+	# Item, Nebula 7
+	{
+		u'doctype': 'Item',
+		'name': u'Nebula 7'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/accessories.txt b/tests/data/item_group/accessories.txt
new file mode 100644
index 0000000..c4d3b1a
--- /dev/null
+++ b/tests/data/item_group/accessories.txt
@@ -0,0 +1,27 @@
+# Item Group, Accessories
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:55:59',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:55:59',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'Yes',
+		'item_group_name': u'Accessories',
+		u'name': u'__common__',
+		'parent_item_group': u'All Item Groups'
+	},
+
+	# Item Group, Accessories
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Accessories'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/android.txt b/tests/data/item_group/android.txt
new file mode 100644
index 0000000..9d66be5
--- /dev/null
+++ b/tests/data/item_group/android.txt
@@ -0,0 +1,27 @@
+# Item Group, Android
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:57:11',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:57:11',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'No',
+		'item_group_name': u'Android',
+		u'name': u'__common__',
+		'parent_item_group': u'Smartphones'
+	},
+
+	# Item Group, Android
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Android'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/desktops.txt b/tests/data/item_group/desktops.txt
new file mode 100644
index 0000000..7c093d5
--- /dev/null
+++ b/tests/data/item_group/desktops.txt
@@ -0,0 +1,27 @@
+# Item Group, Desktops
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:55:28',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:55:28',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'Yes',
+		'item_group_name': u'Desktops',
+		u'name': u'__common__',
+		'parent_item_group': u'All Item Groups'
+	},
+
+	# Item Group, Desktops
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Desktops'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/full_size_tablets.txt b/tests/data/item_group/full_size_tablets.txt
new file mode 100644
index 0000000..158547c
--- /dev/null
+++ b/tests/data/item_group/full_size_tablets.txt
@@ -0,0 +1,27 @@
+# Item Group, Full Size Tablets
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:58:20',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:58:20',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'No',
+		'item_group_name': u'Full Size Tablets',
+		u'name': u'__common__',
+		'parent_item_group': u'Tablets'
+	},
+
+	# Item Group, Full Size Tablets
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Full Size Tablets'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/gamer.txt b/tests/data/item_group/gamer.txt
new file mode 100644
index 0000000..bce38c7
--- /dev/null
+++ b/tests/data/item_group/gamer.txt
@@ -0,0 +1,27 @@
+# Item Group, Gamer
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:56:27',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:56:27',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'No',
+		'item_group_name': u'Gamer',
+		u'name': u'__common__',
+		'parent_item_group': u'Desktops'
+	},
+
+	# Item Group, Gamer
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Gamer'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/home_series.txt b/tests/data/item_group/home_series.txt
new file mode 100644
index 0000000..27eeec3
--- /dev/null
+++ b/tests/data/item_group/home_series.txt
@@ -0,0 +1,27 @@
+# Item Group, Home Series
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:56:15',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:56:15',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'No',
+		'item_group_name': u'Home Series',
+		u'name': u'__common__',
+		'parent_item_group': u'Desktops'
+	},
+
+	# Item Group, Home Series
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Home Series'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/laptops.txt b/tests/data/item_group/laptops.txt
new file mode 100644
index 0000000..2ac14d1
--- /dev/null
+++ b/tests/data/item_group/laptops.txt
@@ -0,0 +1,27 @@
+# Item Group, Laptops
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:55:36',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:55:36',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'Yes',
+		'item_group_name': u'Laptops',
+		u'name': u'__common__',
+		'parent_item_group': u'All Item Groups'
+	},
+
+	# Item Group, Laptops
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Laptops'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/lightweight.txt b/tests/data/item_group/lightweight.txt
new file mode 100644
index 0000000..b3e01e5
--- /dev/null
+++ b/tests/data/item_group/lightweight.txt
@@ -0,0 +1,27 @@
+# Item Group, Lightweight
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:56:57',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:56:58',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'No',
+		'item_group_name': u'Lightweight',
+		u'name': u'__common__',
+		'parent_item_group': u'Laptops'
+	},
+
+	# Item Group, Lightweight
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Lightweight'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/medium_tablets.txt b/tests/data/item_group/medium_tablets.txt
new file mode 100644
index 0000000..87bda5d
--- /dev/null
+++ b/tests/data/item_group/medium_tablets.txt
@@ -0,0 +1,27 @@
+# Item Group, Medium Tablets
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:57:51',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:57:51',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'No',
+		'item_group_name': u'Medium Tablets',
+		u'name': u'__common__',
+		'parent_item_group': u'Tablets'
+	},
+
+	# Item Group, Medium Tablets
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Medium Tablets'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/pro_series.txt b/tests/data/item_group/pro_series.txt
new file mode 100644
index 0000000..e66f91a
--- /dev/null
+++ b/tests/data/item_group/pro_series.txt
@@ -0,0 +1,27 @@
+# Item Group, Pro Series
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:56:20',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:56:20',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'No',
+		'item_group_name': u'Pro Series',
+		u'name': u'__common__',
+		'parent_item_group': u'Desktops'
+	},
+
+	# Item Group, Pro Series
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Pro Series'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/small_tablets.txt b/tests/data/item_group/small_tablets.txt
new file mode 100644
index 0000000..cbf4399
--- /dev/null
+++ b/tests/data/item_group/small_tablets.txt
@@ -0,0 +1,27 @@
+# Item Group, Small Tablets
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:57:44',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:57:44',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'No',
+		'item_group_name': u'Small Tablets',
+		u'name': u'__common__',
+		'parent_item_group': u'Tablets'
+	},
+
+	# Item Group, Small Tablets
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Small Tablets'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/smartphones.txt b/tests/data/item_group/smartphones.txt
new file mode 100644
index 0000000..ee7dfb9
--- /dev/null
+++ b/tests/data/item_group/smartphones.txt
@@ -0,0 +1,27 @@
+# Item Group, Smartphones
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:55:49',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:55:49',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'Yes',
+		'item_group_name': u'Smartphones',
+		u'name': u'__common__',
+		'parent_item_group': u'All Item Groups'
+	},
+
+	# Item Group, Smartphones
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Smartphones'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/tablets.txt b/tests/data/item_group/tablets.txt
new file mode 100644
index 0000000..cc44bae
--- /dev/null
+++ b/tests/data/item_group/tablets.txt
@@ -0,0 +1,27 @@
+# Item Group, Tablets
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:55:42',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:55:42',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'Yes',
+		'item_group_name': u'Tablets',
+		u'name': u'__common__',
+		'parent_item_group': u'All Item Groups'
+	},
+
+	# Item Group, Tablets
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Tablets'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/tough.txt b/tests/data/item_group/tough.txt
new file mode 100644
index 0000000..0d3badd
--- /dev/null
+++ b/tests/data/item_group/tough.txt
@@ -0,0 +1,27 @@
+# Item Group, Tough
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:56:41',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:56:41',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'No',
+		'item_group_name': u'Tough',
+		u'name': u'__common__',
+		'parent_item_group': u'Laptops'
+	},
+
+	# Item Group, Tough
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Tough'
+	}
+]
\ No newline at end of file
diff --git a/tests/data/item_group/ultrabook.txt b/tests/data/item_group/ultrabook.txt
new file mode 100644
index 0000000..4bb19d7
--- /dev/null
+++ b/tests/data/item_group/ultrabook.txt
@@ -0,0 +1,27 @@
+# Item Group, Ultrabook
+[
+
+	# These values are common in all dictionaries
+	{
+		u'creation': '2012-08-07 09:56:50',
+		u'docstatus': 0,
+		u'modified': '2012-08-07 09:56:50',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
+	},
+
+	# These values are common for all Item Group
+	{
+		u'doctype': 'Item Group',
+		'is_group': u'No',
+		'item_group_name': u'Ultrabook',
+		u'name': u'__common__',
+		'parent_item_group': u'Laptops'
+	},
+
+	# Item Group, Ultrabook
+	{
+		u'doctype': 'Item Group',
+		u'name': u'Ultrabook'
+	}
+]
\ No newline at end of file