Пример #1
0
def set_up_fractions():
    frac_1_3 = unit.Fraction(1, 3)
    frac_1_2 = unit.Fraction(1, 2)
    frac_n2_3 = unit.Fraction(-2, 3)
    frac_1_1 = unit.Fraction(1, 1)
    frac_0_5 = unit.Fraction(0, 5)
    return frac_1_3, frac_1_2, frac_n2_3, frac_1_1, frac_0_5
Пример #2
0
def test_fraction_init(set_up_fractions):
    frac_1_3, frac_1_2, frac_n2_3, frac_1_1, frac_0_5 = set_up_fractions
    assert frac_1_3.numer == 1
    assert frac_1_2.denom == 2
    assert frac_n2_3.numer == -2
    frac = unit.Fraction(30, 42)  # 30/42 reduces to 5/7.
    assert frac.numer == 5
    assert frac.denom == 7

    with pytest.raises(ZeroDivisionError) as excinfo:
        unit.Fraction.__init__('Test', 9, 0)
    with pytest.raises(TypeError) as excinfo:
        unit.Fraction.__init__('Test', 9.7, 3)
Пример #3
0
def test_fraction_truediv(set_up_fractions):
    frac_1_3, frac_1_2, frac_n2_3, frac_1_1, frac_0_5 = set_up_fractions
    with pytest.raises(ZeroDivisionError) as excinfo:
        frac_1_1 / frac_0_5
    assert frac_1_2 / frac_n2_3 == unit.Fraction(-3, 4)
Пример #4
0
def test_fraction_mul(set_up_fractions):
    frac_1_3, frac_1_2, frac_n2_3, frac_1_1, frac_0_5 = set_up_fractions
    assert frac_1_2 * frac_n2_3 == unit.Fraction(-1, 3)
Пример #5
0
def test_fraction_sub(set_up_fractions):
    frac_1_3, frac_1_2, frac_n2_3, frac_1_1, frac_0_5 = set_up_fractions
    assert frac_1_2 - frac_n2_3 == unit.Fraction(7, 6)
Пример #6
0
def test_fraction_add(set_up_fractions):
    frac_1_3, frac_1_2, frac_n2_3, frac_1_1, frac_0_5 = set_up_fractions
    assert frac_1_2 + frac_n2_3 == unit.Fraction(-1, 6)
Пример #7
0
def test_fraction_eq(set_up_fractions):
    frac_1_3, frac_1_2, frac_n2_3, frac_1_1, frac_0_5 = set_up_fractions
    assert frac_1_2 == unit.Fraction(1, 2)
    assert frac_1_3 == unit.Fraction(2, 6)
    assert frac_n2_3 == unit.Fraction(8, -12)
    assert frac_1_3 == 1 / 3