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(); }
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); }