Пример #1
0
        public void RunTest()
        {
            MockOpData data = new MockOpData(FuncCallName.PopCount, FuncCallName.PushMulti)
            {
                _itemCount   = 6,
                popCountData = new byte[][][]
                {
                    new byte[][]
                    {
                        OpTestCaseHelper.b1, OpTestCaseHelper.b2, OpTestCaseHelper.b3,
                        OpTestCaseHelper.b4, OpTestCaseHelper.b5, OpTestCaseHelper.b6
                    }
                },
                pushMultiData = new byte[][][]
                {
                    new byte[][]
                    {
                        OpTestCaseHelper.b3, OpTestCaseHelper.b4, OpTestCaseHelper.b5,
                        OpTestCaseHelper.b6, OpTestCaseHelper.b1, OpTestCaseHelper.b2
                    }
                },
            };

            OpTestCaseHelper.RunTest <ROT2Op>(data, OP.ROT2);
        }
Пример #2
0
        public void NEGATEOp_FailTest()
        {
            MockOpData data = new MockOpData()
            {
                _itemCount = 0,
            };

            OpTestCaseHelper.RunFailTest <NEGATEOp>(data, Err.OpNotEnoughItems);
        }
Пример #3
0
        public void RunErrorTest()
        {
            MockOpData data = new MockOpData(FuncCallName.AltPop)
            {
                _altItemCount = 0,
            };

            OpTestCaseHelper.RunFailTest <FromAltStackOp>(data, Err.OpNotEnoughItems + "(alt stack)");
        }
Пример #4
0
        public void Run_ErrorTest()
        {
            MockOpData data = new MockOpData(FuncCallName.PopCount)
            {
                _itemCount = 1,
            };

            OpTestCaseHelper.RunFailTest <SWAPOp>(data, Err.OpNotEnoughItems);
        }
Пример #5
0
        public void RunErrorTest()
        {
            MockOpData data = new MockOpData(FuncCallName.PeekCount)
            {
                _itemCount = 2,
            };

            OpTestCaseHelper.RunFailTest <DUP3Op>(data, Err.OpNotEnoughItems);
        }
Пример #6
0
        public void GreaterThanOrEqualOp_FailTest()
        {
            MockOpData data = new MockOpData()
            {
                _itemCount = 0,
            };

            OpTestCaseHelper.RunFailTest <GreaterThanOrEqualOp>(data, Err.OpNotEnoughItems);
        }
Пример #7
0
        public void RunErrorTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Pop)
            {
                _itemCount = 0,
            };

            OpTestCaseHelper.RunFailTest <ToAltStackOp>(data, Err.OpNotEnoughItems);
        }
Пример #8
0
        public void RunTest()
        {
            MockOpData data = new MockOpData(FuncCallName.PopCount)
            {
                _itemCount   = 2,
                popCountData = new byte[][][] { new byte[][] { OpTestCaseHelper.b1, OpTestCaseHelper.b2 } },
            };

            OpTestCaseHelper.RunTest <DROP2Op>(data, OP.DROP2);
        }
Пример #9
0
        public void Run_Error_InvalidNumTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Pop)
            {
                _itemCount = 2,
                popData    = new byte[][] { OpTestCaseHelper.b1, new byte[] { 1, 0 } },
            };

            OpTestCaseHelper.RunFailTest <PICKOp>(data, "Invalid number format.");
        }
Пример #10
0
        public void RunTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Pop)
            {
                _itemCount = 1,
                popData    = new byte[][] { OpTestCaseHelper.b1 },
            };

            OpTestCaseHelper.RunTest <DROPOp>(data, OP.DROP);
        }
Пример #11
0
        public void Run_Error_NegNumTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Pop)
            {
                _itemCount = 2,
                popData    = new byte[][] { OpTestCaseHelper.b1, OpTestCaseHelper.numNeg1 },
            };

            OpTestCaseHelper.RunFailTest <PICKOp>(data, "'n' can not be negative.");
        }
Пример #12
0
        public void Run_Error_NotEnoughItemIndexTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Pop)
            {
                _itemCount = 2,
                popData    = new byte[][] { OpTestCaseHelper.b1, OpTestCaseHelper.num2 },
            };

            OpTestCaseHelper.RunFailTest <PICKOp>(data, Err.OpNotEnoughItems);
        }
