コード例 #1
0
        public void StringTestAsc(object parameter, short expectedResult, bool throwsIllegalQuantity, bool throwsTypeMismatch)
        {
            var   mismatchTypeExceptionThrown = false;
            var   illegalQuantExceptionThrown = false;
            var   sut = new Asc();
            short result;

            try
            {
                result = sut.Execute(new List <Accumulator> {
                    new Accumulator(parameter)
                }).ValueAsShort();
                Assert.AreEqual(expectedResult, result);
            }
            catch (ClassicBasic.Interpreter.Exceptions.IllegalQuantityException)
            {
                illegalQuantExceptionThrown = true;
            }
            catch (ClassicBasic.Interpreter.Exceptions.TypeMismatchException)
            {
                mismatchTypeExceptionThrown = true;
            }

            Assert.AreEqual(throwsIllegalQuantity, illegalQuantExceptionThrown, "Illegal quant");
            Assert.AreEqual(throwsTypeMismatch, mismatchTypeExceptionThrown, "Mismatch");
        }
コード例 #2
0
        public void StringTestAscNeedsOneParameter(int count, bool throwsException)
        {
            var sut = new Asc();

            var parameters = new List <Accumulator> {
            };

            for (int i = 0; i < count; i++)
            {
                parameters.Add(new Accumulator("A"));
            }

            var result = Test.Throws <SyntaxErrorException, Accumulator>(
                () => sut.Execute(parameters),
                throwsException);
        }
コード例 #3
0
        public void Asc_ShouldPassBaggageToBagCollector_WhenFailPercentageIsHundred()
        {
            var timerServiceMock = new Mock <ITimerService>();
            var ascSettingsMock  = new Mock <IAscSettings>();

            ascSettingsMock.Setup(stt => stt.AscInvalidationPercentage).Returns(100);
            var bagMock = new Mock <Baggage>();
            var mpaMock = new Mock <IChainLink>();

            mpaMock.Setup(mpa => mpa.Destination).Returns(typeof(BagCollector).Name);

            var asc = new Asc(ascSettingsMock.Object, Guid.NewGuid().ToString(), timerServiceMock.Object);

            asc.AddSuccessor(mpaMock.Object);

            asc.PassBaggage(bagMock.Object);

            bagMock.Object.Destination.ShouldBe(typeof(BagCollector).Name);
        }