Browse Source
Extract KDF logic into a new Range class. Increase minimum iterations for PBKDF.pull/3523/head
10 changed files with 132 additions and 34 deletions
@ -0,0 +1,69 @@
@@ -0,0 +1,69 @@
|
||||
using Xunit; |
||||
|
||||
namespace Bit.Core.Test; |
||||
|
||||
public class ConstantsTests |
||||
{ |
||||
public class RangeConstantTests |
||||
{ |
||||
[Fact] |
||||
public void Constructor_WithValidValues_SetsProperties() |
||||
{ |
||||
// Arrange |
||||
const int min = 0; |
||||
const int max = 10; |
||||
const int defaultValue = 5; |
||||
|
||||
// Act |
||||
var rangeConstant = new RangeConstant(min, max, defaultValue); |
||||
|
||||
// Assert |
||||
Assert.Equal(min, rangeConstant.Min); |
||||
Assert.Equal(max, rangeConstant.Max); |
||||
Assert.Equal(defaultValue, rangeConstant.Default); |
||||
} |
||||
|
||||
[Fact] |
||||
public void Constructor_WithInvalidValues_ThrowsArgumentOutOfRangeException() |
||||
{ |
||||
Assert.Throws<ArgumentOutOfRangeException>(() => new RangeConstant(10, 0, 5)); |
||||
} |
||||
|
||||
[Fact] |
||||
public void Constructor_WithDefaultValueOutsideRange_ThrowsArgumentOutOfRangeException() |
||||
{ |
||||
Assert.Throws<ArgumentOutOfRangeException>(() => new RangeConstant(0, 10, 20)); |
||||
} |
||||
|
||||
[Theory] |
||||
[InlineData(5)] |
||||
[InlineData(0)] |
||||
[InlineData(10)] |
||||
public void InsideRange_WithValidValues_ReturnsTrue(int number) |
||||
{ |
||||
// Arrange |
||||
var rangeConstant = new RangeConstant(0, 10, 5); |
||||
|
||||
// Act |
||||
bool result = rangeConstant.InsideRange(number); |
||||
|
||||
// Assert |
||||
Assert.True(result); |
||||
} |
||||
|
||||
[Theory] |
||||
[InlineData(-1)] |
||||
[InlineData(11)] |
||||
public void InsideRange_WithInvalidValues_ReturnsFalse(int number) |
||||
{ |
||||
// Arrange |
||||
var rangeConstant = new RangeConstant(0, 10, 5); |
||||
|
||||
// Act |
||||
bool result = rangeConstant.InsideRange(number); |
||||
|
||||
// Assert |
||||
Assert.False(result); |
||||
} |
||||
} |
||||
} |
||||
Loading…
Reference in new issue