mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
[poincare/integer] Add tests on euclidean division
This commit also adds tests on mixed fractions. Change-Id: I0fee88eb00febccaa9445230f8f2bbb92cd1ba98
This commit is contained in:
committed by
Émilie Feral
parent
bad21f0ab5
commit
6e9a5a010f
@@ -277,3 +277,29 @@ QUIZ_CASE(poincare_integer_serialize) {
|
||||
assert_integer_serializes_to(MaxInteger(), MaxIntegerString());
|
||||
assert_integer_serializes_to(OverflowedInteger(), Infinity::Name());
|
||||
}
|
||||
|
||||
// Euclidian Division
|
||||
|
||||
void assert_division_computes_to(int n, int m, const char * div) {
|
||||
assert_expression_serialize_to(Integer::CreateEuclideanDivision(Integer(n), Integer(m)), div);
|
||||
}
|
||||
|
||||
QUIZ_CASE(poincare_integer_euclidian_division) {
|
||||
assert_division_computes_to(47, 8, "47=8×5+7");
|
||||
assert_division_computes_to(1, 5, "1=5×0+1");
|
||||
assert_division_computes_to(12, 4, "12=4×3+0");
|
||||
assert_division_computes_to(-33, 7, "-33=7×(-5)+2");
|
||||
assert_division_computes_to(-28, 101, "-28=101×(-1)+73");
|
||||
assert_division_computes_to(-40, 2, "-40=2×(-20)+0");
|
||||
}
|
||||
|
||||
void assert_mixed_fraction_computes_to(int n, int m, const char * frac) {
|
||||
assert_expression_serialize_to(Integer::CreateMixedFraction(Integer(n), Integer(m)), frac);
|
||||
}
|
||||
|
||||
QUIZ_CASE(poincare_integer_mixed_fraction) {
|
||||
assert_mixed_fraction_computes_to(47, 8, "5+7/8");
|
||||
assert_mixed_fraction_computes_to(1, 5, "0+1/5");
|
||||
assert_mixed_fraction_computes_to(-33, 7, "-4-5/7");
|
||||
assert_mixed_fraction_computes_to(-28, 101, "0-28/101");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user