public void GenerateThrowsExceptionWithInvalidParametersTest(Type type, string referenceName)
        {
            var target = new PhoneValueGenerator();

            Action action = () => target.Generate(type, referenceName, null);

            action.ShouldThrow<NotSupportedException>();
        }
        public void GenerateThrowsExceptionWithNullTypeTest()
        {
            var target = new PhoneValueGenerator();

            Action action = () => target.Generate(null, null, null);

            action.ShouldThrow<ArgumentNullException>();
        }
        public void GenerateReturnsValuesForSeveralNameFormatsTest(Type type, string referenceName, bool expected)
        {
            var target = new PhoneValueGenerator();

            var actual = (string)target.Generate(type, referenceName, null);

            actual.Should().NotBeNullOrEmpty();
        }
        public void GenerateReturnsValueForPhoneTypeTest()
        {
            var target = new PhoneValueGenerator();

            var actual = target.Generate(typeof(string), "Cell", null);

            actual.Should().BeOfType<string>();
        }
        public void GenerateReturnsRandomValueTest()
        {
            var target = new PhoneValueGenerator();

            var first = target.Generate(typeof(string), "cell", null);

            first.Should().BeOfType<string>();
            first.As<string>().Should().NotBeNullOrWhiteSpace();

            var second = target.Generate(typeof(string), "cell", null);

            first.Should().NotBe(second);
        }
        public void PriorityReturnsPositiveValueTest()
        {
            var target = new PhoneValueGenerator();

            target.Priority.Should().BeGreaterThan(0);
        }
        public void IsSupportedTest(Type type, string referenceName, bool expected)
        {
            var target = new PhoneValueGenerator();

            var actual = target.IsSupported(type, referenceName, null);

            actual.Should().Be(expected);
        }