Пример #1
0
	def test_type_is_all(self):
		var=[1,2,3,4,5,6,7]
		test=lzlist(var)
		# if value have the same type
		self.assertTrue(test.type_is_all(int))
		self.assertFalse(test.type_is_all(str))
		# if value have different types
		var= [1,2,"3",4,5,6,7]
		test=lzlist(var)
		self.assertFalse(test.type_is_all(int))
		self.assertFalse(test.type_is_all(str))
Пример #2
0
	def test_includetype(self):
		var= [1,2,3,4,"b","c"]
		test = lzlist(var)
		self.assertTrue(test.includes_type(int))
		self.assertTrue(test.includes_type(str))
		self.assertFalse(test.includes_type(list))
		self.assertFalse(test.includes_type(lzdict))
Пример #3
0
	def test_similar_to(self):
		var = ["apple","apes","ape","app","application","bape","bang","bong"]
		test=lzlist(var)
		self.assertEqual(test.similar_to("ap"),["apple","apes","ape","app","application","bape"])
		self.assertEqual(test.similar_to("^app"),["apple","app","application"])
		self.assertEqual(test.similar_to("b..g"),["bang","bong"])
		self.assertEqual(test.similar_to("^c"),[])
Пример #4
0
def stats(*args):
    a = list(args)
    dist = gts().columns // 2 - 1
    file_types = str(lzlist(['.' + x.extension for x in a[7]]).unique)
    STATSPAGE = f'''\
Time Taken:
|{'-'*(gts().columns- 2)}|
|{'Treating args':^{dist}}|{lzfloat(a[1]-a[0]).round_sf(8):^{dist}}|
|{'-'*(gts().columns- 2)}|
|{'Printing args':^{dist}}|{lzfloat(a[2]-a[1]).round_sf(8):^{dist}}|
|{'-'*(gts().columns- 2)}|
|{'Generating links':^{dist}}|{lzfloat(a[3]-a[2]).round_sf(8):^{dist}}|
|{'-'*(gts().columns- 2)}|
|{'Getting file lists':^{dist}}|{lzfloat(a[4]-a[3]).round_sf(8):^{dist}}|
|{'-'*(gts().columns- 2)}|
|{'Downloading image':^{dist}}|{lzfloat(a[5]-a[4]).round_sf(8):^{dist}}|
|{'-'*(gts().columns- 2)}|
|{'Converting files':^{dist}}|{lzfloat(a[6]-a[5]).round_sf(8):^{dist}}|
|{'-'*(gts().columns- 2)}|

Files:
|{'-'*(gts().columns- 2)}|
|{'Amount of files':^{dist}}|{len(a[7]):^{dist-1}}|
|{'-'*(gts().columns- 2)}|
|{'File types':^{dist}}|{file_types:^{dist-1}}|
|{'-'*(gts().columns- 2)}|
'''
    return STATSPAGE
Пример #5
0
	def test_type_includes(self):
		var=  [1,2,3,4,5,6,[1,2,3,{4:5},{7}],"4"]
		test=lzlist(var)
		# type_includes only checks first layer of lists
		self.assertTrue(test.type_includes(int))
		self.assertTrue(test.type_includes(str))
		self.assertTrue(test.type_includes(list))
		self.assertFalse(test.type_includes(set))
		self.assertFalse(test.type_includes(dict))
		# test for different data types
		var = [{1,2},[3,4]]
		test=lzlist(var)
		self.assertTrue(test.type_includes(set))
		self.assertTrue(test.type_includes(list))
		self.assertFalse(test.type_includes(str))
		self.assertFalse(test.type_includes(int))
Пример #6
0
	def test_split_by(self):
		var=[1,2,3,4,5,6,7,8,9]
		test=lzlist(var)
		self.assertEqual(test.split_by(3),[[1,2,3],[4,5,6],[7,8,9]])
		# split_by function replaces original string
		test.revert()
		self.assertEqual(test.split_by(4),[[1,2,3,4],[5,6,7,8],[9]])
Пример #7
0
	def test_choice(self):
		var=[1,2,3,4,5,6,7,8,9,0]
		test=lzlist(var)
		random.seed(1234)
		# self.assertEqual(test.choice(random.randrange(1,10)),_k)
		self.assertTrue(all([i in var for i in test.choice(10)]))
		self.assertTrue(len(test.choice(1010)), 1010)
