fails:IO#ungetc pushes back one character onto stream
fails:IO#ungetc pushes back one character when invoked at the end of the stream
fails:IO#ungetc pushes back one character when invoked at the start of the stream
fails:IO#ungetc pushes back one character when invoked on empty stream
fails:IO#ungetc affects EOF state
fails:IO#ungetc adjusts the stream position
fails:IO#ungetc makes subsequent unbuffered operations to raise IOError
fails:IO#ungetc does not affect the stream and returns nil when passed nil
fails:IO#ungetc puts one or more characters back in the stream
fails:IO#ungetc calls #to_str to convert the argument if it is not an Integer
fails:IO#ungetc returns nil when invoked on stream that was not yet read
fails:IO#ungetc raises IOError on closed stream
