public void GetManifestItemShouldThrowIfAncestorIsNegative([ManifestModel] ModelToManifestConversionContext context, ContextToRecursiveManifestItemConverter sut) { context.ConversionType = ModelToManifestConversionType.RecursiveManifestValue; context.CurrentValue.ValidateRecursivelyAsAncestor = -1; Assert.That(() => sut.GetManifestItem(context), Throws.InstanceOf <ValidationException>()); }
public void GetManifestItemShouldThrowIfNotEnoughAncestors([ManifestModel] ModelToManifestConversionContext context, ContextToRecursiveManifestItemConverter sut, [ManifestModel] ManifestValue parent, [ManifestModel] ManifestValue grandparent) { parent.Parent = grandparent; context.ParentManifestValue = parent; grandparent.Parent = null; context.ConversionType = ModelToManifestConversionType.RecursiveManifestValue; context.CurrentValue.ValidateRecursivelyAsAncestor = 3; Assert.That(() => sut.GetManifestItem(context), Throws.InstanceOf <ValidationException>()); }
public void GetManifestItemShouldReturnARecuriveManifestItem([ManifestModel] ModelToManifestConversionContext context, ContextToRecursiveManifestItemConverter sut, [ManifestModel] ManifestValue parent, [ManifestModel] ManifestValue grandparent) { parent.Parent = grandparent; context.ParentManifestValue = parent; context.ConversionType = ModelToManifestConversionType.RecursiveManifestValue; context.CurrentValue.ValidateRecursivelyAsAncestor = 2; var result = sut.GetManifestItem(context); Assert.Multiple(() => { Assert.That(result, Is.InstanceOf <RecursiveManifestValue>(), "Correct type"); Assert.That(result, Has.Property(nameof(RecursiveManifestValue.WrappedValue)).SameAs(grandparent), "Correct wrapped value"); Assert.That(result, Has.Property(nameof(IManifestValue.MemberName)).EqualTo(context.MemberName), "Correct member name"); Assert.That(result, Has.Property(nameof(IManifestValue.AccessorFromParent)).EqualTo(context.AccessorFromParent), "Correct accessor"); Assert.That(parent.Children, Does.Contain(result), "Parent contains the result"); }); }