コード例 #1
0
ファイル: ASBoolean.Test.cs プロジェクト: jfd16/Mariana
        public static IEnumerable <object[]> booleanClassRuntimeInvokeAndConstructTest_data()
        {
            ASObject obj1 = new ConvertibleMockObject(boolValue: true);
            ASObject obj2 = new ConvertibleMockObject(boolValue: false);

            return(TupleHelper.toArrays <ASAny[], bool>(
                       (Array.Empty <ASAny>(), false),
                       (new ASAny[] { default }, false),
コード例 #2
0
ファイル: ASMath.Test.cs プロジェクト: jfd16/Mariana
        public void maxTest()
        {
            assertNegativeInfinity(max());

            assertPositiveZero(max(new Rest(0.0)));
            assertNegativeZero(max(new Rest(NEG_ZERO)));
            Assert.Equal(1.0, max(new Rest(1.0)));
            Assert.Equal(-1.0, max(new Rest(-1.0)));
            Assert.Equal(POS_INF, max(new Rest(POS_INF)));
            Assert.Equal(NEG_INF, max(new Rest(NEG_INF)));
            Assert.Equal(NAN, max(new Rest(NAN)));

            assertPositiveZero(max(new Rest(0.0, -1.0)));
            assertPositiveZero(max(new Rest(-1.0, 0.0)));
            assertPositiveZero(max(new Rest(0.0, 0.0)));
            assertPositiveZero(max(new Rest(-1.0, 0.0, -1.0, 0.0)));
            assertPositiveZero(max(new Rest(NEG_ZERO, 0.0)));
            assertPositiveZero(max(new Rest(0.0, 0.0, NEG_ZERO, 0.0)));
            assertPositiveZero(max(new Rest(-1.0, -1.0, NEG_ZERO, 0.0)));
            assertPositiveZero(max(new Rest(-1.0, NEG_ZERO, -1.0, 0.0)));
            assertPositiveZero(max(new Rest(-1.0, -1.0, 0.0, NEG_ZERO)));

            assertNegativeZero(max(new Rest(NEG_ZERO, -1.0)));
            assertNegativeZero(max(new Rest(-1.0, NEG_ZERO)));
            assertNegativeZero(max(new Rest(NEG_ZERO, NEG_ZERO)));
            assertNegativeZero(max(new Rest(-1.0, NEG_ZERO, -1.0, NEG_ZERO)));

            assertNaN(max(new Rest(NAN, 0.0)));
            assertNaN(max(new Rest(0.0, NAN)));
            assertNaN(max(new Rest(NAN, 1.0)));
            assertNaN(max(new Rest(NEG_INF, NAN)));
            assertNaN(max(new Rest(NAN, NEG_INF)));
            assertNaN(max(new Rest(NAN, NAN)));
            assertNaN(max(new Rest(0.0, 0.0, NAN, 0.0)));
            assertNaN(max(new Rest(NEG_INF, NEG_INF, NAN, NEG_INF)));
            assertNaN(max(new Rest(NAN, 0.0, 0.0, NEG_INF)));
            assertNaN(max(new Rest(NAN, 0.0, -1.0, -2.0)));

            assertNegativeInfinity(max(new Rest(NEG_INF, NEG_INF)));
            assertNegativeInfinity(max(new Rest(NEG_INF, NEG_INF, NEG_INF, NEG_INF)));

            assertPositiveInfinity(max(new Rest(POS_INF, 0.0)));
            assertPositiveInfinity(max(new Rest(0.0, POS_INF)));
            assertPositiveInfinity(max(new Rest(POS_INF, 1.0)));
            assertPositiveInfinity(max(new Rest(1.0, POS_INF)));
            assertPositiveInfinity(max(new Rest(POS_INF, -1.0)));
            assertPositiveInfinity(max(new Rest(-1.0, POS_INF)));
            assertPositiveInfinity(max(new Rest(NEG_INF, POS_INF)));
            assertPositiveInfinity(max(new Rest(POS_INF, POS_INF)));
            assertPositiveInfinity(max(new Rest(0.0, 0.0, POS_INF, 0.0)));
            assertPositiveInfinity(max(new Rest(POS_INF, POS_INF, POS_INF, POS_INF)));
            assertPositiveInfinity(max(new Rest(POS_INF, 0.0, 0.0, POS_INF)));
            assertPositiveInfinity(max(new Rest(POS_INF, 0.0, 0.0, NEG_INF)));
            assertPositiveInfinity(max(new Rest(POS_INF, 0.0, -1.0, -2.0)));

            Assert.Equal(2.0, max(new Rest(1.0, 2.0)));
            Assert.Equal(2.0, max(new Rest(2.0, 1.0)));
            Assert.Equal(1.0, max(new Rest(-1.0, 1.0)));
            Assert.Equal(1.0, max(new Rest(1.0, -1.0)));
            Assert.Equal(-1.0, max(new Rest(-1.0, -2.0)));
            Assert.Equal(-1.0, max(new Rest(-1.0, -2.0)));
            Assert.Equal(4.0, max(new Rest(1.0, 2.0, 3.0, 4.0)));
            Assert.Equal(4.0, max(new Rest(4.0, 3.0, 2.0, 1.0)));
            Assert.Equal(4.0, max(new Rest(3.0, 2.0, 4.0, 1.0)));

            Assert.Equal(1.0, max(new Rest(1.0, NEG_INF)));
            Assert.Equal(1.0, max(new Rest(NEG_INF, 1.0)));

            var obj1 = new ConvertibleMockObject(numberValue: 1.0);
            var obj2 = new ConvertibleMockObject(numberValue: 2.0);

            Assert.Equal(2.0, max(new Rest(obj1, obj2)));
            Assert.Equal(2.0, max(new Rest(obj2, obj1)));
            Assert.Equal(2.0, max(new Rest(obj1, 2.0)));
            Assert.Equal(2.0, max(new Rest(obj2, 1.0)));
        }