示例#1
0
        public void ParseString_JP()
        {
            string s1 = "かね6ごわ 4さをれか さ7ちわも るこぴりふ";
            string s2 = "kane 6 go wa 4 sa wore kasa 7 tiwa moru ko piriHu ";
            string s3 = "KaNe6GoWa 4SaWoReKa Sa7TiWaMo RuKoPiRiHu";
            string s4 = "KaNe6GoWa 4SaWoReKa Sa7ChiWaMo RuKoPiRiFu";

            byte[][] allSecrets = new[] {
                SecretParser.ParseSecret(s1, GameRegion.JP),
                SecretParser.ParseSecret(s2, GameRegion.JP),
                SecretParser.ParseSecret(s3, GameRegion.JP),
                SecretParser.ParseSecret(s4, GameRegion.JP)
            };
            Assert.That(allSecrets, Is.All.EquivalentTo(desiredSecretBytes_JP));
        }
示例#2
0
        public void ParseString()
        {
            string s1 = "H~2:@ ←2♦yq GB3●) 6♥?↑4";
            string s2 = "H~2:@ {left}2{diamond}yq GB3{circle}) 6{heart}?{up}4";
            string s3 = "H~2:@ left 2 diamond yq GB3 circle ) 6 heart ? up 4";
            string s4 = "H~2 :@LEFT2{dIAmoNd}yq G B3cirCle )6 heaRT}?    UP   4";

            byte[][] allSecrets = new[] {
                SecretParser.ParseSecret(s1, GameRegion.US),
                SecretParser.ParseSecret(s2, GameRegion.US),
                SecretParser.ParseSecret(s3, GameRegion.US),
                SecretParser.ParseSecret(s4, GameRegion.US)
            };
            Assert.That(allSecrets, Is.All.EquivalentTo(desiredSecretBytes));
        }
示例#3
0
        public void ParseString()
        {
            string s1 = "H~2:@ ←2♦yq GB3●( 6♥?↑6";
            string s2 = "H~2:@ {left}2{diamond}yq GB3{circle}( 6{heart}?{up}6";
            string s3 = "H~2:@ left 2 diamond yq GB3 circle ( 6 heart ? up 6";
            string s4 = "H~2 :@LEFT2{dIAmoNd}yq G B3cirCle (6 heaRT}?    UP   6";

            var allSecrets = new[] {
                SecretParser.ParseSecret(s1),
                SecretParser.ParseSecret(s2),
                SecretParser.ParseSecret(s3),
                SecretParser.ParseSecret(s4)
            };

            Assert.That(allSecrets, Is.All.EquivalentTo(DesiredSecretBytes));
        }
        private void txtSymbols_TextChanged(object sender, TextChangedEventArgs e)
        {
            // Only run parse logic when visible
            if (rdoEntryText.IsChecked == false)
            {
                return;
            }

            byte[] parsedSecret = null;
            try
            {
                parsedSecret = SecretParser.ParseSecret(txtSymbols.Text, GameRegion.US);
                _region      = GameRegion.US;
            }
            catch (SecretException)
            {
                try
                {
                    parsedSecret = SecretParser.ParseSecret(txtSymbols.Text, GameRegion.JP);
                    _region      = GameRegion.JP;
                }
                catch (SecretException) { /* Not parsable in either region */ }
            }

            if (parsedSecret == null)
            {
                return;
            }

            byte[] trimmedData = parsedSecret.Take(parsedSecret.Length.Clamp(0, _secretLength)).ToArray();

            uxSecretDisplay.SetSecret(trimmedData, _region);

            for (int i = 0; i < trimmedData.Length; ++i)
            {
                data[i] = trimmedData[i];
            }

            currentPic = (trimmedData.Length).Clamp(0, _secretLength);
        }
示例#5
0
        protected void OnTxtSymbolsChanged(object sender, EventArgs e)
        {
            if (notebook1.CurrentPage != 1)
            {
                return;
            }

            try
            {
                byte[] parsedSecret = SecretParser.ParseSecret(txtSymbols.Text, _region);
                byte[] trimmedData  = parsedSecret.Take(parsedSecret.Length.Clamp(0, _secretLength)).ToArray();

                secretwidget1.SetSecret(trimmedData, _region);

                for (int i = 0; i < trimmedData.Length; ++i)
                {
                    data[i] = trimmedData[i];
                }

                currentPic = (trimmedData.Length).Clamp(0, _secretLength);
            }
            catch (InvalidSecretException) { }
        }
        private void txtSymbols_TextChanged(object sender, TextChangedEventArgs e)
        {
            // Only run parse logic when visible
            if (rdoEntryText.IsChecked == false)
            {
                return;
            }

            try
            {
                byte[] parsedSecret = SecretParser.ParseSecret(txtSymbols.Text);
                byte[] trimmedData  = parsedSecret.Take(parsedSecret.Length.Clamp(0, _secretLength)).ToArray();

                uxSecretDisplay.SetSecret(trimmedData);

                for (int i = 0; i < trimmedData.Length; ++i)
                {
                    data[i] = trimmedData[i];
                }

                currentPic = (trimmedData.Length).Clamp(0, _secretLength);
            }
            catch (InvalidSecretException) { }
        }
示例#7
0
 public void ParseInvalidString()
 {
     SecretParser.ParseSecret("INVALID");
 }
示例#8
0
 public void ParseInvalidString()
 {
     Assert.Throws <SecretException>(() => SecretParser.ParseSecret("INVALID", GameRegion.US));
 }