Example #1
0
 def test_intertwine_fpfpfp(self):
     fpfpfp = solution.intertwined_sequences((
         {
             'sequence': 'fibonacci',
             'length': 1
         },
         {
             'sequence': 'primes',
             'length': 1
         },
         {
             'sequence': 'fibonacci',
             'length': 1
         },
         {
             'sequence': 'primes',
             'length': 1
         },
         {
             'sequence': 'fibonacci',
             'length': 1
         },
         {
             'sequence': 'primes',
             'length': 1
         },
     ))
     self.assertEqual(list(fpfpfp), [1, 2, 1, 3, 2, 5])
Example #2
0
 def test_multiples_of(self):
     gen = solution.intertwined_sequences(
         [{
             'sequence': 'multiples_of',
             'length': 10,
             'num': 2
         }],
         generator_definitions={'multiples_of': multiples_of})
     self.assertEqual(list(gen), [2, 4, 6, 8, 10, 12, 14, 16, 18, 20])
Example #3
0
 def test_intertwine_fpaapf(self):
     fpaapf = solution.intertwined_sequences((
         {'sequence': 'fibonacci', 'length': 1},
         {'sequence': 'primes', 'length': 1},
         {'sequence': 'alphabet', 'code': 'lat', 'length': 1},
         {'sequence': 'alphabet', 'code': 'bg', 'length': 1},
         {'sequence': 'primes', 'length': 1},
         {'sequence': 'fibonacci', 'length': 1}
     ))
     self.assertEqual(list(fpaapf), [1, 2, 'a', 'b', 3, 1])
Example #4
0
 def test_intertwine_fpfpfp(self):
     fpfpfp = solution.intertwined_sequences((
         {'sequence': 'fibonacci', 'length': 1},
         {'sequence': 'primes', 'length': 1},
         {'sequence': 'fibonacci', 'length': 1},
         {'sequence': 'primes', 'length': 1},
         {'sequence': 'fibonacci', 'length': 1},
         {'sequence': 'primes', 'length': 1},
     ))
     self.assertEqual(list(fpfpfp), [1, 2, 1, 3, 2, 5])
Example #5
0
 def test_multiples_of(self):
     gen = solution.intertwined_sequences(
                 [
                     {'sequence': 'multiples_of', 'length': 10, 'num': 2}
                 ],
                 generator_definitions={
                     'multiples_of': multiples_of
                 }
             )
     self.assertEqual(list(gen), [2, 4, 6, 8, 10, 12, 14, 16, 18, 20])
Example #6
0
    def test_intertwine(self):
        fibonacci_3_prime_3_bg_3 = solution.intertwined_sequences([
            {'sequence': 'fibonacci', 'length': 3},
            {'sequence': 'primes', 'length': 3},
            {'sequence': 'alphabet', 'code': 'bg', 'length': 3}
        ])

        self.assertEqual(
            list(fibonacci_3_prime_3_bg_3),
            [1, 1, 2, 2, 3, 5, 'а', 'б', 'в']
        )
Example #7
0
 def test_two_factorial(self):
     gen = solution.intertwined_sequences(
                 [
                     {'sequence': 'factorial', 'length': 4},
                     {'sequence': 'factorial', 'length': 3},
                     {'sequence': 'factorial', 'length': 5}
                 ],
                 generator_definitions={
                     'factorial': factorial
                 }
             )
     self.assertEqual(list(gen), [1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600])
Example #8
0
def test_generator_with_two_function(self):
    generator = solution.intertwined_sequences(
        [
            {'sequence': 'ones', 'length': 10},
            {'sequence': 'fibonacci', 'length': 3},
            {'sequence': 'natural', 'length': 4}
        ],
        generator_definitions={
            'ones': ones,
            'natural': naturals
        }
    )
    self.assertEqual(list(generator), [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 3, 4])
Example #9
0
 def test_generator_with_parametrs(self):
     generator = solution.intertwined_sequences(
                 [
                     {'sequence': 'multiples_of', 'length': 5, 'num': 12},
                     {'sequence': 'ones', 'length': 3},
                     {'sequence': 'multiples_of', 'length': 3, 'num': 3}
                 ],
                 generator_definitions={
                     'multiples_of': multiples_of,
                     'ones': ones
                 }
             )
     self.assertEqual(list(generator), [12, 24, 36, 48, 60, 1, 1, 1, 72, 84, 96])
Example #10
0
 def test_generator_with_parametrs_generator_a(self):
     generator = solution.intertwined_sequences(
                 [
                     {'sequence': 'multiples_of', 'length': 1, 'num': 12},
                     {'sequence': 'a_generator', 'length': 3},
                     {'sequence': 'multiples_of', 'length': 3, 'num': 3}
                 ],
                 generator_definitions={
                     'multiples_of': multiples_of,
                     'a_generator': a_generator
                 }
             )
     self.assertEqual(list(generator), [12, 'a', 'a', 'a', 24, 36, 48])
