module Kernel
Kernel extensions for minitest
Public Instance Methods
Source
static VALUE
f_BigDecimal(int argc, VALUE *argv, VALUE self)
{
    VALUE val, digs_v, opts = Qnil;
    argc = rb_scan_args(argc, argv, "11:", &val, &digs_v, &opts);
    int exception = opts_exception_p(opts);
    size_t digs = SIZE_MAX; /* this means digs is omitted */
    if (argc > 1) {
        digs_v = rb_to_int(digs_v);
        if (FIXNUM_P(digs_v)) {
            long n = FIX2LONG(digs_v);
            if (n < 0)
                goto negative_digs;
            digs = (size_t)n;
        }
        else {
            if (RBIGNUM_NEGATIVE_P(digs_v)) {
              negative_digs:
                if (!exception)
                    return Qnil;
                rb_raise(rb_eArgError, "negative precision");
            }
            digs = NUM2SIZET(digs_v);
        }
    }
    return rb_convert_to_BigDecimal(val, digs, exception);
}
          Returns the BigDecimal converted from value with a precision of ndigits decimal digits.
When ndigits is less than the number of significant digits in the value, the result is rounded to that number of digits, according to the current rounding mode; see BigDecimal.mode.
When ndigits is 0, the number of digits to correctly represent a float number is determined automatically.
Returns value converted to a BigDecimal, depending on the type of value:
- 
Integer,Float,Rational,Complex, or BigDecimal: converted directly:# Integer, Complex, Float, or BigDecimal value does not require ndigits; ignored if given. BigDecimal(2) # => 0.2e1 BigDecimal(Complex(2, 0)) # => 0.2e1 BigDecimal(BigDecimal(2)) # => 0.2e1 BigDecimal(2.0) # => 0.2e1 # Rational value requires ndigits. BigDecimal(Rational(2, 1), 0) # => 0.2e1 
- 
String: converted by parsing if it contains an integer or floating-point literal; leading and trailing whitespace is ignored: # String does not require ndigits; ignored if given. BigDecimal('2') # => 0.2e1 BigDecimal('2.0') # => 0.2e1 BigDecimal('0.2e1') # => 0.2e1 BigDecimal(' 2.0 ') # => 0.2e1 
- 
Other type that responds to method :to_str: first converted to a string, then converted to a BigDecimal, as above.
- 
Other type: - 
Raises an exception if keyword argument exceptionistrue.
- 
Returns nilif keyword argumentexceptionisfalse.
 
- 
Raises an exception if value evaluates to a Float and digits is larger than Float::DIG + 1.
Private Instance Methods
Source
# File vendor/bundle/ruby/3.4.0/gems/minitest-5.26.0/lib/minitest/spec.rb, line 86 def describe desc, *additional_desc, &block # :doc: stack = Minitest::Spec.describe_stack is_spec_class = Class === self && kind_of?(Minitest::Spec::DSL) name = [stack.last, desc, *additional_desc] name.prepend self if stack.empty? && is_spec_class sclas = stack.last \ || (is_spec_class && self) \ || Minitest::Spec.spec_type(desc, *additional_desc) cls = sclas.create name.compact.join("::"), desc stack.push cls cls.class_eval(&block) stack.pop cls end
Describe a series of expectations for a given target desc.
Defines a test class subclassing from either Minitest::Spec or from the surrounding describe’s class. The surrounding class may subclass Minitest::Spec manually in order to easily share code:
class MySpec < Minitest::Spec # ... shared code ... end class TestStuff < MySpec it "does stuff" do # shared code available here end describe "inner stuff" do it "still does stuff" do # ...and here end end end
For more information on getting started with writing specs, see:
www.rubyinside.com/a-minitestspec-tutorial-elegant-spec-style-testing-that-comes-with-ruby-5354.html
For some suggestions on how to improve your specs, try:
but do note that several items there are debatable or specific to rspec.
For more information about expectations, see Minitest::Expectations.