public void EqualsTest_CompareWithNull_NotEquals()
        {
            var firstItemContent = new ListItemContent("Name", "Value")
                                   .AddNestedItem(ListItemContent.Create("NestedName1", "NestedValue"));

            Assert.IsFalse(firstItemContent.Equals(null));
        }
        public void EqualsTest_ValuesDifferByNestedValuesCounts_NotEquals()
        {
            var firstItemContent = new ListItemContent("Name", "Value")
                                   .AddNestedItem(ListItemContent.Create("NestedName1", "NestedValue"));

            var secondItemContent = new ListItemContent("Name", "Value");

            Assert.IsFalse(firstItemContent.Equals(secondItemContent));
        }
        public void EqualsTest_ValuesAreEqual_Equals()
        {
            var firstItemContent = new ListItemContent("Name", "Value")
                                   .AddNestedItem(ListItemContent.Create("NestedName", "NestedValue"));

            var secondItemContent = new ListItemContent("Name", "Value")
                                    .AddNestedItem(ListItemContent.Create("NestedName", "NestedValue"));

            Assert.IsTrue(firstItemContent.Equals(secondItemContent));
        }
        public void ShouldCheckEqualotyWithNestedFields(string nestedValue1, string nestedValue2, bool expectedEqualityResult)
        {
            //Given
            var firstItemContent = new ListItemContent(SomeName, SomeValue)
                                   .AddNestedItem(new ListItemContent(SomeName2, nestedValue1));

            var secondItemContent = new ListItemContent(SomeName, SomeValue)
                                    .AddNestedItem(new ListItemContent(SomeName2, nestedValue2));

            //When
            var result = firstItemContent.Equals(secondItemContent);

            //Then
            result.Should().Be(expectedEqualityResult);
        }
		public void EqualsTest_ValuesDifferByName_NotEquals()
		{
			var firstItemContent = new ListItemContent("Name1", "Value")
				.AddNestedItem(ListItemContent.Create("NestedName", "NestedValue"));

			var secondItemContent = new ListItemContent("Name2", "Value")
				.AddNestedItem(ListItemContent.Create("NestedName", "NestedValue"));
			
			Assert.IsFalse(firstItemContent.Equals(secondItemContent));
		}
		public void EqualsTest_ValuesAreEqual_Equals()
		{
			var firstItemContent = new ListItemContent("Name", "Value")
				.AddNestedItem(ListItemContent.Create("NestedName", "NestedValue"));

			var secondItemContent = new ListItemContent("Name", "Value")
				.AddNestedItem(ListItemContent.Create("NestedName", "NestedValue"));
			
			Assert.IsTrue(firstItemContent.Equals(secondItemContent));
		}
		public void EqualsTest_CompareWithNull_NotEquals()
		{
			var firstItemContent = new ListItemContent("Name", "Value")
				.AddNestedItem(ListItemContent.Create("NestedName1", "NestedValue"));
			
			Assert.IsFalse(firstItemContent.Equals(null));
		}