public void GetCacheKey_used_twice_on_different_instances_with_same_parameters_returns_the_same_result_if_second_is_constructed_using_values_from_first(NamespacedRegionCacheKeyProvider sut,
                                                                                                                                                                string key,
                                                                                                                                                                string region)
        {
            var firstKey  = sut.GetCacheKey(key, region);
            var sut2      = new NamespacedRegionCacheKeyProvider(sut.RegionNamesToKeys, sut.NullRegionKey);
            var secondKey = sut2.GetCacheKey(key, region);

            Assert.That(secondKey, Is.EqualTo(firstKey), "Keys should be equal (although their exact values will be indeterminate)");
        }
        public void GetCacheKey_used_twice_on_different_instances_with_same_original_key_and_null_region_returns_different_result(NamespacedRegionCacheKeyProvider sut1,
                                                                                                                                  NamespacedRegionCacheKeyProvider sut2,
                                                                                                                                  string key)
        {
            var firstKey  = sut1.GetCacheKey(key, null);
            var secondKey = sut2.GetCacheKey(key, null);

            Assert.That(secondKey, Is.Not.EqualTo(firstKey), "Keys should not be equal (although their exact values will be indeterminate)");
        }
        public void GetCacheKey_used_twice_with_same_parameters_returns_the_same_result(NamespacedRegionCacheKeyProvider sut,
                                                                                        string key, string region)
        {
            var firstKey  = sut.GetCacheKey(key, region);
            var secondKey = sut.GetCacheKey(key, region);

            Assert.That(secondKey, Is.EqualTo(firstKey), "Keys should be equal (although their exact values will be indeterminate)");
        }