Пример #8
0
def generalconfigs():
    global followingparties
    global configs
    # Makes the following key unique
    for k, v in configs.items():
        if k == "GENERAL":
            continue
        for key, value in v.items():
            if type(value) != list:
                continue
            v[key] = sorted(lzlist(value).unique, key=lambda x: x[0].lower())
    # Add a list of total tracking guild.
    configs["GENERAL"]["trackingguild"] = sorted(
        list(
            set(
                lzlist(
                    i["trackingguild"]
                    for i in [v for k, v in configs.items()
                              if k != "GENERAL"]).join_all())))
    configs["GENERAL"]["trackingplayer"] = sorted(
        list(
            set(
                lzlist(
                    i["trackingplayer"]
                    for i in [v for k, v in configs.items()
                              if k != "GENERAL"]).join_all())))
    # get the smallest kill fame in all guilds
    try:
        configs["GENERAL"]["minimumkillfame"] = min([
            i["minimumkillfame"]
            for i in [v for k, v in configs.items() if k != "GENERAL"]
        ])
    # No guild has set a minimum fame yet// have not joined any guild
    except ValueError:
        pass
    # Set a list of tracking guilds and players to the kb object
    kb.tracking = configs["GENERAL"]["trackingplayer"] + configs["GENERAL"][
        "trackingguild"]
    # Set the minimum kill fame of the killboard
    kb.minkillfame = configs["GENERAL"]["minimumkillfame"]
    # update the following parties for the colors!
    followingparties = configs["GENERAL"]["trackingguild"] + configs[
        "GENERAL"]["trackingplayer"]
    #set a latest item
    configs["latest_eventid"] = kb.latest
    # dump everything into the configs file
    return updateconfigs(configs)
Пример #9
0
	def test_tostr(self):
		var= [97,98,99]
		test=lzlist(var)
		self.assertEqual(test.tostr,"abc")

		var= [102, 101, 105, 109, 97, 111, 109, 105, 97, 111]
		test=lzlist(var)
		self.assertEqual(test.tostr,"feimaomiao")

		var=[77, 97, 116, 116, 104, 101, 119, 32, 76, 97, 109]
		test=lzlist(var)
		self.assertEqual(test.tostr,"Matthew Lam")

		# test for other languages
		var=[49324, 46993, 54644]
		test=lzlist(var)
		self.assertEqual(test.tostr,"사랑해")
Пример #10
0
	def test_all_without_type(self):
		var=[1,"2",3,[1,2,3],{1:2},{5},"4",5]
		test=lzlist(var)
		self.assertEqual(test.all_without_type(int),["2",[1,2,3],{1:2},{5},"4"])
		self.assertEqual(test.all_without_type(list),[1,"2",3,{1:2},{5},"4",5])
		# test for >1 types
		self.assertEqual(test.all_without_type((int,str,list)),[{1:2},{5}])
		self.assertEqual(test.all_without_type((int,str,list,dict,set)),[])
Пример #11
0
	def test_run_all(self):
		# test function that will be called
		def _t(v=1):
			return lzint(v).iseven

		var = [_t, _t, _t, _t, _t, print, _t, _t]
		test= lzlist(var)
		self.assertEqual(test.run_all([1,3,6],2), [False, True, False, True,False,None, True,False])
		self.assertEqual(test.run_all([0,1,2],v=2),[True,True,True,False,False,None,False,False])
Пример #12
0
	def test_before(self):
		var = [1,2,3,1,2,1]
		test=lzlist(var)

		self.assertEqual(test.before(2),[1,1])
		self.assertEqual(test.before(1),[1,3,2])

		self.assertEqual(test.before(3),[2])
		self.assertEqual(test.before("a"),[])
Пример #13
0
	def test_next(self):
		var=[0,1,2,3,4,5,6,7,8,9]	
		test=lzlist(var)
		self.assertEqual(test.next(0),[1])
		self.assertEqual(test.next(5),[6])

		# Final unit
		self.assertEqual(test.next(9),[0])

		# Default case
		self.assertEqual(test.next() ,[1])

		# Non existense case
		self.assertEqual(test.next("a"),[])

		var = [1,2,1,2]
		test=lzlist(var)
		self.assertEqual(test.next(1),[2,2])
Пример #14
0
	def test_includes(self):
		var= [1,"2",3,[4,5]]
		test=lzlist(var)
		# test for include
		self.assertTrue(test.includes(1))
		self.assertTrue(test.includes("2"))
		self.assertTrue(test.includes(3))
		self.assertTrue(test.includes([4,5]))
		# test for not include
		self.assertFalse(test.includes("1"))
		self.assertFalse(test.includes([4]))
		self.assertFalse(test.includes([4,"5"]))
Пример #15
0
	def test_shuffle(self):
		var=[1,2,3,4,5,6,7,8,9]
		test=lzlist(var)
		MSGSTRING=f"""\

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
For test lzlist.shuffle:
Before shuffle: {test}
After shuffle:  {test.shuffle(rp=True)}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"""
		with open(OUTPUTFILE,"a") as file:
			print(MSGSTRING, file=file)
		self.assertTrue(all([i in test for i in var]))
