Exemplo n.º 1
0
 def get(self, request, *args, **kwargs):
     params = GetPrimeNumbersParamsForm(data=request.GET)
     if params.is_valid():
         results = get_primes(params.cleaned_data["n"],
                              start=params.cleaned_data["start"],
                              page=params.cleaned_data["page"],
                              page_size=params.cleaned_data["page_size"])
         return HttpResponse(json.dumps(results))
     return HttpResponse(json.dumps({"errors": params.errors}))
Exemplo n.º 2
0
 def test_sequential(self):
     self.assertGreater(get_primes(500000)["count"], 0)
     self.assertGreater(get_primes(10000000)["count"], 0)
     self.assertGreater(get_primes(400000)["count"], 0)
     self.assertGreater(get_primes(300000)["count"], 0)
Exemplo n.º 3
0
 def test_concurrent_02(self):
     self.assertEqual(78498, get_primes(1000000, locking="always")["count"])
Exemplo n.º 4
0
 def test_concurrent_optional(self, n):
     self.assertGreater(get_primes(n, locking="optional")["count"], 0)
Exemplo n.º 5
0
 def test_get_primes_01(self):
     self.assertEqual([2, 3], get_primes(4)["numbers"])
Exemplo n.º 6
0
 def test_get_primes_l03(self):
     self.assertEqual(78504, get_primes(1000100)["count"])  # 148 ms -- utilizes results built from earlier test
Exemplo n.º 7
0
 def test_get_primes_l02_section(self):
     self.assertEqual([467, 479, 487, 491, 499, 503, 509, 521, 523, 541],
                      get_primes(1000000, page=10, page_size=10)["numbers"])  # repetitive call  - 149 ms
Exemplo n.º 8
0
 def test_get_primes_03(self):
     self.assertEqual([11, 13, 17, 19, 23, 29, 31, 37, ], get_primes(40, start=10)["numbers"])
Exemplo n.º 9
0
 def test_get_primes_l02(self):
     self.assertEqual(78498, get_primes(1000000)["count"])  # 570 ms
Exemplo n.º 10
0
 def test_get_primes_l01(self):
     self.assertEqual(168, get_primes(1000)["count"])
Exemplo n.º 11
0
 def test_get_primes_10(self):
     self.assertEqual([31, 37, 41, 43, 47, 53, 59, 61, 67, 71], get_primes(100, page=2, page_size=10)["numbers"])
Exemplo n.º 12
0
 def test_get_primes_09(self):
     self.assertEqual([2, 3, 5, 7, 11, 13, 17, 19, 23, 29], get_primes(100, page_size=10)["numbers"])
Exemplo n.º 13
0
 def test_get_primes_08(self):
     self.assertEqual([], get_primes(10, start=20)["numbers"])
Exemplo n.º 14
0
 def test_get_primes_06(self):
     self.assertEqual([], get_primes(-1)["numbers"])
Exemplo n.º 15
0
 def test_concurrent_always(self, n):
     self.assertGreater(get_primes(n, locking="always")["count"], 0)
Exemplo n.º 16
0
 def test_get_primes_l02_repeat(self):
     self.assertEqual(78498, get_primes(1000000)["count"])  # repeated call 147 ms
Exemplo n.º 17
0
 def test_get_primes_02(self):
     self.assertEqual([2, 3, 5, 7, 11, 13, 17, 19, 23, 29], get_primes(30)["numbers"])