コード例 #1
0
        public void Default_TryParseExact_results_should_return_false_for_invalid_guids()
        {
            TestEnvironment.Iterate((guid, uuid) =>
            {
                // arrange
                var guidString  = guid.ToString();
                var guidString1 = guidString.Substring(1);

                // act + assert
                var guidResult1       = Guid.TryParseExact(guidString1, "D", out _);
                var uuidResult1       = Uuid.TryParseExact(guidString1, "D", out _);
                var simpleGuidResult1 = SimpleGuid.TryParseExact(guidString1, "D", out _);
                Assert.That(uuidResult1, Is.EqualTo(guidResult1));
                Assert.That(simpleGuidResult1, Is.EqualTo(guidResult1));

                AssertWithReplacement(guidString, "D", true);
            });

            var guidResult3       = Guid.TryParseExact(string.Empty, "D", out _);
            var uuidResult3       = Uuid.TryParseExact(string.Empty, "D", out _);
            var simpleGuidResult3 = SimpleGuid.TryParseExact(string.Empty, "D", out _);

            Assert.That(uuidResult3, Is.EqualTo(guidResult3));
            Assert.That(simpleGuidResult3, Is.EqualTo(guidResult3));
        }
コード例 #2
0
        public void Setup()
        {
            _guid1 = Guid.NewGuid();
            _guid2 = Guid.NewGuid();
            _guid3 = Guid.NewGuid();

            _uuid1 = new Uuid(_guid1);
            _uuid2 = new Uuid(_guid2);
            _uuid3 = new Uuid(_guid3);

            _simpleGuid1 = new SimpleGuid(_guid1);
            _simpleGuid2 = new SimpleGuid(_guid2);
            _simpleGuid3 = new SimpleGuid(_guid3);
        }
コード例 #3
0
        public void TryParseExactD_difference_for_not_strict_format()
        {
            // arrange
            string[] nonStrictPrefixes = { "+", "0x", "0X", "+0x", "+0X" };
            int[]    blockIndexes      = { 0, 9, 14, 19, 24 };

            var invalidStrings = new []
            {
                "00x000000-0000-0000-0000-000000000000",
                "00+000000-0000-0000-0000-000000000000",
            };

            foreach (var guidString in invalidStrings)
            {
                // act
                var guidResult = Guid.TryParseExact(guidString, "D", out _);

                var uuidResult       = Uuid.TryParseExact(guidString, "D", out _);
                var simpleGuidResult = SimpleGuid.TryParseExact(guidString, "D", out _);

                // assert
                Assert.That(guidResult, Is.False);
                Assert.That(uuidResult, Is.False);
                Assert.That(simpleGuidResult, Is.False);
            }

            TestEnvironment.Iterate((guid, uuid) =>
            {
                foreach (var prefix in nonStrictPrefixes)
                {
                    foreach (var blockIndex in blockIndexes)
                    {
                        var originString = guid.ToString();
                        var guidString   = originString.Remove(blockIndex, prefix.Length).Insert(blockIndex, prefix);

                        // act
                        var guidResult       = Guid.TryParseExact(guidString, "D", out var parsedGuid);
                        var uuidResult       = Uuid.TryParseExact(guidString, "D", out _);
                        var simpleGuidResult = SimpleGuid.TryParseExact(guidString, "D", out var simpleGuid);

                        // assert
                        Assert.That(guidResult, Is.True);
                        Assert.That(uuidResult, Is.False);
                        Assert.That(simpleGuidResult, Is.True);
                        Assert.That(simpleGuid.ToString(), Is.EqualTo(parsedGuid.ToString()));
                    }
                }
            });
        }
コード例 #4
0
        public void Default_TryParseExact_results_should_be_the_same_for_Guid_Uuid_and_SimpleGuid()
        {
            TestEnvironment.Iterate((guid, uuid) =>
            {
                // arrange
                var guidString = guid.ToString();

                // act
                var guidResult       = Guid.TryParseExact(guidString, "D", out var parsedGuid);
                var uuidResult       = Uuid.TryParseExact(guidString, "D", out var parsedUuid);
                var simpleGuidResult = SimpleGuid.TryParseExact(guidString, "D", out var parsedSimpleGuid);

                // assert
                Assert.That(uuidResult, Is.EqualTo(guidResult));
                Assert.That(simpleGuidResult, Is.EqualTo(guidResult));
                Assert.That(parsedUuid, Is.EqualTo(uuid));
                Assert.That(parsedUuid.ToString(), Is.EqualTo(parsedGuid.ToString()));

                Assert.That(parsedSimpleGuid.ToString(), Is.EqualTo(parsedGuid.ToString()));
            });
        }
コード例 #5
0
        private static void AssertWithReplacement(string guidString, string format, bool checkSimpleGuid = false)
        {
            char[] invalidChars = { '!', 'Z', Char.MaxValue };

            foreach (var invalidChar in invalidChars)
            {
                for (int i = 0; i < guidString.Length; i++)
                {
                    var guidString2 = guidString.Substring(0, i) + invalidChar + guidString.Substring(i, guidString.Length - i - 1);

                    var guidResult2 = Guid.TryParseExact(guidString2, format, out _);
                    var uuidResult2 = Uuid.TryParseExact(guidString2, format, out _);

                    Assert.That(uuidResult2, Is.EqualTo(guidResult2));

                    if (checkSimpleGuid)
                    {
                        var simpleGuidResult2 = SimpleGuid.TryParseExact(guidString2, format, out _);
                        Assert.That(simpleGuidResult2, Is.EqualTo(guidResult2));
                    }
                }
            }
        }
コード例 #6
0
 public bool SimpleGuidTryParseExactD()
 {
     return(SimpleGuid.TryParseExact(_stringD, "D", out _));
 }