Exemplo n.º 1
0
        public void RObjectTest()
        {
            RNumber  rn = new RNumber(1);
            RLogical rl = new RLogical(false);
            RString  rs = new RString("abc");

            RVector <RString> rvs = new RVector <RString>(RMode.Character, 1);
            RVector <RNumber> rvn = new RVector <RNumber>(RMode.Numeric, 2);

            rs.IsString.Should().BeTrue();
            rn.IsString.Should().BeFalse();
            rl.IsString.Should().BeFalse();

            rs.IsNumber.Should().BeFalse();
            rn.IsNumber.Should().BeTrue();
            rl.IsNumber.Should().BeFalse();

            rs.IsScalar.Should().BeTrue();
            rn.IsScalar.Should().BeTrue();
            rl.IsScalar.Should().BeTrue();

            rs.IsBoolean.Should().BeFalse();
            rn.IsBoolean.Should().BeFalse();
            rl.IsBoolean.Should().BeTrue();

            rvs.IsScalar.Should().BeTrue();
            rvn.IsScalar.Should().BeFalse();

            rvs.IsString.Should().BeTrue();
            rvn.IsNumber.Should().BeFalse();
        }
Exemplo n.º 2
0
        public void RNumberTest()
        {
            RNumber rn1 = new RNumber(1);
            RNumber rn2 = new RNumber(1.0);
            RNumber rn3 = new RNumber(2.1);

            rn1.Mode.Should().Be(RMode.Numeric);
            (rn1 == 1).Should().BeTrue();
            (rn1 != 1).Should().BeFalse();
            (rn1 == 2).Should().BeFalse();
            ((double)rn1).Should().Be(1);
            rn2.Should().Be(rn1);
            rn3.Should().NotBe(rn2);
            (rn1 != rn3).Should().BeTrue();

            (rn1 * rn2).Should().Be((RNumber)1);
            (rn2 + rn3).Should().Be((RNumber)3.1);
            (rn3 - rn1).Should().Be((RNumber)1.1);
            (rn3 / 2).Should().Be((RNumber)1.05);
        }