public void RemovePriceRangeTest()
        {
            IStorage    storage     = new MockStorage();
            Preferences preferences = new Preferences(storage);

            List <string> categories = new List <string>();

            categories.Add("test_cat");
            categories.Add("test_cat2");
            categories.Add("test_cat3");

            Tuple <double, double> priceRange = new Tuple <double, double>(10.0, 100.0);

            foreach (string category in categories)
            {
                preferences.AddCategory(category);
                preferences.AddPriceRange(category, priceRange);
            }

            Assert.True(preferences.RemovePriceRange("test_cat2"));

            UserPreference userPreference = storage.GetUserPreference("test_cat2");

            Assert.Equal(0.0, userPreference._minPrice);
            Assert.Equal(0.0, userPreference._maxPrice);

            Assert.True(preferences.FindUserPreferenceFromCache("test_cat2", out userPreference));
            Assert.NotNull(userPreference);
            Assert.True(userPreference._minPrice == 0.0);
            Assert.True(userPreference._maxPrice == 0.0);
        }
        public void AddingPriceRangeTest()
        {
            IStorage    storage     = new MockStorage();
            Preferences preferences = new Preferences(storage);

            List <string> categories = new List <string>();

            categories.Add("test_cat");
            categories.Add("test_cat2");
            categories.Add("test_cat3");

            foreach (string category in categories)
            {
                preferences.AddCategory(category);
            }

            Tuple <double, double> priceRange = new Tuple <double, double>(10.0, 100.0);

            preferences.AddPriceRange("test_cat2", priceRange);

            // Check that the category was updated in the mock storage
            UserPreference userPreference = storage.GetUserPreference("test_cat2");

            Assert.Equal("test_cat2", userPreference._category);
            Assert.True(userPreference._minPrice == 10.0);
            Assert.True(userPreference._maxPrice == 100.0);

            Assert.True(preferences.FindUserPreferenceFromCache("test_cat2", out userPreference));
            Assert.NotNull(userPreference);
            Assert.True(userPreference._minPrice == 10.0);
            Assert.True(userPreference._maxPrice == 100.0);
        }