コード例 #1
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void FastCompare_IsNotEqual_WhenSharedFieldsAreUnequal()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Hello") });
            var targetItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Goodbye") });

            var comparison = comparer.FastCompare(sourceItem, targetItem);

            comparison.AreEqual.Should().BeFalse();
        }
コード例 #2
0
ファイル: ItemComparerTests.cs プロジェクト: csteeg/Rainbow
        public void FastCompare_IsNotEqual_WhenSharedFieldsAreUnequal()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Hello") });
            var targetItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Goodbye") });

            var comparison = comparer.FastCompare(sourceItem, targetItem);

            Assert.False(comparison.AreEqual);
        }
コード例 #3
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void ItemComparer_IsNotEqual_WhenTemplatesAreUnequal()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(templateId: Guid.NewGuid());
            var targetItem = new FakeItem(templateId: Guid.NewGuid());

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.False(comparison.AreEqual);
            Assert.True(comparison.IsTemplateChanged);
        }
コード例 #4
0
		public void ItemComparer_IsEqual_WhenSharedFieldIsInSourceOnly_AndValueIsEmpty()
		{
			var comparer = new TestItemComparer();

			var sourceItem = new FakeItem(sharedFields: new[] { new FakeFieldValue(string.Empty) });
			var targetItem = new FakeItem();

			var comparison = comparer.Compare(sourceItem, targetItem);

			comparison.AreEqual.Should().BeTrue();
			comparison.ChangedSharedFields.Length.Should().Be(0);
		}
コード例 #5
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void ItemComparer_IsEqual_WhenSharedFieldIsInSourceOnly_AndValueIsEmpty()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(sharedFields: new[] { new FakeFieldValue(string.Empty) });
            var targetItem = new FakeItem();

            var comparison = comparer.Compare(sourceItem, targetItem);

            comparison.AreEqual.Should().BeTrue();
            comparison.ChangedSharedFields.Length.Should().Be(0);
        }
コード例 #6
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void ItemComparer_IsNotEqual_WhenNamesAreUnequal()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(name: "Bork Bork Bork");
            var targetItem = new FakeItem(name: "Swedish Chef");

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.False(comparison.AreEqual);
            Assert.True(comparison.IsRenamed);
        }
コード例 #7
0
ファイル: ItemComparerTests.cs プロジェクト: csteeg/Rainbow
        public void ItemComparer_IsEqual_WhenSharedFieldIsInTargetOnly_AndValueIsEmpty()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem();
            var targetItem = new FakeItem(sharedFields: new[] { new FakeFieldValue(string.Empty) });

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.True(comparison.AreEqual);
            Assert.Equal(0, comparison.ChangedSharedFields.Length);
        }
コード例 #8
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void ItemComparer_IsEqual_WhenSharedFieldIsInTargetOnly_AndValueIsEmpty()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem();
            var targetItem = new FakeItem(sharedFields: new[] { new FakeFieldValue(string.Empty) });

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.True(comparison.AreEqual);
            Assert.Equal(0, comparison.ChangedSharedFields.Length);
        }
コード例 #9
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void ItemComparer_IsNotEqual_WhenMoved()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(parentId: Guid.NewGuid());
            var targetItem = new FakeItem(parentId: Guid.NewGuid());

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.False(comparison.AreEqual);
            Assert.True(comparison.IsMoved);
        }
コード例 #10
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void ItemComparer_IsNotEqual_WhenNewSourceVersionExists()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(versions: new[] { new FakeItemVersion(), new FakeItemVersion(versionNumber: 2) });
            var targetItem = new FakeItem(versions: new[] { new FakeItemVersion() });

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.False(comparison.AreEqual);
            Assert.Equal(1, comparison.ChangedVersions.Length);
            Assert.Null(comparison.ChangedVersions[0].TargetVersion);
        }
コード例 #11
0
		public void ItemComparer_IsNotEqual_WhenSharedFieldsAreUnequal()
		{
			var comparer = new TestItemComparer();

			var sourceItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Hello") });
			var targetItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Goodbye") });

			var comparison = comparer.Compare(sourceItem, targetItem);

			Assert.False(comparison.AreEqual);
			Assert.Equal(1, comparison.ChangedSharedFields.Length);
			Assert.Equal("Hello", comparison.ChangedSharedFields[0].SourceField.Value);
			Assert.Equal("Goodbye", comparison.ChangedSharedFields[0].TargetField.Value);
		}
