Exemplo n.º 1
0
	GIVEN("a floating point number") {

		Scalar zero = 0;

		Scalar s1 = 3.3;
		Scalar s2 = 7.9;

		Scalar f1 (5, 8);
		Scalar f2 (1, 3);

		Scalar v1 ("x");
		Scalar v2 ("y");

		WHEN(" converting to double, get zero") {
			REQUIRE(zero.ToDouble() == 0);
		}

		WHEN(" multiplying zero with another scalar gives zero") {
			REQUIRE( (zero * Scalar(3) ).ToDouble() == 0);

			// Multiply by a variable
			auto s = zero * Scalar::Variable("a");
			REQUIRE(s.IsNumeric());
			REQUIRE(s.ToDouble() == 0);
		}

        WHEN(" creating from a double") {
            REQUIRE(Scalar::Fraction(0.5).ToString() == "1/2");
            REQUIRE(Scalar::Fraction(0.25).ToString() == "1/4");
        }