public static void Create___Should_returns_a_numeric_of_the_same_type_as_request___When_request_is_a_numeric_type() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomNumericSequenceGenerator(int.MinValue, int.MaxValue); // Act var actualByteResult = systemUnderTest.Create(typeof(byte), dummyContainer); var actualDecimalResult = systemUnderTest.Create(typeof(decimal), dummyContainer); var actualDoubleResult = systemUnderTest.Create(typeof(double), dummyContainer); var actualShortResult = systemUnderTest.Create(typeof(short), dummyContainer); var actualIntResult = systemUnderTest.Create(typeof(int), dummyContainer); var actualLongResult = systemUnderTest.Create(typeof(long), dummyContainer); var actualSbyteResult = systemUnderTest.Create(typeof(sbyte), dummyContainer); var actualFloatResult = systemUnderTest.Create(typeof(float), dummyContainer); var actualUshortesult = systemUnderTest.Create(typeof(ushort), dummyContainer); var actualUintResult = systemUnderTest.Create(typeof(uint), dummyContainer); var actualUlongResult = systemUnderTest.Create(typeof(ulong), dummyContainer); // Assert actualByteResult.Should().BeOfType <byte>(); actualDecimalResult.Should().BeOfType <decimal>(); actualDoubleResult.Should().BeOfType <double>(); actualShortResult.Should().BeOfType <short>(); actualIntResult.Should().BeOfType <int>(); actualLongResult.Should().BeOfType <long>(); actualSbyteResult.Should().BeOfType <sbyte>(); actualFloatResult.Should().BeOfType <float>(); actualUshortesult.Should().BeOfType <ushort>(); actualUintResult.Should().BeOfType <uint>(); actualUlongResult.Should().BeOfType <ulong>(); }
public static void Create___Should_returns_an_enum_of_the_same_type_as_request___When_request_is_for_an_enum() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomEnumSequenceGenerator(); var request = typeof(Number); // Act var actualResult = systemUnderTest.Create(request, dummyContainer); // Assert actualResult.Should().BeOfType <Number>(); }
public static void Create___Should_returns_an_object_equal_to_NoSpecimen___When_called_with_null_request() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomEnumSequenceGenerator(); var expectedResult = new NoSpecimen(); // Act var actualResult = systemUnderTest.Create(null, dummyContainer); // Assert actualResult.Should().Be(expectedResult); }
public static void Create___Should_return_an_object_of_type_bool___When_request_is_for_a_boolean() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomBoolSequenceGenerator(); var request = typeof(bool); // Act var actualResult = systemUnderTest.Create(request, dummyContainer); // Assert actualResult.Should().BeOfType <bool>(); }
public static void Create___Should_return_an_object_equal_to_NoSpecimen___When_request_is_not_a_boolean() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomBoolSequenceGenerator(); var expectedResult = new NoSpecimen(); var request = new object(); // Act var actualResult = systemUnderTest.Create(request, dummyContainer); // Assert actualResult.Should().Be(expectedResult); }
public static void Create___Should_return_both_true_and_false_at_least_once___When_many_requests_are_made_for_booleans() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomBoolSequenceGenerator(); var request = typeof(bool); // Act var actualResult = Enumerable.Range(1, 1000).Select(_ => systemUnderTest.Create(request, dummyContainer)).Cast <bool>().ToList(); // Assert actualResult.Should().Contain(true); actualResult.Should().Contain(false); }
public static void Create___Should_return_random_enum_values___When_multiple_requests_are_made_for_enum() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomEnumSequenceGenerator(); var request = typeof(Number); var enumValuesCount = Enum.GetValues(typeof(Number)).Length; var enumValuesInOrder = Enum.GetValues(typeof(Number)).Cast <Number>(); // Act var actualResult = Enumerable.Range(1, enumValuesCount).Select(_ => systemUnderTest.Create(request, dummyContainer)).Cast <Number>().ToList(); // Assert actualResult.Should().NotEqual(enumValuesInOrder); }
public static void Create___Should_return_all_enum_values_at_least_once___When_many_requests_are_made_for_an_enum() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomEnumSequenceGenerator(); var request = typeof(Number); var allEnumValues = Enum.GetValues(request).Cast <Number>(); // Act var actualResult = Enumerable.Range(1, 1000).Select(_ => systemUnderTest.Create(request, dummyContainer)).Cast <Number>().ToList(); // Assert foreach (var number in allEnumValues) { actualResult.Should().Contain(number); } }
public static void Create___Should_return_unique_numeric_values___When_the_number_of_calls_to_Create_equals_the_size_of_the_range_of_the_generator() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomNumericSequenceGenerator(sbyte.MinValue, sbyte.MaxValue); // Act var actualResult = new List <short>(); for (int i = sbyte.MinValue; i < sbyte.MaxValue; i++) { actualResult.Add((sbyte)systemUnderTest.Create(typeof(sbyte), dummyContainer)); } // Assert actualResult.Should().OnlyHaveUniqueItems(); }
public static void Create___Should_always_return_values_within_specified_generator_range___When_Create_is_called_many_times() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomNumericSequenceGenerator(sbyte.MinValue, sbyte.MaxValue); // Act var actualResult = new List <short>(); for (int i = 0; i < 10000; i++) { actualResult.Add((sbyte)systemUnderTest.Create(typeof(sbyte), dummyContainer)); } // Assert actualResult.ForEach(_ => _.Should().BeGreaterOrEqualTo(sbyte.MinValue)); actualResult.ForEach(_ => _.Should().BeLessThan(sbyte.MaxValue)); }
public static void Create___Should_reset_uniqueness_check___When_the_number_of_calls_to_Create_exceeds_the_size_of_the_range_of_the_generator() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomNumericSequenceGenerator(sbyte.MinValue, sbyte.MaxValue); var pastResult = new List <short>(); for (int i = sbyte.MinValue; i < sbyte.MaxValue; i++) { pastResult.Add((sbyte)systemUnderTest.Create(typeof(sbyte), dummyContainer)); } // Act var actualResult = (sbyte)systemUnderTest.Create(typeof(sbyte), dummyContainer); // Assert pastResult.Should().Contain(actualResult); }
public static void Create___Should_return_random_booleans___When_multiple_requests_are_made_for_booleans() { // Arrange var dummyContainer = new DummySpecimenContext(); var systemUnderTest = new RandomBoolSequenceGenerator(); var request = typeof(bool); var sequentialBools1 = new List <bool> { true, false, true, false, true, false, true, false }; var sequentialBools2 = new List <bool> { false, true, false, true, false, true, false, true }; // Act var actualResult = Enumerable.Range(1, sequentialBools1.Count).Select(_ => systemUnderTest.Create(request, dummyContainer)).Cast <bool>().ToList(); // Assert actualResult.Should().NotEqual(sequentialBools1); actualResult.Should().NotEqual(sequentialBools2); }