예제 #1
0
 def test_evaluate_polynomial(self):
     util = utils()
     values = [[[20, 21, 42], 0], [[0, 0, 0], 4], [[1, 2, 3, 4, 5], 10]]
     results = [20, 0, 54321]
     for index, value in enumerate(values):
         self.assertEqual(util.evaluate_polynomial(value[0], value[1]),
                          results[index])
예제 #2
0
 def test_split_merge(self):
     util = utils()
     values = [
         "N17FigASkL6p1EOgJhRaIquQLGvYV0",
         "0y10VAfmyH7GLQY6QccCSLKJi8iFgpcSBTLyYOGbiYPqOpStAf1OYuzEBzZR",
         "KjRHO1nHmIDidf6fKvsiXWcTqNYo2U9U8juO94EHXVqgearRISTQe0zAjkeUYYBvtcB8VWzZHYm6ktMlhOXXCfRFhbJzBUsXaHb5UDQAvs2GKy6yq0mnp8gCj98ksDlUultqygybYyHvjqR7D7EAWIKPKUVz4of8OzSjZlYg7YtCUMYhwQDryESiYabFID1PKBfKn5WSGgJBIsDw5g2HB2AqC1r3K8GboDN616Swo6qjvSFbseeETCYDB3ikS7uiK67ErIULNqVjf7IKoOaooEhQACmZ5HdWpr34tstg18rO"
     ]
     for value in values:
         self.assertEqual(util.merge_ints(util.split_ints(value)), value)
예제 #3
0
 def test_random(self):
     util = utils()
     for i in range(0, 10000):
         self.assertEqual(util.random() < util.prime, True)
예제 #4
0
 def test_evaluate_polynomial(self):
     util = utils()
     values = [[[20, 21, 42], 0], [[0, 0, 0], 4], [[1, 2, 3, 4, 5], 10]]
     results = [20, 0, 54321]
     for index,value in enumerate(values):
         self.assertEqual(util.evaluate_polynomial(value[0], value[1]), results[index])
예제 #5
0
 def test_mod_inverse(self):
     util = utils()
     for i in range(0, 10000):
         value = util.random()
         self.assertEqual((value * util.mod_inverse(value)) % util.prime, 1)
예제 #6
0
 def test_split_merge_odds(self):
     util = utils()
     values = ["a" + "\0"*100 + "a", "a"*31 + "哈囉世界", "こんにちは、世界"*32]
     for value in values:
         self.assertEqual(util.merge_ints(util.split_ints(value)), value)
예제 #7
0
 def test_split_merge(self):
     util = utils()
     values = ["N17FigASkL6p1EOgJhRaIquQLGvYV0", "0y10VAfmyH7GLQY6QccCSLKJi8iFgpcSBTLyYOGbiYPqOpStAf1OYuzEBzZR", "KjRHO1nHmIDidf6fKvsiXWcTqNYo2U9U8juO94EHXVqgearRISTQe0zAjkeUYYBvtcB8VWzZHYm6ktMlhOXXCfRFhbJzBUsXaHb5UDQAvs2GKy6yq0mnp8gCj98ksDlUultqygybYyHvjqR7D7EAWIKPKUVz4of8OzSjZlYg7YtCUMYhwQDryESiYabFID1PKBfKn5WSGgJBIsDw5g2HB2AqC1r3K8GboDN616Swo6qjvSFbseeETCYDB3ikS7uiK67ErIULNqVjf7IKoOaooEhQACmZ5HdWpr34tstg18rO"]
     for value in values:
         self.assertEqual(util.merge_ints(util.split_ints(value)), value)
예제 #8
0
 def test_to_base64(self):
     util = utils()
     for i in range(0, 10000):
         value = util.random()
         self.assertEqual(len(util.to_base64(value)), 44)
예제 #9
0
 def test_base_conversion(self):
     util = utils()
     for i in range(0, 10000):
         value = util.random()
         self.assertEqual(util.from_base64(util.to_base64(value)), value)
예제 #10
0
 def test_random(self):
     util = utils()
     for i in range(0, 10000):
         self.assertEqual(util.random() < util.prime, True)
예제 #11
0
 def test_mod_inverse(self):
     util = utils()
     for i in range(0, 10000):
         value = util.random()
         self.assertEqual((value * util.mod_inverse(value)) % util.prime, 1)
예제 #12
0
 def test_split_merge_odds(self):
     util = utils()
     values = ["a" + "\0" * 100 + "a", "a" * 31 + "哈囉世界", "こんにちは、世界" * 32]
     for value in values:
         self.assertEqual(util.merge_ints(util.split_ints(value)), value)
예제 #13
0
 def test_to_base64(self):
     util = utils()
     for i in range(0, 10000):
         value = util.random()
         self.assertEqual(len(util.to_base64(value)), 44)
예제 #14
0
 def test_base_conversion(self):
     util = utils()
     for i in range(0, 10000):
         value = util.random()
         self.assertEqual(util.from_base64(util.to_base64(value)), value)