public void SafeAddDoesNotAddPropertyWhenValueIsTokenWithNullValue()
        {
            // Arrange
            var sut = new JObject();

            // Act
            sut.SafeAdd("foo", (string)null);

            // Assert
            Assert.That(sut.Properties().Any(i => i.Name == "foo"), Is.False,
                "SafeAdd() should not add property if value is null."
            );
        }
        public void SafeAddAddsPropertyWhenItDoesNotExist()
        {
            // Arrange
            var sut = new JObject();

            // Act
            sut.SafeAdd("foo", "bar");

            // Assert
            Assert.That((string)sut["foo"], Is.EqualTo("bar"),
                "SafeAdd() should add property if it doesn't exist."
            );
        }
        public void SafeAddDoesNotAddPropertyWhenValueIsNull()
        {
            // Arrange
            var sut = new JObject();
            sut["foo"] = "bar";

            // Act
            sut.SafeAdd("foo", null);

            // Assert
            Assert.That((string)sut["foo"], Is.EqualTo("bar"),
                "SafeAdd() should not add property if value is null."
            );
        }
        public void SafeAddDoesNotAddPropertyWhenItAlreadyExists()
        {
            // Arrange
            var sut = new JObject();
            sut["foo"] = "bar";

            // Act
            sut.SafeAdd("foo", "baz");

            // Assert
            Assert.That((string)sut["foo"], Is.EqualTo("bar"),
                "SafeAdd() should not add property if it already exists."
            );
        }