describe :random_urandom, shared: true do it "returns a String" do Random.send(@method, 1).should be_an_instance_of(String) end it "returns a String of the length given as argument" do Random.send(@method, 15).length.should == 15 end it "raises an ArgumentError on a negative size" do -> { Random.send(@method, -1) }.should raise_error(ArgumentError) end it "returns a binary String" do Random.send(@method, 15).encoding.should == Encoding::BINARY end it "returns a random binary String" do Random.send(@method, 12).should_not == Random.send(@method, 12) end end