Ejemplo n.º 1
0
    def test_merge(self):
        c = Collection([1, 2, 3])
        c.merge([4, 5, 6])
        self.assertEqual([1, 2, 3, 4, 5, 6], c.all())

        c = Collection(Collection([1, 2, 3]))
        c.merge([4, 5, 6])
        self.assertEqual([1, 2, 3, 4, 5, 6], c.all())
Ejemplo n.º 2
0
    def test_get_avg_items_from_collection(self):
        c = Collection([{'foo': 10}, {'foo': 20}])
        self.assertEqual(15, c.avg('foo'))

        c = Collection([1, 2, 3, 4, 5])
        self.assertEqual(3, c.avg())

        c = Collection()
        self.assertIsNone(c.avg())
Ejemplo n.º 3
0
    def test_pop_removes_and_returns_last_item_or_specified_index(self):
        c = Collection(['foo', 'bar'])

        self.assertEqual('bar', c.pop())
        self.assertEqual('foo', c.last())

        c = Collection(['foo', 'bar'])

        self.assertEqual('foo', c.pop(0))
        self.assertEqual('bar', c.first())
Ejemplo n.º 4
0
    def test_flatten(self):
        c = Collection({
            'foo': [5, 6],
            'bar': 7,
            'baz': {
                'boom': [1, 2, 3, 4]
            }
        })

        self.assertEqual([1, 2, 3, 4, 5, 6, 7], c.flatten().sort().all())

        c = Collection([1, [2, 3], 4])
        self.assertEqual([1, 2, 3, 4], c.flatten().all())
Ejemplo n.º 5
0
    def test_collection_is_constructed(self):
        c = Collection('foo')
        self.assertEqual(['foo'], c.all())

        c = Collection(2)
        self.assertEqual([2], c.all())

        c = Collection(False)
        self.assertEqual([False], c.all())

        c = Collection(None)
        self.assertEqual([], c.all())

        c = Collection()
        self.assertEqual([], c.all())
Ejemplo n.º 6
0
    def test_filter(self):
        c = Collection([{
            'id': 1,
            'name': 'hello'
        }, {
            'id': 2,
            'name': 'world'
        }])
        self.assertEqual([{
            'id': 2,
            'name': 'world'
        }],
                         c.filter(lambda item: item['id'] == 2).all())

        c = Collection(['', 'hello', '', 'world'])
        self.assertEqual(['hello', 'world'], c.filter().all())
Ejemplo n.º 7
0
    def test_implode(self):
        obj1 = type('lamdbaobject', (object, ), {})()
        obj1.name = 'john'
        obj1.email = 'foo'
        c = Collection([{
            'name': 'john',
            'email': 'foo'
        }, {
            'name': 'jane',
            'email': 'bar'
        }])
        self.assertEqual('foobar', c.implode('email'))
        self.assertEqual('foo,bar', c.implode('email', ','))

        c = Collection(['foo', 'bar'])
        self.assertEqual('foobar', c.implode(''))
        self.assertEqual('foo,bar', c.implode(','))
Ejemplo n.º 8
0
    def test_each(self):
        original = ['foo', 'bar', 'baz']
        c = Collection(original)

        result = []
        c.each(lambda x: result.append(x))
        self.assertEqual(result, original)
        self.assertEqual(original, c.all())
Ejemplo n.º 9
0
    def test_offset_access(self):
        c = Collection(['foo', 'bar'])
        self.assertEqual('bar', c[1])

        c[1] = 'baz'
        self.assertEqual('baz', c[1])

        del c[0]
        self.assertEqual('baz', c[0])
Ejemplo n.º 10
0
 def test_lists(self):
     obj1 = type('lamdbaobject', (object, ), {})()
     obj1.name = 'john'
     obj1.email = 'foo'
     c = Collection([obj1, {'name': 'jane', 'email': 'bar'}])
     self.assertEqual({
         'john': 'foo',
         'jane': 'bar'
     }, c.lists('email', 'name'))
     self.assertEqual(['foo', 'bar'], c.pluck('email').all())
Ejemplo n.º 11
0
    def test_contains(self):
        c = Collection([1, 3, 5])

        self.assertTrue(c.contains(1))
        self.assertFalse(c.contains(2))
        self.assertTrue(c.contains(lambda x: x < 5))
        self.assertFalse(c.contains(lambda x: x > 5))
        self.assertIn(3, c)

        c = Collection([{'v': 1}, {'v': 3}, {'v': 5}])
        self.assertTrue(c.contains('v', 1))
        self.assertFalse(c.contains('v', 2))

        obj1 = type('lamdbaobject', (object, ), {})()
        obj1.v = 1
        obj2 = type('lamdbaobject', (object, ), {})()
        obj2.v = 3
        obj3 = type('lamdbaobject', (object, ), {})()
        obj3.v = 5
        c = Collection([{'v': 1}, {'v': 3}, {'v': 5}])
        self.assertTrue(c.contains('v', 1))
        self.assertFalse(c.contains('v', 2))
