Example #1
0
        public void TestAtToGetQChar()
        {
            for (var j = 0; j < this.testString.Length; j++)
            {
                char  net = this.testString[j];
                QChar q   = this.qString.At(j);

                Assert.AreEqual(net, q.ToLatin1());
            }
        }
Example #2
0
        public void TestAtToGetQChar()
        {
            for (var j = 0; j < _testString.Count(); j++)
            {
                char  net = _testString.ElementAt(0);
                QChar q   = _qString.At(0);

                Assert.AreEqual(net.ToString(), q.ToString());
            }
        }
Example #3
0
        public void TestEndsWith_WithQCharArgsCaseSensitive()
        {
            var i = _testString.Last();

            var net = _testString.EndsWith(i.ToString());

            var j = new QChar(i);

            var q = _qString.EndsWith(j);

            Assert.AreEqual(net, q);
        }
Example #4
0
        public void TestEndsWith_WithQCharArgsCaseInsensitive()
        {
            var i = _testString.ToUpper().Last();

            var net = _testString.EndsWith(i.ToString(), StringComparison.OrdinalIgnoreCase);

            var j = new QChar(i);

            var q = _qString.EndsWith(j, CaseSensitivity.CaseInsensitive);

            Assert.AreEqual(net, q);
        }
Example #5
0
        public void TestStartsWith_WithQCharArgs()
        {
            var i = _testString.Last();

            var net = _testString.StartsWith(i.ToString());

            var qs = new QChar(i);

            var q = _qString.StartsWith(qs);

            Assert.AreEqual(net, q);
        }
Example #6
0
        public void TestCountWithQCharArgsCaseInsensitive()
        {
            var r      = new Random();
            var rx     = r.Next(0, _testString.Count());
            var charac = _testString.ElementAt(rx);

            var net = Regex.Matches(_testString, @charac.ToString(), RegexOptions.IgnoreCase).Count;

            var qchar = new QChar(charac);
            var q     = _qString.Count(qchar, CaseSensitivity.CaseInsensitive);

            Assert.AreEqual(net, q);
        }
Example #7
0
        public void TestCountWithQCharArgsCaseSensitive()
        {
            var r      = new Random();
            var rx     = r.Next(0, _testString.Count());
            var charac = _testString.ElementAt(rx);

            var net = _testString.Count(x => x == charac);

            var qchar = new QChar(charac);
            var q     = _qString.Count(qchar);

            Assert.AreEqual(net, q);
        }
Example #8
0
        public void TestStartsWith_WithQCharArgs()
        {
            var i = this.testString.Last();

            var net = this.testString.StartsWith(i.ToString());

            bool q;

            using (var qs = new QChar(i))
            {
                q = this.qString.StartsWith(qs);
            }

            Assert.AreEqual(net, q);
        }
Example #9
0
        public void TestEndsWith_WithQCharArgsCaseSensitive()
        {
            var i = this.testString.Last();

            var net = this.testString.EndsWith(i.ToString());

            bool q;

            using (var j = new QChar(i))
            {
                q = this.qString.EndsWith(j);
            }

            Assert.AreEqual(net, q);
        }
Example #10
0
        public void TestCountWithQCharArgsCaseSensitive()
        {
            var r      = new Random();
            var rx     = r.Next(0, this.testString.Length);
            var charac = this.testString.ElementAt(rx);

            var net = this.testString.Count(x => x == charac);

            int q;

            using (var qchar = new QChar(charac))
            {
                q = this.qString.Count(qchar);
            }

            Assert.AreEqual(net, q);
        }
Example #11
0
        public void TestLastIndexOfQCharInQStringRef()
        {
            var r1         = new Random();
            var i1         = r1.Next(0, 60);
            var netString1 = Helper.RandomString(i1);
            var qString1   = new QStringRef(netString1);

            var r      = new Random();
            var rx     = r.Next(0, netString1.Count());
            var charac = netString1.ElementAt(rx);
            var net    = netString1.LastIndexOf(charac);

            var qChar = new QChar(charac);
            var q     = qString1.LastIndexOf(qChar);

            Assert.AreEqual(net, q);
        }
Example #12
0
        public void TestIndexOfQCharInQStringRefCaseInsensitiveWithStartIndex()
        {
            var r1         = new Random();
            var i1         = r1.Next(10, 60);
            var netString1 = Helper.RandomString(i1);
            var qString1   = new QStringRef(netString1);

            var r      = new Random();
            var rx     = r.Next(0, netString1.Count());
            var charac = netString1.ElementAt(rx);
            var net    = netString1.IndexOf(new string(charac, 1), 3, StringComparison.OrdinalIgnoreCase);

            var qChar = new QChar(charac);
            var q     = qString1.IndexOf(qChar, 3, CaseSensitivity.CaseInsensitive);

            Assert.AreEqual(net, q);
        }
