public void ValidateStochasts_StochastsNull_ThrowsArgumentNullException()
        {
            // Call
            TestDelegate test = () => StochastValidator.ValidateStochasts(null);

            // Assert
            var exception = Assert.Throws <ArgumentNullException>(test);

            Assert.AreEqual("stochasts", exception.ParamName);
        }
        public void ValidateStochasts_UniqueStochasts_DoesNotThrow()
        {
            // Setup
            var stochasts = new List <Stochast>
            {
                new Stochast("Stochast A", 1, 2),
                new Stochast("Stochast B", 2, 3),
                new Stochast("Stochast C", 1, 3)
            };

            // Call
            TestDelegate test = () => StochastValidator.ValidateStochasts(stochasts);

            // Assert
            Assert.DoesNotThrow(test);
        }
        public void ValidateStochasts_DuplicateStochasts_ThrowsArgumentException()
        {
            // Setup
            var stochasts = new List <Stochast>
            {
                new Stochast("Stochast A", 1, 2),
                new Stochast("Stochast B", 2, 3),
                new Stochast("Stochast B", 1, 3)
            };

            // Call
            TestDelegate test = () => StochastValidator.ValidateStochasts(stochasts);

            // Assert
            const string expectedMessage = "Een of meerdere stochasten hebben dezelfde naam.";

            TestHelper.AssertThrowsArgumentExceptionAndTestMessage <ArgumentException>(test, expectedMessage);
        }