MCPcopy Index your code
hub / github.com/python/cpython / testMixedIntegerDivision

Method testMixedIntegerDivision

Lib/test/test_fractions.py:904–946  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

902 self.assertRaises(TypeError, operator.truediv, Symbolic('X'), F(2, 3))
903
904 def testMixedIntegerDivision(self):
905 self.assertTypedEquals(0, F(1, 10) // 1)
906 self.assertTypedEquals(0.0, F(1, 10) // 1.0)
907 self.assertTypedEquals(10, 1 // F(1, 10))
908 self.assertTypedEquals(10**23, 10**22 // F(1, 10))
909 self.assertTypedEquals(1.0 // 0.1, 1.0 // F(1, 10))
910
911 self.assertTypedEquals(F(1, 10), F(1, 10) % 1)
912 self.assertTypedEquals(0.1, F(1, 10) % 1.0)
913 self.assertTypedEquals(F(0, 1), 1 % F(1, 10))
914 self.assertTypedEquals(1.0 % 0.1, 1.0 % F(1, 10))
915 self.assertTypedEquals(0.1, F(1, 10) % float('inf'))
916 self.assertTypedEquals(float('-inf'), F(1, 10) % float('-inf'))
917 self.assertTypedEquals(float('inf'), F(-1, 10) % float('inf'))
918 self.assertTypedEquals(-0.1, F(-1, 10) % float('-inf'))
919
920 self.assertTypedTupleEquals((0, F(1, 10)), divmod(F(1, 10), 1))
921 self.assertTypedTupleEquals(divmod(0.1, 1.0), divmod(F(1, 10), 1.0))
922 self.assertTypedTupleEquals((10, F(0)), divmod(1, F(1, 10)))
923 self.assertTypedTupleEquals(divmod(1.0, 0.1), divmod(1.0, F(1, 10)))
924 self.assertTypedTupleEquals(divmod(0.1, float('inf')), divmod(F(1, 10), float('inf')))
925 self.assertTypedTupleEquals(divmod(0.1, float('-inf')), divmod(F(1, 10), float('-inf')))
926 self.assertTypedTupleEquals(divmod(-0.1, float('inf')), divmod(F(-1, 10), float('inf')))
927 self.assertTypedTupleEquals(divmod(-0.1, float('-inf')), divmod(F(-1, 10), float('-inf')))
928
929 self.assertTypedEquals(F(3, 2) % DummyFraction(3, 5), F(3, 10))
930 self.assertTypedEquals(DummyFraction(5, 3) % F(2, 3), F(1, 3))
931 self.assertTypedEquals(F(3, 2) % Rat(3, 5), Rat(3, 6))
932 self.assertTypedEquals(Rat(5, 3) % F(2, 3), F(1, 3))
933
934 self.assertRaises(TypeError, operator.mod, F(2, 3), Root(4))
935 self.assertTypedEquals(Root(4) % F(3, 2), 0.5)
936 self.assertEqual(F(3, 2) % SymbolicReal('X'), SymbolicReal('3/2 % X'))
937 self.assertRaises(TypeError, operator.mod, SymbolicReal('X'), F(3, 2))
938
939 self.assertRaises(TypeError, operator.mod, F(3, 2), Polar(4, 2))
940 self.assertRaises(TypeError, operator.mod, F(3, 2), RectComplex(4, 3))
941 self.assertRaises(TypeError, operator.mod, Rect(4, 3), F(2, 3))
942 self.assertEqual(F(3, 2) % SymbolicComplex('X'), SymbolicComplex('3/2 % X'))
943 self.assertRaises(TypeError, operator.mod, SymbolicComplex('X'), F(3, 2))
944
945 self.assertEqual(F(3, 2) % Symbolic('X'), Symbolic('3/2 % X'))
946 self.assertRaises(TypeError, operator.mod, Symbolic('X'), F(2, 3))
947
948 def testMixedPower(self):
949 # ** has more interesting conversion rules.

Callers

nothing calls this directly

Calls 14

assertTypedEqualsMethod · 0.95
DummyFractionClass · 0.85
SymbolicRealClass · 0.85
PolarClass · 0.85
RectComplexClass · 0.85
SymbolicComplexClass · 0.85
SymbolicClass · 0.85
FClass · 0.70
RatClass · 0.70
RootClass · 0.70
RectClass · 0.70

Tested by

no test coverage detected