public async Task SetPackageLicenseKind(string newValue, string?currentExpressionPropertyValue, string?currentFilePropertyValue, string?expectedExpressionPropertyValue, string?expectedFilePropertyValue, string?expectedStoredValue)
        {
            Dictionary <string, string> storageDictionary = new();
            var storage = ITemporaryPropertyStorageFactory.Create(storageDictionary);

            Dictionary <string, string?> defaultPropertiesDictionary = new();

            defaultPropertiesDictionary["PackageLicenseExpression"] = currentExpressionPropertyValue;
            defaultPropertiesDictionary["PackageLicenseFile"]       = currentFilePropertyValue;
            var defaultProperties = IProjectPropertiesFactory.CreateWithPropertiesAndValues(defaultPropertiesDictionary);

            var provider = new PackageLicenseKindValueProvider(storage);
            await provider.OnSetPropertyValueAsync("", newValue, defaultProperties);

            defaultPropertiesDictionary.TryGetValue("PackageLicenseExpression", out string?finalExpressionPropertyValue);
            defaultPropertiesDictionary.TryGetValue("PackageLicenseFile", out string?finalFilePropertyValue);
            storageDictionary.TryGetValue("PackageLicenseKind", out string?finalStoredValue);

            Assert.Equal(expectedExpressionPropertyValue, finalExpressionPropertyValue);
            Assert.Equal(expectedFilePropertyValue, finalFilePropertyValue);
            Assert.Equal(expectedStoredValue, finalStoredValue);
        }
        public async Task GetPackageLicenseKind(string?expressionPropertyValue, string?filePropertyValue, string?storedValue, string expectedValue)
        {
            Dictionary <string, string>?storedValues = null;

            if (storedValue is not null)
            {
                storedValues = new Dictionary <string, string>
                {
                    { "PackageLicenseKind", storedValue }
                };
            }
            var storage           = ITemporaryPropertyStorageFactory.Create(storedValues);
            var provider          = new PackageLicenseKindValueProvider(storage);
            var defaultProperties = IProjectPropertiesFactory.CreateWithPropertiesAndValues(new Dictionary <string, string?>
            {
                { "PackageLicenseExpression", expressionPropertyValue },
                { "PackageLicenseFile", filePropertyValue }
            });

            var kindValue = await provider.OnGetEvaluatedPropertyValueAsync(string.Empty, string.Empty, defaultProperties);

            Assert.Equal(expected: expectedValue, actual: kindValue);
        }