public void TestRoundBoundaries() { // ReSharper disable ObjectCreationAsStatement new CChallengeRounds(1, 1, 1); // Should succeed // ReSharper restore ObjectCreationAsStatement for (int inv = -1; inv <= 0; inv++) { int invL = inv; CTestHelpers.AssertFail <ArgumentException>(() => new CChallengeRounds(invL, 1, 1)); CTestHelpers.AssertFail <ArgumentException>(() => new CChallengeRounds(1, invL, 1)); CTestHelpers.AssertFail <ArgumentException>(() => new CChallengeRounds(1, 1, invL)); } }
public void TestCounts() { Assert.AreEqual(4, CCombinations <int> .Count(4, 3)); Assert.AreEqual(6, CCombinations <int> .Count(4, 2)); Assert.AreEqual(66, CCombinations <int> .Count(12, 2)); // Corner cases for (int i = 1; i < 12; i++) { Assert.AreEqual(1, CCombinations <int> .Count(i, 0)); Assert.AreEqual(1, CCombinations <int> .Count(i, i)); Assert.AreEqual(0, CCombinations <int> .Count(i, i + 1)); } // Check identity (n k) = (n n-k) for (int i = 0; i <= 12; i++) { Assert.AreEqual(CCombinations <int> .Count(12, i), CCombinations <int> .Count(12, 12 - i)); } CTestHelpers.AssertFail <ArgumentException>(() => CCombinations <int> .Count(-1, -1)); CTestHelpers.AssertFail <ArgumentException>(() => CCombinations <int> .Count(-1, 1)); CTestHelpers.AssertFail <ArgumentException>(() => CCombinations <int> .Count(1, -1)); }
#pragma warning restore 169 #pragma warning restore 649 private static void _AssertFail <T, T2>(String xmlString) where T2 : Exception where T : new() { var deserializer = new CXmlDeserializer(); CTestHelpers.AssertFail <T2>(() => deserializer.DeserializeString <T>(xmlString)); }