public void Given_ParcelWithSpecificSize_Should_ReturnValidResultWithCorrectParcelTypeDefinition(decimal width,
                                                                                                         decimal length, decimal height, ParcelType expectedParcelType, decimal expectedCost,
                                                                                                         decimal expectedWeightLimit)
        {
            //Arrange
            var sut    = new ParcelMetadataProvider();
            var parcel = new Parcel(width, length, height, 0);

            //Act
            var result = sut.ResolveParcelMetadata(parcel);

            //Assert
            result.Should().NotBeNull();
            result.Cost.Should().Be(expectedCost);
            result.ParcelType.Should().Be(expectedParcelType);
            result.WightLimit.Should().Be(expectedWeightLimit);
        }
        public void Given_ParcelWithHeavyWeight_Should_ReturnValidResultWithCorrectParcelTypeDefinition(
            decimal dimension, decimal weight, ParcelType expectedParcelType, decimal expectedCost,
            decimal expectedWeightLimit, decimal expectedOverweightCost)
        {
            //Arrange
            var sut    = new ParcelMetadataProvider();
            var parcel = new Parcel(dimension, dimension, dimension, weight);

            //Act
            var result = sut.ResolveParcelMetadata(parcel);

            //Assert
            result.Should().NotBeNull();
            result.Cost.Should().Be(expectedCost);
            result.ParcelType.Should().Be(expectedParcelType);
            result.WightLimit.Should().Be(expectedWeightLimit);
            result.OverweightCost.Should().Be(expectedOverweightCost);
        }