Пример #13
0
        public void LessThanOpTest(byte[] toPop1, byte[] toPop2, bool expBool)
        {
            MockOpData data = new MockOpData(FuncCallName.Pop, FuncCallName.Pop, FuncCallName.PushBool)
            {
                _itemCount = 2,
                popData    = new byte[][] { toPop1, toPop2 },
                pushBool   = expBool,
            };

            OpTestCaseHelper.RunTest <LessThanOp>(data, OP.LessThan);
        }
Пример #14
0
        public void Run_ItemCountOverflowTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Push)
            {
                _itemCount    = 1001,
                _altItemCount = 1,
                pushData      = new byte[][] { new byte[] { 233, 3 } },
            };

            OpTestCaseHelper.RunFailTest <DEPTHOp>(data, Err.OpStackItemOverflow);
        }
Пример #15
0
        public void Run_BigDataTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Push)
            {
                _itemCount    = 130,
                _altItemCount = 0,
                pushData      = new byte[][] { new byte[] { 130, 0 } },
            };

            OpTestCaseHelper.RunTest <DEPTHOp>(data, OP.DEPTH);
        }
Пример #16
0
        public void NotEqual0OpTest(byte[] toPop, bool expBool)
        {
            MockOpData data = new MockOpData(FuncCallName.Pop, FuncCallName.PushBool)
            {
                _itemCount = 1,
                popData    = new byte[][] { toPop },
                pushBool   = expBool
            };

            OpTestCaseHelper.RunTest <NotEqual0Op>(data, OP.NotEqual0);
        }
Пример #17
0
        public void SUB1OpTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Pop, FuncCallName.Push)
            {
                _itemCount = 1,
                popData    = new byte[][] { OpTestCaseHelper.num1 },
                pushData   = new byte[][] { OpTestCaseHelper.num0 },
            };

            OpTestCaseHelper.RunTest <SUB1Op>(data, OP.SUB1);
        }
Пример #18
0
        public void WITHINOp_FailTest(FuncCallName[] calls, int count, byte[][][] pop, byte[][] push, string expErr)
        {
            MockOpData data = new MockOpData(calls)
            {
                _itemCount   = count,
                popCountData = pop,
                pushData     = push,
            };

            OpTestCaseHelper.RunFailTest <WITHINOp>(data, expErr);
        }
Пример #19
0
        public void NEGATEOpTest(byte[] toPop, byte[] toPush)
        {
            MockOpData data = new MockOpData(FuncCallName.Pop, FuncCallName.Push)
            {
                _itemCount = 1,
                popData    = new byte[][] { toPop },
                pushData   = new byte[][] { toPush },
            };

            OpTestCaseHelper.RunTest <NEGATEOp>(data, OP.NEGATE);
        }
Пример #20
0
        public void WITHINOpTest(byte[] toPop1, byte[] toPop2, byte[] toPop3, bool expBool)
        {
            MockOpData data = new MockOpData(FuncCallName.PopCount, FuncCallName.PushBool)
            {
                _itemCount   = 3,
                popCountData = new byte[][][] { new byte[][] { toPop1, toPop2, toPop3 } },
                pushBool     = expBool
            };

            OpTestCaseHelper.RunTest <WITHINOp>(data, OP.WITHIN);
        }
Пример #21
0
        public void MAXOpTest(byte[] toPop1, byte[] toPop2, byte[] toPush)
        {
            MockOpData data = new MockOpData(FuncCallName.Pop, FuncCallName.Pop, FuncCallName.Push)
            {
                _itemCount = 2,
                popData    = new byte[][] { toPop1, toPop2 },
                pushData   = new byte[][] { toPush },
            };

            OpTestCaseHelper.RunTest <MAXOp>(data, OP.MAX);
        }
Пример #22
0
        public void RunTest()
        {
            MockOpData data = new MockOpData(FuncCallName.AltPop, FuncCallName.Push)
            {
                _altItemCount = 1,
                altPopData    = new byte[][] { OpTestCaseHelper.b1 },
                pushData      = new byte[][] { OpTestCaseHelper.b1 },
            };

            OpTestCaseHelper.RunTest <FromAltStackOp>(data, OP.FromAltStack);
        }
