Explorar el Código

添加 mocha 测试:测试 JSON 数据文件的完整性

modood hace 8 años
padre
commit
a36bd839e1
Se han modificado 1 ficheros con 28 adiciones y 17 borrados
  1. 28 17
      test/json.js

+ 28 - 17
test/test.js → test/json.js

@@ -1,7 +1,7 @@
 'use strict'
 
 /**
- * 测试脚本
+ * 测试 JSON 文件的完整性
  * @Author   https://github.com/modood
  * @DateTime 2016-10-10 11:24
  */
@@ -21,38 +21,41 @@ const address4  = chinaDivision.address4;
 describe('中华人民共和国行政区划:', function () {
 
   it('省份数据', function () {
-    assert.equal('110000', provinces[0].code)
-    assert.equal('北京市', provinces[0].name)
+    var i = findElem(provinces, 'code', '110000')
+    assert(i !== -1)
+    assert.equal(provinces[i].name, '北京市')
   });
 
   it('城市数据', function () {
-    assert.equal('110100', cities[0].code)
-    assert.equal('北京市', cities[0].name)
-    assert.equal('110000', cities[0].parent_code)
+    var i = findElem(cities, 'code', '140100')
+    assert(i !== -1)
+    assert.equal(cities[i].name, '太原市')
+    assert.equal(cities[i].parent_code, '140000')
   });
 
   it('区县数据', function () {
-    assert.equal('110101', areas[0].code)
-    assert.equal('东城区', areas[0].name)
-    assert.equal('110100', areas[0].parent_code)
+    var i = findElem(areas, 'code', '120110')
+    assert(i !== -1)
+    assert.equal(areas[i].name, '东丽区')
+    assert.equal(areas[i].parent_code, '120100')
   });
 
-  it('乡镇(街道)数据', function () {
-    assert.equal('110101001', streets[0].code)
-    assert.equal('东华门街道', streets[0].name)
-    assert.equal('dong hua men jie dao', streets[0].pinyin)
-    assert.equal('110101', streets[0].parent_code)
+  it('乡镇数据', function () {
+    var i = findElem(streets, 'code', '441881124000')
+    assert(i !== -1)
+    assert.equal(streets[i].name, '波罗镇')
+    assert.equal(streets[i].parent_code, '441881')
   });
 
-  it('“省、市” 二级联动数据', function () {
+  it('“省市” 二级联动数据', function () {
     assert.ok(address2['浙江省'].indexOf('杭州市') !== -1)
   });
 
-  it('“省、市、区” 三级联动数据', function () {
+  it('“省市、区” 三级联动数据', function () {
     assert.ok(address3['云南省']['丽江市'].indexOf('古城区') !== -1)
   });
 
-  it('“省、市、区、镇” 四级联动数据', function () {
+  it('“省市、区镇” 四级联动数据', function () {
     assert.ok(address4['广西壮族自治区']['玉林市']['容县'].indexOf('石头镇') !== -1)
   });
 
@@ -62,3 +65,11 @@ describe('中华人民共和国行政区划:', function () {
 
 });
 
+function findElem (arrayToSearch, attr, val) {
+  for (var i = 0; i < arrayToSearch.length; i++) {
+    if (arrayToSearch[i][attr] === val) {
+      return i
+    }
+  }
+  return -1
+}