Example #13
0
        public void TestCountWithQCharArgsCaseInsensitive()
        {
            var r      = new Random();
            var rx     = r.Next(0, this.testString.Length);
            var charac = char.ToLowerInvariant(this.testString.ElementAt(rx));

            var net = this.testString.Count(c => char.ToLowerInvariant(c) == charac);

            int q;

            using (var qchar = new QChar(charac))
            {
                q = this.qString.Count(qchar, CaseSensitivity.CaseInsensitive);
            }

            Assert.AreEqual(net, q);
        }
        private bool TryIntelliRecognition(
            Symbol possibleSymbol,
            EulerMonomap2D currentCharEuler,
            int height,
            out QChar @char)
        {
            @char = null;

            // TODO дорогое вычисление, пока тестовый вариант

            /*
             * Анализировать:
             * 1. Equals
             * 2. -1 < X < 1
             * 3. Количество совпадений в базе знаний что бы не опираться на косячный шрифт.
             */
            var possibleSybols = possibleSymbol.Codes.Select(
                code =>
            {
                int rounding, equals;
                _comparer.Compare(code.EulerCode, currentCharEuler, out rounding, out equals);
                return(new { EulerEquals = equals, EulerRounding = rounding });
            })

                                 // TODO Как минимум половина набора совпадает (Стоит играться)
                                 .Where(result => result.EulerEquals >= _comparer.RoundingLimit).ToArray();

            if (!possibleSybols.Any())
            {
                return(false);
            }

            var bestValue = possibleSybols[0];

            foreach (var possibleSybol in possibleSybols)
            {
                if (possibleSybol.EulerRounding > bestValue.EulerRounding)
                {
                    bestValue = possibleSybol;
                }
            }

            @char = new QChar(possibleSymbol.Chr, QState.Assumptions, bestValue.EulerEquals, bestValue.EulerRounding, possibleSybols.Length);
            return(true);
        }
Example #15
0
        public void TestContainsQStringRef_A_QCharCaseInsensitive()
        {
            var r1         = new Random();
            var i1         = r1.Next(100, 150);
            var netString1 = Helper.RandomString(i1);
            var qString1   = new QStringRef(netString1);

            var r = new Random();
            var i = r.Next(0, 30);

            var look = netString1.Substring(i, 1).ToUpper();

            var net = netString1.Contains(look, StringComparison.OrdinalIgnoreCase);
            var qs  = new QChar(look[0]);
            var q   = qString1.Contains(qs, CaseSensitivity.CaseInsensitive);

            Assert.AreEqual(net, q);
        }
Example #16
0
        public void TestContainsQStringRef_A_QCharCaseSensitive()
        {
            var r1         = new Random();
            var i1         = r1.Next(100, 150);
            var netString1 = Helper.RandomString(i1);
            var qString1   = new QStringRef(netString1);

            var r = new Random();
            var i = r.Next(0, 30);

            var look = netString1.ElementAt(i);

            var net = netString1.Contains(look);
            var qs  = new QChar(look);
            var q   = qString1.Contains(qs);

            Assert.AreEqual(net, q);
        }
Example #17
0
        public void TestIndexOfQCharInQStringRefCaseSensitiveWithStartIndex()
        {
            var r1         = new Random();
            var i1         = r1.Next(10, 60);
            var netString1 = Helper.RandomString(i1);
            int net;
            int q;

            using (var qString1 = new QStringRef(netString1))
            {
                var r      = new Random();
                var rx     = r.Next(0, netString1.Length);
                var charac = netString1.ElementAt(rx);
                net = netString1.IndexOf(charac, 5);

                using (var qChar = new QChar(charac))
                {
                    q = qString1.IndexOf(qChar, 5);
                }
            }

            Assert.AreEqual(net, q);
        }
Example #18
0
        public void TestIndexOfQCharInQStringRefCaseInsensitive()
        {
            var r1         = new Random();
            var i1         = r1.Next(0, 60);
            var netString1 = Helper.RandomString(i1);
            int net;
            int q;

            using (var qString1 = new QStringRef(netString1))
            {
                var r      = new Random();
                var rx     = r.Next(0, netString1.Length);
                var charac = netString1.ElementAt(rx);
                net = netString1.IndexOf(new string(charac, 1), StringComparison.OrdinalIgnoreCase);

                using (var qChar = new QChar(charac))
                {
                    q = qString1.IndexOf(qChar, 0, CaseSensitivity.CaseInsensitive);
                }
            }

            Assert.AreEqual(net, q);
        }
