示例#1
0
文件: aseq.py 项目: hans/clojure-py
    def empty(self):
        """Return an empty Cons.

        The new seq will have this seq's meta data attached."""

        from clojure.lang.persistentlist import EMPTY
        return EMPTY.withMeta(self.meta())
示例#2
0
def cons(x, s):
    from clojure.lang.cons import Cons
    from clojure.lang.persistentlist import EMPTY as EMPTY_LIST
    if isinstance(s, ISeq):
        return Cons(x, s)
    if s is None:
        return EMPTY_LIST.cons(x)
    return Cons(x, seq(s))
示例#3
0
 def test__eq___PASS(self):
     self.assertTrue(EMPTY.__eq__(EMPTY))
     self.assertTrue(EMPTY.__eq__(()))
     self.assertTrue(EMPTY.__eq__([]))
示例#4
0
 def testSeq_PASS(self):
     self.assertEqual(EMPTY.seq(), None)
示例#5
0
 def test__iter___PASS(self):
     self.assertEqual(EMPTY.__iter__(), None)
示例#6
0
 def testCons_PASS(self):
     l = EMPTY.cons(uobj)
     self.assertFalse(EMPTY is l)
     self.assertEqual(len(l), 1)
     self.assertEqual(l.first(), uobj)
示例#7
0
 def testPeek_PASS(self):
     self.assertEqual(EMPTY.peek(), None)
示例#8
0
 def testWithMeta_PASS(self):
     l1 = EMPTY.withMeta(pseudoMetaData)
     l2 = l1.withMeta(uobj)
     self.assertFalse(l1.meta() is l2.meta())
     # equal with different meta data
     self.assertTrue(l1.__eq__(l2))
示例#9
0
 def testNext_PASS(self):
     self.assertEqual(EMPTY.next(), None)
示例#10
0
 def testEmpty_PASS(self):
     self.assertTrue(EMPTY.empty() is EMPTY)
示例#11
0
 def testPeek_PASS(self):
     self.assertEqual(EMPTY.peek(), None)
示例#12
0
 def testMore_PASS(self):
     self.assertTrue(EMPTY.more() is EMPTY)
示例#13
0
 def testCons_PASS(self):
     l = EMPTY.cons(uobj)
     self.assertFalse(EMPTY is l)
     self.assertEqual(len(l), 1)
     self.assertEqual(l.first(), uobj)
示例#14
0
 def testNext_PASS(self):
     self.assertEqual(EMPTY.next(), None)
示例#15
0
 def testFirst_PASS(self):
     self.assertEqual(EMPTY.first(), None)
示例#16
0
 def testWithMeta_PASS(self):
     l1 = EMPTY.withMeta(pseudoMetaData)
     l2 = l1.withMeta(uobj)
     self.assertFalse(l1.meta() is l2.meta())
     # equal with different meta data
     self.assertTrue(l1.__eq__(l2))
示例#17
0
 def test__ne___PASS(self):
     self.assertFalse(EMPTY.__ne__(EMPTY))
     self.assertFalse(EMPTY.__ne__(()))
     self.assertFalse(EMPTY.__ne__([]))
示例#18
0
 def testCount_PASS(self):
     self.assertEqual(EMPTY.count(), 0)
示例#19
0
 def test__iter___PASS(self):
     self.assertEqual(EMPTY.__iter__(), None)
示例#20
0
 def testSeq_PASS(self):
     self.assertEqual(EMPTY.seq(), None)
示例#21
0
 def testFirst_PASS(self):
     self.assertEqual(EMPTY.first(), None)
示例#22
0
 def testWriteAsReplString_PASS(self):
     sio = StringIO()
     EMPTY.writeAsReplString(sio)
     self.assertEqual(sio.getvalue(), "()")
示例#23
0
 def testMore_PASS(self):
     self.assertTrue(EMPTY.more() is EMPTY)
示例#24
0
 def test__len___PASS(self):
     self.assertEqual(EMPTY.__len__(), 0)
示例#25
0
 def testEmpty_PASS(self):
     self.assertTrue(EMPTY.empty() is EMPTY)
示例#26
0
 def test__len___PASS(self):
     self.assertEqual(EMPTY.__len__(), 0)
示例#27
0
 def testCount_PASS(self):
     self.assertEqual(EMPTY.count(), 0)
示例#28
0
 def test__eq___PASS(self):
     self.assertTrue(EMPTY.__eq__(EMPTY))
     self.assertTrue(EMPTY.__eq__(()))
     self.assertTrue(EMPTY.__eq__([]))
示例#29
0
 def testWriteAsReplString_PASS(self):
     sio = StringIO()
     EMPTY.writeAsReplString(sio)
     self.assertEqual(sio.getvalue(), "()")
示例#30
0
 def test__ne___PASS(self):
     self.assertFalse(EMPTY.__ne__(EMPTY))
     self.assertFalse(EMPTY.__ne__(()))
     self.assertFalse(EMPTY.__ne__([]))
示例#31
0
 def test__hash___PASS(self):
     self.assertEqual(EMPTY.__hash__(), 1)
示例#32
0
 def test__hash___PASS(self):
     self.assertEqual(EMPTY.__hash__(), 1)