public void PublicConstructor_ShouldReturn_NewInstance() { var sft = new SimpleFeatureToggle(new SimpleFeatureToggleConfiguration { FeatureLoadingStrategy = new InMemoryFeatureLoadingStrategy() }); Assert.IsNotNull(sft); }
public void Find_When_FeatureDoesNotExist_ShouldReturn_Null() { const string testFileName = "test.json"; _fileReader .Setup(x => x.ReadToEnd(testFileName)) .Returns("{\"MY_FEATURE\": 1}"); var sft = new SimpleFeatureToggle(new SimpleFeatureToggleConfiguration { FeatureLoadingStrategy = new FileFeatureLoadingStrategy(testFileName, _fileReader.Object) }); var result = sft.Find("NOT_A_FEATURE"); Assert.IsNull(result); }
public void GetFeatures_When_FileLoaderRaisesException_ShouldReturn_EmptyCollectionOf_Features() { const string testFileName = "test.json"; _fileReader .Setup(x => x.ReadToEnd(testFileName)) .Throws(new Exception()); var sft = new SimpleFeatureToggle(new SimpleFeatureToggleConfiguration { FeatureLoadingStrategy = new FileFeatureLoadingStrategy(testFileName, _fileReader.Object) }); var result = sft.GetFeatures().ToArray(); Assert.AreEqual(0, result.Length); }
public void IsEnabled_When_FeatureNotFound_ShouldReturn_DefaultValue(bool defaultValue) { const string testFileName = "test.json"; _fileReader .Setup(x => x.ReadToEnd(testFileName)) .Returns("{\"MY_FEATURE\": " + Convert.ToInt32(defaultValue) + "}"); var sft = new SimpleFeatureToggle(new SimpleFeatureToggleConfiguration { FeatureLoadingStrategy = new FileFeatureLoadingStrategy(testFileName, _fileReader.Object) }); var result = sft.IsEnabled("MY_FEATURE", defaultValue); Assert.AreEqual(defaultValue, result); }
public void IsEnabled_ShouldReturn_FeatureEnabled() { const string testFileName = "test.json"; _fileReader .Setup(x => x.ReadToEnd(testFileName)) .Returns("{\"MY_FEATURE\": 1}"); var sft = new SimpleFeatureToggle(new SimpleFeatureToggleConfiguration { FeatureLoadingStrategy = new FileFeatureLoadingStrategy(testFileName, _fileReader.Object) }); var result = sft.IsEnabled("MY_FEATURE"); Assert.IsTrue(result); }
public void GetFeatures_ShouldReturn_CollectionOf_Features() { const string testFileName = "test.json"; _fileReader .Setup(x => x.ReadToEnd(testFileName)) .Returns("{\"test\": 1}"); var sft = new SimpleFeatureToggle(new SimpleFeatureToggleConfiguration { FeatureLoadingStrategy = new FileFeatureLoadingStrategy(testFileName, _fileReader.Object) }); var result = sft.GetFeatures().ToArray(); Assert.AreEqual(1, result.Length); Assert.AreEqual("test", result[0].Name); Assert.IsTrue(result[0].Enabled); }