// // Copyright (c) James Jackson-South and contributors. // Licensed under the Apache License, Version 2.0. // namespace ImageSharp.Tests { using System; using Xunit; /// /// Tests the class. /// public class ImagePropertyTests { /// /// Tests the equality operators for inequality. /// [Fact] public void AreEqual() { ImageProperty property1 = new ImageProperty("Foo", "Bar"); ImageProperty property2 = new ImageProperty("Foo", "Bar"); ImageProperty property3 = null; Assert.Equal(property1, property2); Assert.True(property1 == property2); Assert.Null(property3); } /// /// Tests the equality operators for equality. /// [Fact] public void AreNotEqual() { ImageProperty property1 = new ImageProperty("Foo", "Bar"); ImageProperty property2 = new ImageProperty("Foo", "Foo"); ImageProperty property3 = new ImageProperty("Bar", "Bar"); ImageProperty property4 = new ImageProperty("Foo", null); Assert.False(property1.Equals("Foo")); Assert.NotNull(property1); Assert.NotEqual(property1, property2); Assert.True(property1 != property2); Assert.NotEqual(property1, property3); Assert.NotEqual(property1, property4); } /// /// Tests whether the constructor throws an exception when the property name is null or empty. /// [Fact] public void ConstructorThrowsWhenNameIsNullOrEmpty() { Assert.Throws(() => new ImageProperty(null, "Foo")); Assert.Throws(() => new ImageProperty(string.Empty, "Foo")); } /// /// Tests whether the constructor correctly assigns properties. /// [Fact] public void ConstructorAssignsProperties() { ImageProperty property = new ImageProperty("Foo", null); Assert.Equal("Foo", property.Name); Assert.Null(property.Value); property = new ImageProperty("Foo", string.Empty); Assert.Equal(string.Empty, property.Value); } } }