Esempio n. 1
0
        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");
        }
Esempio n. 2
0
 /// <summary>Asserts the exit reason was there were no restrictions to check.</summary>
 private void AssertNoRestrictionsToCheck(RestrictionChecker sut)
 {
     AssertExitReason(
         sut,
         null,
         DebugExitReason_Restriction.NoRestrictionsToCheck
         );
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        /// <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);
        }