crypt-isaac 0.9.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,76 +0,0 @@
1
- require 'test/unit'
2
- if ARGV[0] == 'local'
3
- begin
4
- require '../lib/crypt-isaac.rb'
5
- rescue Exception
6
- require './lib/crypt-isaac.rb'
7
- end
8
- else
9
- begin
10
- require 'crypt-isaac'
11
- rescue Exception
12
- require './lib/crypt-isaac.rb'
13
- end
14
- end
15
-
16
- class TC_ISAAC < Test::Unit::TestCase
17
- def setup
18
- assert_nothing_raised("Failed to create a Crypt::ISAAC object.") do
19
- @generator = Crypt::ISAAC.new
20
- end
21
- end
22
-
23
- def testKind
24
- assert_kind_of(Crypt::ISAAC,@generator,"The created object is not a Crypt::ISAAC or subclass thereof.")
25
- end
26
-
27
- def testInteger
28
- assert_nothing_raised("Failed while generating an integer random number.") do
29
- mynum = @generator.rand(1000000)
30
- assert_kind_of(Integer,mynum,"The generator failed to return an integer number in response to @generator.rand(1000000).")
31
- assert((mynum >= 0),"The generator returned a number that is less than 0 (#{mynum}).")
32
- assert((mynum < 1000000),"The generator returned a number that is greater than or equal to 1000000 (#{mynum}).")
33
- end
34
- end
35
-
36
- def testFloat
37
- assert_nothing_raised("Failed while generating a floating point random number.") do
38
- mynum = @generator.rand()
39
- assert_kind_of(Float,mynum,"The generator failed to return a floating point number in response to @generator.rand().")
40
- assert((mynum >= 0),"The generator returned a number that is less than 0 (#{mynum}).")
41
- assert((mynum < 1),"The generator returned a number that is greater than or equal to 1 (#{mynum}).")
42
- end
43
- end
44
-
45
- def testIterations
46
- puts
47
- count = 0
48
- assert_nothing_raised("Failed on iteration #{count} while trying to generate 100000 random numbers.") do
49
- 100000.times do
50
- count += 1
51
- x = @generator.rand(4294967295)
52
- print [x].pack('V').unpack('H8') if count % 1000 == 0
53
- if (count % 7000) == 0
54
- print "\n"
55
- else
56
- print " " if count % 1000 == 0
57
- end
58
- end
59
- puts "\n100000 numbers generated"
60
- end
61
- end
62
-
63
- def testDualStreams
64
- g1 = nil
65
- g2 = nil
66
- assert_nothing_raised("Failed to pull numbers from two independent streams.") do
67
- g1 = Crypt::ISAAC.new
68
- g2 = Crypt::ISAAC.new
69
- assert((g1 != g2),"The generators are the same. This should not happen.")
70
- 1000.times do
71
- g1.rand(4294967295)
72
- g2.rand(4294967295)
73
- end
74
- end
75
- end
76
- end