コード例 #12
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void ItemComparer_IsNotEqual_WhenSharedFieldsAreUnequal()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Hello") });
            var targetItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Goodbye") });

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.False(comparison.AreEqual);
            Assert.Equal(1, comparison.ChangedSharedFields.Length);
            Assert.Equal("Hello", comparison.ChangedSharedFields[0].SourceField.Value);
            Assert.Equal("Goodbye", comparison.ChangedSharedFields[0].TargetField.Value);
        }
コード例 #13
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void ItemComparer_IsNotEqual_WhenSharedFieldIsInTargetOnly()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem();
            var targetItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Hello") });

            var comparison = comparer.Compare(sourceItem, targetItem);

            comparison.AreEqual.Should().BeFalse();
            comparison.ChangedSharedFields.Length.Should().Be(1);
            comparison.ChangedSharedFields[0].TargetField.Value.Should().Be("Hello");
            comparison.ChangedSharedFields[0].SourceField.Should().BeNull();
        }
コード例 #14
0
		public void ItemComparer_IsNotEqual_WhenSharedFieldIsInSourceOnly()
		{
			var comparer = new TestItemComparer();

			var sourceItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Hello") });
			var targetItem = new FakeItem();

			var comparison = comparer.Compare(sourceItem, targetItem);

			comparison.AreEqual.Should().BeFalse();
			comparison.ChangedSharedFields.Length.Should().Be(1);
			comparison.ChangedSharedFields[0].SourceField.Value.Should().Be("Hello");
			comparison.ChangedSharedFields[0].TargetField.Should().BeNull();
		}
コード例 #15
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void ItemComparer_IsEqual_WhenUnversionedFieldIsInSourceOnly_AndValueIsEmpty()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(unversionedFields: new[] { new ProxyItemLanguage(new CultureInfo("en"))
                                                                     {
                                                                         Fields = new[] { new FakeFieldValue(string.Empty) }
                                                                     } });
            var targetItem = new FakeItem();

            var comparison = comparer.Compare(sourceItem, targetItem);

            comparison.AreEqual.Should().BeTrue();
            comparison.ChangedUnversionedFields.Length.Should().Be(0);
        }
コード例 #16
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void ItemComparer_IsNotEqual_WhenUnversionedFieldIsInTargetOnly()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem();
            var targetItem = new FakeItem(unversionedFields: new[] { new ProxyItemLanguage(new CultureInfo("en"))
                                                                     {
                                                                         Fields = new[] { new FakeFieldValue("Hello") }
                                                                     } });

            var comparison = comparer.Compare(sourceItem, targetItem);

            comparison.AreEqual.Should().BeFalse();
            comparison.ChangedUnversionedFields.Length.Should().Be(1);
            comparison.ChangedUnversionedFields[0].ChangedFields.Count.Should().Be(1);
            comparison.ChangedUnversionedFields[0].ChangedFields[0].TargetField.Value.Should().Be("Hello");
            comparison.ChangedUnversionedFields[0].ChangedFields[0].SourceField.Should().BeNull();
        }
コード例 #17
0
ファイル: ItemComparerTests.cs プロジェクト: murven/Rainbow
        public void EvaluateUpdate_DoesNotDeserialize_WhenItemsAreEqual()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(
                versions: new[] { new FakeItemVersion(fields: new FakeFieldValue("Hello")) },
                sharedFields: new[] { new FakeFieldValue("Goodbye") });
            var targetItem = new FakeItem(
                versions: new[] { new FakeItemVersion(fields: new FakeFieldValue("Hello")) },
                sharedFields: new[] { new FakeFieldValue("Goodbye") });

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.True(comparison.AreEqual);
            Assert.Empty(comparison.ChangedSharedFields);
            Assert.Empty(comparison.ChangedVersions);
            Assert.False(comparison.IsMoved || comparison.IsRenamed || comparison.IsTemplateChanged);
        }
