Initial project import
This commit is contained in:
commit
23f2d29e32
11957 files changed
+1754577
No files matched your search
@@ -0,0 +1,64 @@
|
||||
module cuid2
|
||||
|
||||
import rand.musl
|
||||
import rand.mt19937
|
||||
|
||||
fn test_cuid2() {
|
||||
// default prng(wyrand), default id length = 24
|
||||
mut g24 := new()
|
||||
uuid24 := g24.generate()
|
||||
assert uuid24.len == 24
|
||||
assert is_cuid(uuid24)
|
||||
|
||||
// default prng(wyrand), id length = 2
|
||||
mut g2 := new(length: 2)
|
||||
uuid2 := g2.generate()
|
||||
assert uuid2.len == 2
|
||||
assert is_cuid(uuid2)
|
||||
|
||||
// default prng(wyrand), id length = 32
|
||||
mut g32 := new(length: 32)
|
||||
uuid32 := g32.generate()
|
||||
assert uuid32.len == 32
|
||||
assert is_cuid(uuid32)
|
||||
|
||||
// musl prng, id length = 28
|
||||
mut g_musl := new(prng: &musl.MuslRNG{}, length: 28)
|
||||
uuid_musl := g_musl.generate()
|
||||
assert uuid_musl.len == 28
|
||||
assert is_cuid(uuid_musl)
|
||||
|
||||
// mt19937 prng, default id length = 24
|
||||
mut g_mt19937 := new(prng: &mt19937.MT19937RNG{})
|
||||
uuid_mt19937 := g_mt19937.generate()
|
||||
assert uuid_mt19937.len == 24
|
||||
assert is_cuid(uuid_mt19937)
|
||||
|
||||
// successive calls
|
||||
// default prng(wyrand), default id length = 24
|
||||
mut g := new()
|
||||
mut ids := []string{}
|
||||
for id in g {
|
||||
eprintln(id)
|
||||
// id length should be default length(24)
|
||||
assert id.len == 24
|
||||
assert is_cuid(id)
|
||||
|
||||
ids << id
|
||||
if ids.len == 5 {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
// successive calls to g.next() in a row should be unique
|
||||
assert ids[0] != ids[1]
|
||||
assert ids[0] != ids[2]
|
||||
assert ids[0] != ids[3]
|
||||
assert ids[0] != ids[4]
|
||||
assert ids[1] != ids[2]
|
||||
assert ids[1] != ids[3]
|
||||
assert ids[1] != ids[4]
|
||||
assert ids[2] != ids[3]
|
||||
assert ids[2] != ids[4]
|
||||
assert ids[3] != ids[4]
|
||||
}
|
||||
Reference in new issue
Block a user