Ejemplo n.º 1
0
 def test_fibonacci_sequence(self):
     # Test calculate the term number 2 of tha Fibonacci Sequence
     self.assertEqual(fibonacci_sequence(2), 1)
     # Test calculate the term number 15 of tha Fibonacci Sequence
     self.assertEqual(fibonacci_sequence(15), 610)
     # Test calculate the term number 31 of tha Fibonacci Sequence
     self.assertEqual(fibonacci_sequence(31), 1346269)
Ejemplo n.º 2
0
    def test_fibonacciSequenceReturnsSameNumbersForwardsAsBackwards(self):
        for size in range(100):
            for pos in range(10):
                for stride in range(1,11):
#                    with self.subTest(size=size, pos=pos, stride=stride):
                    f = list(fibonacci_sequence(size,pos,stride))
                    b = list(fibonacci_sequence(size,pos,-1*stride))
                    b.reverse()
                    self.assertEqual(f, b)
Ejemplo n.º 3
0
    def test_fibonnaciSequenceFunctionReturnsRightSizeWithOnlySizeArg(self):
        for size in range(100):
            fseq_size = 0
#            with self.subTest(size=size):
            for _ in fibonacci_sequence(size):
                fseq_size += 1
            self.assertEqual(size, fseq_size)
Ejemplo n.º 4
0
    def test_fibonnaciSequenceFunctionReturnsRightSizeWithSizeandPos(self):
        for size in range(100):
            for pos in range(10):
                fseq_size = 0
#                with self.subTest(size=size, pos=pos):
                for _ in fibonacci_sequence(size,pos):
                    fseq_size += 1
                self.assertEqual(size, fseq_size)
Ejemplo n.º 5
0
    def test_fibonnaciSequenceFunctionReturnsRightSizeWithSizeandStride(self):
        for size in range(100):
            for stride in range(-10,10):
                if stride == 0: continue
                fseq_size = 0
#                with self.subTest(size=size, stride=stride):
                for _ in fibonacci_sequence(size,stride=stride):
                    fseq_size += 1
                self.assertEqual(size, fseq_size)
Ejemplo n.º 6
0
def fibsvc(n):
  response.headers["Content-Type"] = "application/json"
  if MIN_N <= n <= MAX_N:
    response.status = OK
    return json.dumps({"fibonacci" : fibonacci_sequence(n)})
  else:
    response.status = BAD_REQUEST
    result =  {"invalidArgument": {
      "message" : "n must be an integer between %d and %d" % (MIN_N, MAX_N),
      "n" : n}}
    return json.dumps(result)
Ejemplo n.º 7
0
 def test_fibonnaciSequenceReturns(self):
     self.assertTrue(fibonacci_sequence(0) is not None)
Ejemplo n.º 8
0
 def test_fibonacciSequenceReturnsRightNumberswithStride(self):
     seq = list(fibonacci_sequence(10,1,3))
     self.assertEqual(seq,[1,3,13,55,233,987,4181,17711,75025,317811])
Ejemplo n.º 9
0
 def test_fibonnaciSequenceFunctionReturnsGeneratorForSize(self):
     self.assertTrue(inspect.isgenerator(fibonacci_sequence(0)))
Ejemplo n.º 10
0
 def test_fibonacciSequenceDoesntReturnWithoutSize(self):
     with self.assertRaises(AssertionError):
         fibonacci_sequence(None)