Пример #16
0
	def test_forall(self):
		import itertools
		var=[1,2,3,4]
		test=lzlist(var)
		# return type is list for function forall instead of tuple
		self.assertEqual(test.forall("pro"),[list(i) for i in itertools.product(var,repeat=2)])
		self.assertEqual(test.forall("product"),[list(i) for i in itertools.product(var,repeat=2)])
		self.assertEqual(test.forall("per"),[list(i) for i in itertools.permutations(var,2)])
		self.assertEqual(test.forall("permuutations"),[list(i) for i in itertools.permutations(var,2)])
		self.assertEqual(test.forall("combinations"), [list(i) for i in itertools.combinations(var,2)])
		self.assertEqual(test.forall("combinations"), [list(i) for i in itertools.combinations(var,2)])
		self.assertEqual(test.forall("combinations_with_replacement"), [list(i) for i in itertools.combinations_with_replacement(var,2)])
		self.assertEqual(test.forall("random words that does not make sense"),[list(i) for i in itertools.combinations_with_replacement(var,2)])
		del itertools
Пример #17
0
	def test_deepshuffle(self):
		var = [1,2,3,4,5,6,[7,8,9,[1,2,3,4]]]
		test=lzlist(var)
		# All values should be the same
		MSGSTRING=f"""\

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
For test lzl.deeppshuffle:
Before shuffle: {test}
After shuffle:  {test.deepshuffle()}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"""
		with open(OUTPUTFILE,"a") as file:
			print(MSGSTRING,file=file)
		self.assertTrue(all([i in var for i in test.deepshuffle()]))
Пример #18
0
 async def inventory(self):
     stuff = []
     async with aiohttp.ClientSession(
             headers={"Connection": "close"}) as session:
         for i in [j for j in self.victim["Inventory"] if j is not None]:
             itemworth = _getaverage(
                 await get_iw_json(i["Type"],
                                   session,
                                   sendchannel=self.debugchannel),
                 i["Quality"])
             stuff.append(
                 (items_get(i["Type"],
                            i["Quality"]), int(i["Count"]), int(itemworth)))
     for i in stuff:
         self.gw += i[2] * i[1]
     sortedstuff = sorted(stuff, key=lambda x: x[2], reverse=True)
     rs = lambda x, y: "\n".join([str(i[int(x)]) for i in tuple(y)])
     if any(len(rs(0, sortedstuff)) > 1024 for x in range(0, 3)):
         s0, s1 = (lzlist(sortedstuff).split_to(2))
         return (rs(0, s0), rs(1, s0), rs(2, s0), rs(0, s1), rs(1, s1),
                 rs(2, s1), True)
     return (rs(0, sortedstuff), rs(1, sortedstuff), rs(2, sortedstuff), "",
             "", "", False)
Пример #19
0
	def test_unique(self):
		var=[1,2,1,1,2,1,3,1,4,15,1,2,13,[1,2,3,9]]
		test= lzlist(var)
		self.assertEqual(test.unique,[1,2,3,4,9,13,15])
Пример #20
0
	def test_basic(self):
		var = [1,2,3,4,"a","b","c","d",["a","b"],{"a","b"}]
		test = lzlist(var)
		self.assertEqual(test, var)
Пример #21
0
	def test_split_to(self):
		var=[1,2,3,4,5,6,7,8]
		test=lzlist(var)
		self.assertEqual(test.split_to(2),[[1,2,3,4],[5,6,7,8]])
		test.revert()
		self.assertEqual(test.split_to(3),[[1,2,3],[4,5,6],[7,8]])
Пример #22
0
	def test_split_mod(self):
		var=[1,4,7,2,5,8,3,6,9]
		test=lzlist(var)
		self.assertEqual(test.split_mod(3),[[1,2,3],[4,5,6],[7,8,9]])
Пример #23
0
	def test_listtypes(self):
		var=[1,2,3,[1,2],"a","b","c"]
		test=lzlist(var)
		self.assertEqual(test.list_types, [list,int,str])
Пример #24
0
	def test_join_all(self):
		var= [1,[2,[3,[4,[5,[6,[7,[8,[9,10],11],12],13],14],15],16],17],18]
		test=lzlist(var)
		self.assertEqual(test.join_all(),[i for i in range(1,19)])
		# joinall function replaces original string
		self.assertEqual(test,[i for i in range(1,19)])
Пример #25
0
	def test_all_index(self):
		var= [1,2,1,2,3,4,3,43,5,4,3,3,2,22,1,3]
		test = lzlist(var)
		self.assertEqual(test.all_index(1),[0,2,14])
Пример #26
0
	def test_revert(self):
		var= [1,2,3,4,"b","c"]
		test= lzlist(var)
		test.clear()
		self.assertEqual(test.revert(), var)
		self.assertEqual(test, var)
Пример #27
0
	def test_count_type(self):
		var = [1,"2",[3],{4:"4"},{5},range(6),7,8,"9",{10}]
		test=lzlist(var)
		self.assertEqual(test.count_type(int),3)
		self.assertEqual(test.count_type(str),2)
		self.assertEqual(test.count_type((int,str)),5)