public void RepeatableEnum_SinglePropertySet() { var request = new RepeatableEnumRequest { Mode = FileMode.Open }; var dictionary = ParameterUtils.CreateParameterDictionary(request); Assert.Equal(FileMode.Open, dictionary["mode"]); }
public void RepeatableEnum_BothPropertiesSet() { var request = new RepeatableEnumRequest { Mode = FileMode.Open, ModeList = new[] { FileMode.Create, FileMode.Append } }; Assert.Throws <InvalidOperationException>(() => ParameterUtils.CreateParameterDictionary(request)); }
public void RepeatableEnum_NoPropertiesSet() { var request = new RepeatableEnumRequest(); var dictionary = ParameterUtils.CreateParameterDictionary(request); // For historical reasons, we end up with a null value from the "FileMode? Mode" property. // That's fixable, but not worth the worry about whether it would break things. var pair = Assert.Single(dictionary); Assert.Equal("mode", pair.Key); Assert.Null(pair.Value); }
public void RepeatableEnum_ListPropertySet() { var request = new RepeatableEnumRequest { ModeList = new[] { FileMode.Open, FileMode.Append } }; var dictionary = ParameterUtils.CreateParameterDictionary(request); var pair = Assert.Single(dictionary); Assert.Equal("mode", pair.Key); var repeatable = (Repeatable <FileMode>)pair.Value; Assert.Equal(new[] { FileMode.Open, FileMode.Append }, repeatable.ToArray()); }