Example #11
0
 def test_factorial(self):
     gen = solution.intertwined_sequences(
                 [
                     {'sequence': 'factorial', 'length': 4},
                     {'sequence': 'a_generator', 'length': 3},
                     {'sequence': 'multiples_of', 'length': 3, 'num': 3}
                 ],
                 generator_definitions={
                     'factorial': factorial,
                     'multiples_of': multiples_of,
                     'a_generator': a_generator
                 }
             )
     self.assertEqual(list(gen), [1, 2, 6, 24, 'a', 'a', 'a', 3, 6, 9])
Example #12
0
    def test_intertwine(self):
        fibonacci_3_prime_3_bg_3 = solution.intertwined_sequences([{
            'sequence': 'fibonacci',
            'length': 3
        }, {
            'sequence': 'primes',
            'length': 3
        }, {
            'sequence': 'alphabet',
            'code': 'bg',
            'length': 3
        }])

        self.assertEqual(list(fibonacci_3_prime_3_bg_3),
                         [1, 1, 2, 2, 3, 5, 'а', 'б', 'в'])
Example #13
0
def test_generator_with_two_function(self):
    generator = solution.intertwined_sequences([{
        'sequence': 'ones',
        'length': 10
    }, {
        'sequence': 'fibonacci',
        'length': 3
    }, {
        'sequence': 'natural',
        'length': 4
    }],
                                               generator_definitions={
                                                   'ones': ones,
                                                   'natural': naturals
                                               })
    self.assertEqual(list(generator),
                     [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 3, 4])
Example #14
0
 def test_two_factorial(self):
     gen = solution.intertwined_sequences(
         [{
             'sequence': 'factorial',
             'length': 4
         }, {
             'sequence': 'factorial',
             'length': 3
         }, {
             'sequence': 'factorial',
             'length': 5
         }],
         generator_definitions={'factorial': factorial})
     self.assertEqual(list(gen), [
         1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800,
         479001600
     ])
Example #15
0
 def test_factorial(self):
     gen = solution.intertwined_sequences(
         [{
             'sequence': 'factorial',
             'length': 4
         }, {
             'sequence': 'a_generator',
             'length': 3
         }, {
             'sequence': 'multiples_of',
             'length': 3,
             'num': 3
         }],
         generator_definitions={
             'factorial': factorial,
             'multiples_of': multiples_of,
             'a_generator': a_generator
         })
     self.assertEqual(list(gen), [1, 2, 6, 24, 'a', 'a', 'a', 3, 6, 9])
Example #16
0
 def test_generator_with_parametrs(self):
     generator = solution.intertwined_sequences([{
         'sequence': 'multiples_of',
         'length': 5,
         'num': 12
     }, {
         'sequence': 'ones',
         'length': 3
     }, {
         'sequence': 'multiples_of',
         'length': 3,
         'num': 3
     }],
                                                generator_definitions={
                                                    'multiples_of':
                                                    multiples_of,
                                                    'ones': ones
                                                })
     self.assertEqual(list(generator),
                      [12, 24, 36, 48, 60, 1, 1, 1, 72, 84, 96])
Example #17
0
 def test_generator_with_parametrs_generator_a(self):
     generator = solution.intertwined_sequences([{
         'sequence': 'multiples_of',
         'length': 1,
         'num': 12
     }, {
         'sequence': 'a_generator',
         'length': 3
     }, {
         'sequence': 'multiples_of',
         'length': 3,
         'num': 3
     }],
                                                generator_definitions={
                                                    'multiples_of':
                                                    multiples_of,
                                                    'a_generator':
                                                    a_generator
                                                })
     self.assertEqual(list(generator), [12, 'a', 'a', 'a', 24, 36, 48])
Example #18
0
 def test_intertwine_fpaapf(self):
     fpaapf = solution.intertwined_sequences(({
         'sequence': 'fibonacci',
         'length': 1
     }, {
         'sequence': 'primes',
         'length': 1
     }, {
         'sequence': 'alphabet',
         'code': 'lat',
         'length': 1
     }, {
         'sequence': 'alphabet',
         'code': 'bg',
         'length': 1
     }, {
         'sequence': 'primes',
         'length': 1
     }, {
         'sequence': 'fibonacci',
         'length': 1
     }))
     self.assertEqual(list(fpaapf), [1, 2, 'a', 'b', 3, 1])
Example #19
0
 def test_generator_cycle(self):
     result = []
     generator = solution.intertwined_sequences(endless_growing_sequences())
     for i in range(0, 6):
         result.append(next(generator))
     self.assertEqual(result, [1, 2, 3, 1, 2, 3])
Example #20
0
 def test_generator_cycle(self):
     result = []
     generator = solution.intertwined_sequences(endless_growing_sequences())
     for i in range(0, 6):
         result.append(next(generator))
     self.assertEqual(result, [1, 2, 3, 1, 2, 3])