public void ShouldBeAbleToRunSingleParameterSpecificationUsingOneLine() { var content = new[] { "someflag.ParameterSpecification." + SpecificationWithParameter.ParameterName + "=true" }; var mappings = new DefaultSpecificationMappings(); mappings.AddMapping("parameterspecification", new SpecificationWithParameter()); var fileProvider = new FileParser(new FileReaderStub(content), mappings); var toggleChecker = new ToggleConfiguration(fileProvider).Create(); toggleChecker.IsEnabled("someflag") .Should().Be.True(); }
public void ShouldThrowIfParameterIsUsedAndMoreThanTwoDotsExist() { var content = new[] { "myfeature=ParameterSpecification", "myfeature.ParameterSpecification.three.four=true" }; var mappings = new DefaultSpecificationMappings(); mappings.AddMapping("parameterSpecification", new SpecificationWithParameter()); var fileProvider = new FileParser(new FileReaderStub(content), mappings); Assert.Throws<IncorrectTextFileException>(() => new ToggleConfiguration(fileProvider).Create() ).ToString() .Should().Contain(string.Format(FileParser.MustHaveTwoDotsIfParameterUse, 2)); }
public void ShouldBeDisabled() { var content = new[] { "someflag=ParametersSpecification", "someflag.ParametersSpecification." + SpecificationWithMultipleParameters.ParameterName1 + "=true", "someflag.ParametersSpecification." + SpecificationWithMultipleParameters.ParameterName2 + "=false", "someflag.ParametersSpecification." + SpecificationWithMultipleParameters.ParameterName3 + "=true" }; var mappings = new DefaultSpecificationMappings(); mappings.AddMapping("parametersSpecification", new SpecificationWithMultipleParameters()); var fileProvider = new FileParser(new FileReaderStub(content), mappings); var toggleChecker = new ToggleConfiguration(fileProvider).Create(); toggleChecker.IsEnabled("someflag") .Should().Be.False(); }
public void ShouldThrowIfParameterIsDeclaredMoreThanOnce() { var content = new[] { "someflag=ParameterSpecification", "someflag.ParameterSpecification." + SpecificationWithParameter.ParameterName + "=true", "someflag.ParameterSpecification." + SpecificationWithParameter.ParameterName + "=true" }; var mappings = new DefaultSpecificationMappings(); mappings.AddMapping("parameterSpecification", new SpecificationWithParameter()); var fileProvider = new FileParser(new FileReaderStub(content), mappings); Assert.Throws<IncorrectTextFileException>(() => new ToggleConfiguration(fileProvider).Create() ).ToString() .Should().Contain(string.Format(FileParser.MustOnlyContainSameParameterOnce, SpecificationWithParameter.ParameterName, 3)); }