Ejemplo n.º 12
0
 def test_forget(self):
     c = Collection(['foo', 'bar', 'boom'])
     c.forget(0)
     self.assertEqual('bar', c[0])
     c.forget(0, 1)
     self.assertTrue(c.is_empty())
Ejemplo n.º 13
0
    def test_first_returns_first_item_in_collection(self):
        c = Collection(['foo', 'bar'])

        self.assertEqual('foo', c.first())
Ejemplo n.º 14
0
 def test_append(self):
     c = Collection([3, 4, 5])
     c.append(6)
     self.assertEqual([3, 4, 5, 6], c.all())
Ejemplo n.º 15
0
 def test_prepend(self):
     c = Collection([4, 5, 6])
     c.prepend(3)
     self.assertEqual([3, 4, 5, 6], c.all())
Ejemplo n.º 16
0
 def test_reverse(self):
     c = Collection([1, 2, 3, 4])
     self.assertEqual([4, 3, 2, 1], c.reverse().all())
Ejemplo n.º 17
0
    def test_empty_collection_is_empty(self):
        c = Collection()
        c2 = Collection([])

        self.assertTrue(c.is_empty())
        self.assertTrue(c2.is_empty())
Ejemplo n.º 18
0
 def test_without(self):
     c = Collection([1, 2, 3, 4, 5])
     self.assertEqual([1, 3, 5], c.without(1, 3).all())
     self.assertEqual([1, 2, 3, 4, 5], c.all())
Ejemplo n.º 19
0
 def test_collapse_with_nested_collection(self):
     c = Collection([Collection([1, 2, 3]), Collection([4, 5, 6])])
     self.assertEqual([1, 2, 3, 4, 5, 6], c.collapse().all())
Ejemplo n.º 20
0
 def test_zip(self):
     c = Collection([1, 2, 3])
     self.assertEqual([(1, 4), (2, 5), (3, 6)], c.zip([4, 5, 6]).all())
Ejemplo n.º 21
0
 def test_only(self):
     c = Collection([1, 2, 3, 4, 5])
     self.assertEqual([2, 4], c.only(1, 3).all())
Ejemplo n.º 22
0
 def test_put(self):
     c = Collection([1, 2, 4])
     c.put(2, 3)
     self.assertEqual([1, 2, 3], c.all())
Ejemplo n.º 23
0
 def test_take(self):
     c = Collection([1, 2, 3, 4, 5, 6])
     self.assertEqual([1, 2, 3], c.take(3).all())
     self.assertEqual([4, 5, 6], c.take(-3).all())
Ejemplo n.º 24
0
    def test_sort(self):
        c = Collection([5, 3, 1, 2, 4])

        sorted = c.sort(lambda x: x)
        self.assertEqual([1, 2, 3, 4, 5], sorted.all())
Ejemplo n.º 25
0
 def test_for_page(self):
     c = Collection([1, 2, 3, 4, 5, 6])
     self.assertEqual([4, 5, 6], c.for_page(2, 3).all())
     self.assertEqual([5, 6], c.for_page(2, 4).all())
Ejemplo n.º 26
0
 def test_pull(self):
     c = Collection([1, 2, 3, 4])
     c.pull(2)
     self.assertEqual([1, 2, 4], c.all())
Ejemplo n.º 27
0
    def test_collapse(self):
        obj1 = object()
        obj2 = object()

        c = Collection([[obj1], [obj2]])
        self.assertEqual([obj1, obj2], c.collapse().all())
Ejemplo n.º 28
0
    def test_shift_removes_and_returns_first_item(self):
        c = Collection(['foo', 'bar'])

        self.assertEqual('foo', c.shift())
        self.assertEqual('bar', c.first())
Ejemplo n.º 29
0
 def test_transform(self):
     c = Collection([1, 2, 3, 4])
     c.transform(lambda x: x + 2)
     self.assertEqual([3, 4, 5, 6], c.all())
Ejemplo n.º 30
0
 def test_reject(self):
     c = Collection([1, 2, 3, 4, 5, 6])
     self.assertEqual([1, 2, 3], c.reject(lambda x: x > 3).all())