public void SingleOrNothing_Single_HasValue() { var src = new[] { 42 }; var result = src.SingleOrNothing().HasValue; Assert.True(result); }
public void SingleOrNothingTest() { var empty = new int[0]; var nonEmpty = new[] { 1, 2, 1, 2 }; AssertNothing(empty.SingleOrNothing()); AssertNothing(empty.SingleOrNothing(Fail<int, bool>)); AssertNothing(empty.SingleOrNothing(throwOnSeveral: false)); AssertNothing(empty.SingleOrNothing(Fail<int, bool>, throwOnSeveral: false)); Assert.Throws<InvalidOperationException>(() => nonEmpty.SingleOrNothing(throwOnSeveral: true)); AssertNothing(nonEmpty.SingleOrNothing(throwOnSeveral: false)); Assert.Throws<InvalidOperationException>(() => nonEmpty.SingleOrNothing(x => x == 2, throwOnSeveral: true)); AssertNothing(nonEmpty.SingleOrNothing(x => x == 2, throwOnSeveral: false)); }
public void SingleOrNothing_Multiple_Throws() { var src = new[] { 42, 41 }; Assert.Throws<InvalidOperationException>(() => src.SingleOrNothing()); }