示例#1
0
    public void Test_S1IntervalTestBase_Project()
    {
        S1Interval r = new(-Math.PI, -Math.PI);

        Assert.Equal(Math.PI, r.Project(-Math.PI));
        Assert.Equal(Math.PI, r.Project(0));
        r = new S1Interval(0, Math.PI);
        Assert.Equal(0.1, r.Project(0.1));
        Assert.Equal(0, r.Project(-S2.M_PI_2 + S2.DoubleError));
        Assert.Equal(Math.PI, r.Project(-S2.M_PI_2 - S2.DoubleError));
        r = new S1Interval(Math.PI - 0.1, -Math.PI + 0.1);
        Assert.Equal(Math.PI, r.Project(Math.PI));
        Assert.Equal(Math.PI - 0.1, r.Project(S2.DoubleError));
        Assert.Equal(-Math.PI + 0.1, r.Project(-S2.DoubleError));
        Assert.Equal(0, S1Interval.Full.Project(0));
        Assert.Equal(Math.PI, S1Interval.Full.Project(Math.PI));
        Assert.Equal(Math.PI, S1Interval.Full.Project(-Math.PI));
    }