Ejemplo n.º 1
0
        public void ThrowIfInvalidEnum_Test()
        {
            // arrange
            var values = new List <(Expression <Func <PortState> > expression, bool shouldRaceNull, bool shouldRaceArgument)>
            {
                (null, true, false),
                (() => (PortState)10, false, true),
                (() => PortState.Open, false, false),
                (() => (PortState)1, false, false)
            };

            // act & assert
            foreach (var value in values)
            {
                if (value.shouldRaceNull)
                {
                    NAssert.Throws <ArgumentNullException>(() => CheckUtil.ThrowIfInvalidEnum(value.expression), "ArgumentNullException expected but not thrown.");
                }
                if (value.shouldRaceArgument)
                {
                    NAssert.Throws <ArgumentException>(() => CheckUtil.ThrowIfInvalidEnum(value.expression), "ArgumentException expected but not thrown.");
                }
                if (!value.shouldRaceNull && !value.shouldRaceArgument)
                {
                    NAssert.DoesNotThrow(() => CheckUtil.ThrowIfInvalidEnum(value.expression), "Unexpected exception.");
                }
            }
        }
Ejemplo n.º 2
0
        public void ThrowIfInvalidEnum_Callback_Test()
        {
            // arrange
            var values = new List <(Expression <Func <PortState> > expression, bool shouldRaceNull, bool shouldRaceArgument)>
            {
                (null, true, false),
                (() => (PortState)10, false, true),
                (() => PortState.Open, false, false),
                (() => (PortState)1, false, false)
            };
            var expectedCallbacks = values.Count(v => !v.shouldRaceNull && v.shouldRaceArgument);
            var actualCallbacks   = 0;

            // act && assert for exceptions
            foreach (var value in values)
            {
                if (value.shouldRaceNull)
                {
                    // should not race the callback
                    NAssert.Throws <ArgumentNullException>(() => CheckUtil.ThrowIfInvalidEnum(value.expression, ex => actualCallbacks++), "ArgumentNullException expected but not thrown.");
                }
                if (value.shouldRaceArgument)
                {
                    // should race the callback
                    NAssert.Throws <ArgumentException>(() => CheckUtil.ThrowIfInvalidEnum(value.expression, ex => actualCallbacks++), "ArgumentException expected but not thrown.");
                }
                if (!value.shouldRaceNull && !value.shouldRaceArgument)
                {
                    // should not race the callback
                    NAssert.DoesNotThrow(() => CheckUtil.ThrowIfInvalidEnum(value.expression, ex => actualCallbacks++), "Unexpected exception.");
                }
            }
            // assert for correct amount of callbacks called
            NAssert.AreEqual(expectedCallbacks, actualCallbacks, "Incorrect amount of callbacks was called.");
        }
Ejemplo n.º 3
0
        public void SetWithReferenceTypesNotImplementingIComparerDoesNotThrowException()
        {
            var dummy = CreateUnitUnderTest();

            var first  = new ReferenceType();
            var second = new ReferenceType();

            Assert.DoesNotThrow(() => dummy.SetSurrogate(ref first, second, () => dummy.ReferenceProperty, false));
        }
Ejemplo n.º 4
0
        public void TestLoggerService()
        {
            Assert.DoesNotThrow(() =>
            {
                var logger = LoggerService.GetLogger();
                logger.Info("Simple logger: Info message");
                logger.Warn("Simple logger: Warn message");
                logger.Error("Simple logger: Error message");
                logger.Debug("Simple logger: Debug message");
                logger.Fatal("Simple logger: Fatal message");
            }, "Logger fail");

            Assert.DoesNotThrow(() =>
            {
                var batchLogger = LoggerService.GetBatchLogger();
                batchLogger.Info("Batch logger: Info message");
                batchLogger.Warn("Batch logger: Warn message");
                batchLogger.Error("Batch logger: Error message");
                batchLogger.Debug("Batch logger: Debug message");
                batchLogger.Fatal("Batch logger: Fatal message");
                batchLogger.Flush();
            }, "Batch logger fail");
        }