コード例 #1
0
 def testScaling(self):
     m = PersistentTreeMap()
     ints = range(1000)
     shuffle(ints)
     for i in ints:
         m = m.assoc(i, randint(1, 10))
     self.assertEqual(m.count(), 1000)
コード例 #2
0
 def testAddRemove(self):
     m = PersistentTreeMap()
     ints = range(100)
     shuffle(ints)
     for i in ints:
         m = m.assoc(i, randint(1, 10))
     for i in ints[:10]:
         m = m.without(i)
     self.assertEqual(m.count(), 90)
コード例 #3
0
 def testMaxKey(self):
     m = PersistentTreeMap().assoc('a', 1).assoc('b', 2)
     self.assertEqual(m.maxKey(), 'b')
コード例 #4
0
 def testValAt(self):
     m = PersistentTreeMap().assoc('a', 1)
     self.assertEqual(m.valAt('a'), 1)
コード例 #5
0
 def testVals(self):
     m = PersistentTreeMap().assoc('a', 1).assoc('b', 2)
     vals = m.vals()
     self.assertEqual(vals.next(), 1)
     self.assertEqual(vals.next(), 2)
コード例 #6
0
 def testKeys(self):
     m = PersistentTreeMap().assoc('a', 1).assoc('b', 2)
     keys = m.keys()
     self.assertEqual(keys.next(), 'a')
     self.assertEqual(keys.next(), 'b')
コード例 #7
0
    def testSeq(self):
        self.assertEqual(PersistentTreeMap().seq(), None)

        m = PersistentTreeMap().assoc('a', 1).assoc('b', 2)
        self.assertEqual(m.seq().first().key(), 'a')
        self.assertEqual(m.seq().next().first().key(), 'b')
コード例 #8
0
 def testWithout(self):
     m = PersistentTreeMap().assoc('a', 1).without('a')
     self.assertFalse(m.containsKey('a'))
コード例 #9
0
 def testAssoc(self):
     m = PersistentTreeMap().assoc('a', 1)
     self.assertTrue(m.containsKey('a'))