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."); } } }
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."); }
public void SetWithReferenceTypesNotImplementingIComparerDoesNotThrowException() { var dummy = CreateUnitUnderTest(); var first = new ReferenceType(); var second = new ReferenceType(); Assert.DoesNotThrow(() => dummy.SetSurrogate(ref first, second, () => dummy.ReferenceProperty, false)); }
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"); }