public void GivenNoRestrictionsSetupThenEmptyResultsReturned() { // Arrange var noRestrictions = ImmutableList <Restriction> .Empty; var salesArea = Fixture.Create <SalesArea>(); var sut = new RestrictionChecker( noRestrictions, null, null, null, null, null); // Act var result = sut.CheckRestrictions( null, null, null, salesArea, null, null); // Assert AssertNoRestrictionsToCheck(sut); _ = result.Should().BeEmpty("no restrictions found"); }
/// <summary>Asserts the exit reason was there were no restrictions to check.</summary> private void AssertNoRestrictionsToCheck(RestrictionChecker sut) { AssertExitReason( sut, null, DebugExitReason_Restriction.NoRestrictionsToCheck ); }
public CheckRestrictionsTests(ITestOutputHelper output) : base(output) { var restrictions = new[] { _basicRestriction, _excludeLiveProgrammeRestriction, _schoolHolidayExcludedRestriction, _schoolHolidayIncludedRestriction, _publicHolidayIncludedRestriction, _publicHolidayExcludedRestriction, _restrictionTypeTimeMatchesClashOneCode, _restrictionTypeProgrammeMatchesClashOneCode }.ToImmutableList(); _restrictionsIdCache.Add(nameof(_basicRestriction), _basicRestriction.Uid); _restrictionsIdCache.Add(nameof(_excludeLiveProgrammeRestriction), _excludeLiveProgrammeRestriction.Uid); _restrictionsIdCache.Add(nameof(_schoolHolidayExcludedRestriction), _schoolHolidayExcludedRestriction.Uid); _restrictionsIdCache.Add(nameof(_schoolHolidayIncludedRestriction), _schoolHolidayIncludedRestriction.Uid); _restrictionsIdCache.Add(nameof(_publicHolidayIncludedRestriction), _publicHolidayIncludedRestriction.Uid); _restrictionsIdCache.Add(nameof(_publicHolidayExcludedRestriction), _publicHolidayExcludedRestriction.Uid); _restrictionsIdCache.Add(nameof(_restrictionTypeTimeMatchesClashOneCode), _restrictionTypeTimeMatchesClashOneCode.Uid); _restrictionsIdCache.Add(nameof(_restrictionTypeProgrammeMatchesClashOneCode), _restrictionTypeProgrammeMatchesClashOneCode.Uid); var oneClash = Fixture .Build <Clash>() .With(p => p.Externalref, ClashOneExternalRefCode) .Create(); var clashes = new[] { oneClash }; var productOne = Fixture .Build <Product>() .With(p => p.Externalidentifier, ProductOneExternalId) .With(p => p.ClashCode, oneClash.Externalref) .Create(); var products = new[] { productOne }.ToList(); _sut = new RestrictionChecker( restrictions, products, clashes, null, null, null); }
/// <summary>Asserts the exit reason.</summary> /// <param name="restrictionToCheck">The unique id of a restriction to check. /// Pass <c>null</c> for no restrictions to check.</param> /// <param name="expectedExitReason">The expected exit reason.</param> private void AssertExitReason( RestrictionChecker sut, string restrictionToCheck, DebugExitReason_Restriction expectedExitReason ) { Guid restrictionId = restrictionToCheck is null ? Guid.Empty : GetRestrictionId(restrictionToCheck); _ = sut.ExitReasons.First(x => x.restrictionId == restrictionId) .exitReason.Should() .Be(expectedExitReason, null); }