コード例 #18
0
ファイル: ItemComparerTests.cs プロジェクト: csteeg/Rainbow
        public void EvaluateUpdate_DoesNotDeserialize_WhenItemsAreEqual()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(
                versions: new[] { new FakeItemVersion(fields: new FakeFieldValue("Hello")) },
                sharedFields: new[] {new FakeFieldValue("Goodbye") });
            var targetItem = new FakeItem(
                versions: new[] { new FakeItemVersion(fields: new FakeFieldValue("Hello")) },
                sharedFields: new[] { new FakeFieldValue("Goodbye") });

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.True(comparison.AreEqual);
            Assert.Empty(comparison.ChangedSharedFields);
            Assert.Empty(comparison.ChangedVersions);
            Assert.False(comparison.IsMoved || comparison.IsRenamed || comparison.IsTemplateChanged);
        }
コード例 #19
0
		public void ItemComparer_IsNotEqual_WhenUnversionedFieldIsInTargetOnly()
		{
			var comparer = new TestItemComparer();

			var sourceItem = new FakeItem();
			var targetItem = new FakeItem(unversionedFields: new[] { new ProxyItemLanguage(new CultureInfo("en")) { Fields = new[] { new FakeFieldValue("Hello") } } });

			var comparison = comparer.Compare(sourceItem, targetItem);

			comparison.AreEqual.Should().BeFalse();
			comparison.ChangedUnversionedFields.Length.Should().Be(1);
			comparison.ChangedUnversionedFields[0].ChangedFields.Count.Should().Be(1);
			comparison.ChangedUnversionedFields[0].ChangedFields[0].TargetField.Value.Should().Be("Hello");
			comparison.ChangedUnversionedFields[0].ChangedFields[0].SourceField.Should().BeNull();
		}
コード例 #20
0
ファイル: ItemComparerTests.cs プロジェクト: csteeg/Rainbow
        public void ItemComparer_IsNotEqual_WhenTemplatesAreUnequal()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(templateId:Guid.NewGuid());
            var targetItem = new FakeItem(templateId: Guid.NewGuid());

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.False(comparison.AreEqual);
            Assert.True(comparison.IsTemplateChanged);
        }
コード例 #21
0
ファイル: ItemComparerTests.cs プロジェクト: csteeg/Rainbow
        public void ItemComparer_IsNotEqual_WhenNewTargetVersionExists()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(versions: new[] { new FakeItemVersion() });
            var targetItem = new FakeItem(versions: new[] { new FakeItemVersion(), new FakeItemVersion(versionNumber: 2) });

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.False(comparison.AreEqual);
            Assert.Equal(1, comparison.ChangedVersions.Length);
            Assert.Null(comparison.ChangedVersions[0].SourceVersion);
        }
コード例 #22
0
ファイル: ItemComparerTests.cs プロジェクト: csteeg/Rainbow
        public void ItemComparer_IsNotEqual_WhenNamesAreUnequal()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(name: "Bork Bork Bork");
            var targetItem = new FakeItem(name: "Swedish Chef");

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.False(comparison.AreEqual);
            Assert.True(comparison.IsRenamed);
        }
コード例 #23
0
ファイル: ItemComparerTests.cs プロジェクト: csteeg/Rainbow
        public void ItemComparer_IsNotEqual_WhenMoved()
        {
            var comparer = new TestItemComparer();

            var sourceItem = new FakeItem(parentId:Guid.NewGuid());
            var targetItem = new FakeItem(parentId: Guid.NewGuid());

            var comparison = comparer.Compare(sourceItem, targetItem);

            Assert.False(comparison.AreEqual);
            Assert.True(comparison.IsMoved);
        }
コード例 #24
0
		public void ItemComparer_IsEqual_WhenUnversionedFieldIsInSourceOnly_AndValueIsEmpty()
		{
			var comparer = new TestItemComparer();

			var sourceItem = new FakeItem(unversionedFields: new[] { new ProxyItemLanguage(new CultureInfo("en")) { Fields = new[] { new FakeFieldValue(string.Empty) } } });
			var targetItem = new FakeItem();

			var comparison = comparer.Compare(sourceItem, targetItem);

			comparison.AreEqual.Should().BeTrue();
			comparison.ChangedUnversionedFields.Length.Should().Be(0);
		}