Index: Core/Components/src/Core.Components.Gis/Theme/ValueCriterion.cs
===================================================================
diff -u -r4c7e3ff3bf5c0a50fd9d208b71400e5dfb6cebd4 -r185fd339ac34a4799f1c0368256feabfe839b91f
--- Core/Components/src/Core.Components.Gis/Theme/ValueCriterion.cs (.../ValueCriterion.cs) (revision 4c7e3ff3bf5c0a50fd9d208b71400e5dfb6cebd4)
+++ Core/Components/src/Core.Components.Gis/Theme/ValueCriterion.cs (.../ValueCriterion.cs) (revision 185fd339ac34a4799f1c0368256feabfe839b91f)
@@ -34,10 +34,17 @@
///
/// The belonging to this criterion.
/// The value to apply when using this criteria.
+ /// Thrown when
+ /// is null.
/// Thrown when
/// contains an invalid value for .
public ValueCriterion(ValueCriterionOperator valueOperator, string value)
{
+ if (value == null)
+ {
+ throw new ArgumentNullException(nameof(value));
+ }
+
if (!Enum.IsDefined(typeof(ValueCriterionOperator), valueOperator))
{
throw new InvalidEnumArgumentException(nameof(valueOperator),
Index: Core/Components/test/Core.Components.Gis.Test/Theme/ValueCriterionTest.cs
===================================================================
diff -u -r4c7e3ff3bf5c0a50fd9d208b71400e5dfb6cebd4 -r185fd339ac34a4799f1c0368256feabfe839b91f
--- Core/Components/test/Core.Components.Gis.Test/Theme/ValueCriterionTest.cs (.../ValueCriterionTest.cs) (revision 4c7e3ff3bf5c0a50fd9d208b71400e5dfb6cebd4)
+++ Core/Components/test/Core.Components.Gis.Test/Theme/ValueCriterionTest.cs (.../ValueCriterionTest.cs) (revision 185fd339ac34a4799f1c0368256feabfe839b91f)
@@ -31,12 +31,13 @@
public class ValueCriterionTest
{
[Test]
- public void Constructor_ReturnsExpectedProperties()
+ [TestCase("test value")]
+ [TestCase("")]
+ public void Constructor_ReturnsExpectedProperties(string value)
{
// Setup
var random = new Random(21);
var valueOperator = random.NextEnumValue();
- const string value = "test values";
// Call
var criteria = new ValueCriterion(valueOperator, value);
@@ -47,6 +48,21 @@
}
[Test]
+ public void Constructor_ValueNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var random = new Random(21);
+ var valueOperator = random.NextEnumValue();
+
+ // Call
+ TestDelegate call = () => new ValueCriterion(valueOperator, null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("value", exception.ParamName);
+ }
+
+ [Test]
public void Constructor_InvalidOperator_ThrowsInvalidEnumArgumentException()
{
// Setup