Example #19
0
        public void TestContainsQStringRef_A_QCharCaseInsensitive()
        {
            var r1 = new Random();
            var i1 = r1.Next(100, 150);
            var netString1 = Helper.RandomString(i1);
            var qString1 = new QStringRef(netString1);

            var r = new Random();
            var i = r.Next(0, 30);

            var look = netString1.Substring(i, 1).ToUpper();

            var net = netString1.Contains(look, StringComparison.OrdinalIgnoreCase);
            var qs = new QChar(look[0]);
            var q = qString1.Contains(qs, CaseSensitivity.CaseInsensitive);

            Assert.AreEqual(net, q);
        }
Example #20
0
        public void TestCountWithQCharArgsCaseInsensitive()
        {
            var r = new Random();
            var rx = r.Next(0, _testString.Count());
            var charac = _testString.ElementAt(rx);

            var net = Regex.Matches(_testString, @charac.ToString(), RegexOptions.IgnoreCase).Count;

            var qchar = new QChar(charac);
            var q = _qString.Count(qchar, CaseSensitivity.CaseInsensitive);

            Assert.AreEqual(net, q);
        }
Example #21
0
        public void TestContainsQStringRef_A_QCharCaseSensitive()
        {
            var r1 = new Random();
            var i1 = r1.Next(100, 150);
            var netString1 = Helper.RandomString(i1);
            var qString1 = new QStringRef(netString1);

            var r = new Random();
            var i = r.Next(0, 30);

            var look = netString1.ElementAt(i);

            var net = netString1.Contains(look);
            var qs = new QChar(look);
            var q = qString1.Contains(qs);

            Assert.AreEqual(net, q);
        }
Example #22
0
        public void TestLastIndexOfQCharInQStringRef()
        {
            var r1 = new Random();
            var i1 = r1.Next(0, 60);
            var netString1 = Helper.RandomString(i1);
            var qString1 = new QStringRef(netString1);

            var r = new Random();
            var rx = r.Next(0, netString1.Count());
            var charac = netString1.ElementAt(rx);
            var net = netString1.LastIndexOf(charac);

            var qChar = new QChar(charac);
            var q = qString1.LastIndexOf(qChar);

            Assert.AreEqual(net, q);
        }
Example #23
0
        public void TestCountWithQCharArgsCaseSensitive()
        {
            var r = new Random();
            var rx = r.Next(0, _testString.Count());
            var charac = _testString.ElementAt(rx);

            var net = _testString.Count(x => x == charac);

            var qchar = new QChar(charac);
            var q = _qString.Count(qchar);

            Assert.AreEqual(net, q);
        }
Example #24
0
        public void TestEndsWith_WithQCharArgsCaseInsensitive()
        {
            var i = _testString.ToUpper().Last();

            var net = _testString.EndsWith(i.ToString(), StringComparison.OrdinalIgnoreCase);

            var j = new QChar(i);

            var q = _qString.EndsWith(j, CaseSensitivity.CaseInsensitive);

            Assert.AreEqual(net, q);
        }
Example #25
0
        public void TestEndsWith_WithQCharArgsCaseSensitive()
        {
            var i = _testString.Last();

            var net = _testString.EndsWith(i.ToString());

            var j = new QChar(i);

            var q = _qString.EndsWith(j);

            Assert.AreEqual(net, q);
        }
Example #26
0
        public void TestIndexOfQCharInQStringRefCaseInsensitiveWithStartIndex()
        {
            var r1 = new Random();
            var i1 = r1.Next(10, 60);
            var netString1 = Helper.RandomString(i1);
            var qString1 = new QStringRef(netString1);

            var r = new Random();
            var rx = r.Next(0, netString1.Count());
            var charac = netString1.ElementAt(rx);
            var net = netString1.IndexOf(new string(charac, 1), 3, StringComparison.OrdinalIgnoreCase);

            var qChar = new QChar(charac);
            var q = qString1.IndexOf(qChar, 3, CaseSensitivity.CaseInsensitive);

            Assert.AreEqual(net, q);
        }
Example #27
0
        public void TestStartsWith_WithQCharArgs()
        {
            var i = _testString.Last();

            var net = _testString.StartsWith(i.ToString());

            var qs = new QChar(i);

            var q = _qString.StartsWith(qs);

            Assert.AreEqual(net, q);
        }