Esempio n. 1
0
    def test_drain_on_dict(self):
        data = {"foo": 1, "bar": 9}

        result = {key: value for key, value in iterables.drain(data)}

        self.assertEqual(len(data), 0)
        self.assertEqual(result, {"foo": 1, "bar": 9})
Esempio n. 2
0
    def test_drain_on_list(self):
        data = ["foo", 1, "bar", 9]

        result = list(iterables.drain(data))

        self.assertEqual(len(data), 0)
        self.assertEqual(result, [9, "bar", 1, "foo"])
Esempio n. 3
0
    def test_drain_on_deque(self):
        data = collections.deque(["foo", 1, "bar", 9])

        result = list(iterables.drain(data))

        self.assertEqual(len(data), 0)
        self.assertEqual(result, ["foo", 1, "bar", 9])
Esempio n. 4
0
    def test_drain_on_set(self):
        data = set(["foo", 1, "bar", 9])

        result = list(iterables.drain(data))

        self.assertEqual(len(data), 0)
        self.assertEqual(set(result), set(["foo", 1, "bar", 9]))
Esempio n. 5
0
    def test_drain_on_list(self):
        data = ["foo", 1, "bar", 9]

        result = list(iterables.drain(data))

        self.assertEqual(len(data), 0)
        self.assertEqual(result, [9, "bar", 1, "foo"])
Esempio n. 6
0
    def test_drain_on_dict(self):
        data = {"foo": 1, "bar": 9}

        result = {key: value for key, value in iterables.drain(data)}

        self.assertEqual(len(data), 0)
        self.assertEqual(result, {"foo": 1, "bar": 9})
Esempio n. 7
0
    def test_drain_on_set(self):
        data = set(["foo", 1, "bar", 9])

        result = list(iterables.drain(data))

        self.assertEqual(len(data), 0)
        self.assertEqual(set(result), set(["foo", 1, "bar", 9]))
Esempio n. 8
0
    def test_drain_on_deque(self):
        data = collections.deque(["foo", 1, "bar", 9])

        result = list(iterables.drain(data))

        self.assertEqual(len(data), 0)
        self.assertEqual(result, ["foo", 1, "bar", 9])
Esempio n. 9
0
 def drain_all_pending(self):
     for special_xid in protocol.SPECIAL_XIDS:
         for f in iterables.drain(self.pending_specials[special_xid]):
             yield f
     for _, f in iterables.drain(self.pending):
         yield f
Esempio n. 10
0
 def drain_all_pending(self):
     for special_xid in protocol.SPECIAL_XIDS:
         for _, f in iterables.drain(self.pending_specials[special_xid]):
             yield f
     for _, f in iterables.drain(self.pending):
         yield f