Пример #23
0
        public void GreaterThanOrEqualOpTest(byte[] toPop1, byte[] toPop2, bool expBool)
        {
            MockOpData data = new MockOpData(FuncCallName.Pop, FuncCallName.Pop, FuncCallName.PushBool)
            {
                _itemCount = 2,
                popData    = new byte[][] { toPop1, toPop2 },
                pushBool   = expBool
            };

            OpTestCaseHelper.RunTest <GreaterThanOrEqualOp>(data, OP.GreaterThanOrEqual);
        }
Пример #24
0
        public void Run_NoDuplicateTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Peek)
            {
                _itemCount    = 1,
                _altItemCount = 0,
                peekData      = new byte[][] { OpTestCaseHelper.num0 }, // num0 is zero so no duplication occurs
            };

            OpTestCaseHelper.RunTest <IfDupOp>(data, OP.IfDup);
        }
Пример #25
0
        public void RunTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Pop, FuncCallName.AltPush)
            {
                _itemCount  = 1,
                popData     = new byte[][] { OpTestCaseHelper.b1 },
                altPushData = new byte[][] { OpTestCaseHelper.b1 },
            };

            OpTestCaseHelper.RunTest <ToAltStackOp>(data, OP.ToAltStack);
        }
Пример #26
0
        public void RunTest()
        {
            MockOpData data = new MockOpData(FuncCallName.PopCount, FuncCallName.PushMulti)
            {
                _itemCount    = 2,
                popCountData  = new byte[][][] { new byte[][] { OpTestCaseHelper.b1, OpTestCaseHelper.b2 } },
                pushMultiData = new byte[][][] { new byte[][] { OpTestCaseHelper.b2, OpTestCaseHelper.b1 } },
            };

            OpTestCaseHelper.RunTest <SWAPOp>(data, OP.SWAP);
        }
Пример #27
0
        public void Run_ItemCountOverflowTest()
        {
            MockOpData data = new MockOpData(FuncCallName.PeekCount, FuncCallName.PushMulti)
            {
                _itemCount    = 1000,
                _altItemCount = 1,
                peekCountData = new byte[][][] { new byte[][] { OpTestCaseHelper.b1, OpTestCaseHelper.b2, OpTestCaseHelper.b3 } },
                pushMultiData = new byte[][][] { new byte[][] { OpTestCaseHelper.b1, OpTestCaseHelper.b2, OpTestCaseHelper.b3 } },
            };

            OpTestCaseHelper.RunFailTest <DUP3Op>(data, Err.OpStackItemOverflow);
        }
Пример #28
0
        public void RunTest()
        {
            MockOpData data = new MockOpData(FuncCallName.PeekCount, FuncCallName.PushMulti)
            {
                _itemCount    = 3,
                _altItemCount = 0,
                peekCountData = new byte[][][] { new byte[][] { OpTestCaseHelper.b1, OpTestCaseHelper.b2, OpTestCaseHelper.b3 } },
                pushMultiData = new byte[][][] { new byte[][] { OpTestCaseHelper.b1, OpTestCaseHelper.b2, OpTestCaseHelper.b3 } },
            };

            OpTestCaseHelper.RunTest <DUP3Op>(data, OP.DUP3);
        }
Пример #29
0
        public void RunTest()
        {
            MockOpData data = new MockOpData(FuncCallName.PopIndex)
            {
                _itemCount   = 2,
                popIndexData = new Dictionary <int, byte[]> {
                    { 1, OpTestCaseHelper.b1 }
                }
            };

            OpTestCaseHelper.RunTest <NIPOp>(data, OP.NIP);
        }
Пример #30
0
        public void Run_Error_HugeNumTest()
        {
            MockOpData data = new MockOpData(FuncCallName.Pop)
            {
                _itemCount = 2,
                popData    = new byte[][] { OpTestCaseHelper.b1, new byte[5] {
                                                1, 1, 1, 1, 1
                                            } },
            };

            OpTestCaseHelper.RunFailTest <PICKOp>(data, "'n' is too big.");
        }