describe("helper function testing ", function()
	  require('lib.helpers'):init(_G)
    describe("explode", function()
		it('can split number normal', function()
	    	assert.same(explode('1,2,3',','), {'1','2','3'})
		end)
		it('can split number and str', function()
	    	assert.same(explode('1,2,3,ab',','), {'1','2','3','ab'})
		end)
		it('can split str with other symbal', function()
	    	assert.same(explode('1,2,3,b.d',','), {'1','2','3','b.d'})
		end)
		it('can split str which dont have symbal', function()
	    	assert.same(explode('1',','), {'1'})
		end)
		it('can split str empty', function()
	    	assert.same(explode('',','), {})
		end)
		it('can split str by point', function()
	    	assert.same(explode('1.2.3.4','.'), {'1','2','3','4'})
		end)
    end)

    it("table_reverse", function()
    	assert.same(table_reverse({1,2,3,4,5}), {5,4,3,2,1})
    	assert.same(table_reverse({1,2,3,4,5,'a'}), {'a',5,4,3,2,1})
    end)

    describe("table_remove", function()
	    it('can remove number', function()
      		assert.same(table_remove({1}, {0,1,2,3,4,5}), {0,2,3,4,5})
		end)
		it('can remove muti number', function()
      		assert.same(table_remove({0,1}, {0,1,2,3,4,5}), {2,3,4,5})
		end)
		it('can not remove number which like str', function()
      		assert.same(table_remove({'1'}, {0,1,2,3,4,5}), {0,1,2,3,4,5})
		end)
		it('can remove str in the same number', function()
      		assert.same(table_remove({'1'}, {0,1,'1',2,3,4,5}), {0,1,2,3,4,5})
		end)
		it('can remove str', function()
      		assert.same(table_remove({'a'}, {0,1,2,3,4,'a'}), {0,1,2,3,4})
		end)
    end)
end)
