예제 #1
0
    def test_no_duplicates(self):
        collect = []
        for i in range(0, 1000):
            collect.append(Xid())

        ids = [i.string() for i in collect]
        self.assertEqual(len(set(ids)), 1000)
예제 #2
0
 def test_copy_string_from_golang(self):
     x = Xid.from_string('9m4e2mr0ui3e8a215n4g')
     self.assertEqual(
         x.value,
         bytes([
             0x4d, 0x88, 0xe1, 0x5b, 0x60, 0xf4, 0x86, 0xe4, 0x28, 0x41,
             0x2d, 0xc9
         ]))
예제 #3
0
    def test_from_string(self):
        x = Xid()
        y = Xid.from_string(x.string())

        self.assertEqual(x.value, y.value)
        self.assertEqual(x.bytes(), y.bytes())
        self.assertEqual(x.string(), y.string())
예제 #4
0
 def test_copy_array_from_golang(self):
     x = Xid([
         0x4d, 0x88, 0xe1, 0x5b, 0x60, 0xf4, 0x86, 0xe4, 0x28, 0x41, 0x2d,
         0xc9
     ])
     self.assertEqual('9m4e2mr0ui3e8a215n4g', x.string())
예제 #5
0
import unittest

from xid import Xid

TestXids = [
    # taken from https://github.com/rs/xid/blob/master/id_test.go
    {
        'xid':
        Xid([
            0x4d, 0x88, 0xe1, 0x5b, 0x60, 0xf4, 0x86, 0xe4, 0x28, 0x41, 0x2d,
            0xc9
        ]),
        'ts':
        1300816219,
        'machine':
        ''.join(map(chr, [0x60, 0xf4, 0x86])),
        'pid':
        0xe428,
        'counter':
        4271561
    },
    {
        'xid':
        Xid([
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00
        ]),
        'ts':
        0,
        'machine':
        ''.join(map(chr, [0x00, 0x00, 0x00])),
예제 #6
0
 def worker():
     for i in range(10):
         threading.current_thread().ident, Xid().string()
예제 #7
0
 def test_xid_always_reversible(self):
     for i in range(1000):
         s = Xid().string()
         self.assertEqual(Xid.from_string(s).string(), s)