Ejemplo n.º 1
0
        public void TestInvalidByteLoad()
        {
            var secret = new GameSecret();

            Assert.That(() => secret.Load((byte[])null, GameRegion.US), Throws.TypeOf <SecretException>());
            Assert.That(() => secret.Load(new byte[] { 0 }, GameRegion.US), Throws.TypeOf <SecretException>());
            Assert.That(() => secret.Load("H~2:@ ←2♦yq GB3●( 6♥?↑b", GameRegion.US), Throws.TypeOf <InvalidChecksumException>());
            Assert.That(() => secret.Load("L~2:N @bB↑& hmRh= HHHH↑", GameRegion.US), Throws.TypeOf <ArgumentException>());
        }
Ejemplo n.º 2
0
        public void LoadSecretFromBytes()
        {
            var secret = new GameSecret();

            secret.Load(desiredSecretBytes, GameRegion.US);
            Assert.AreEqual(DesiredSecret, secret);
        }
Ejemplo n.º 3
0
        public void LoadSecretFromString()
        {
            GameSecret secret = new GameSecret();
            secret.Load(DesiredSecretString);

            Assert.AreEqual(DesiredSecret, secret);
        }
Ejemplo n.º 4
0
        public void LoadSecretFromString_JP()
        {
            var secret = new GameSecret();

            secret.Load(desiredSecretString_JP, GameRegion.JP);

            Assert.AreEqual(DesiredSecret_JP, secret);
        }
Ejemplo n.º 5
0
        public void LoadSecretFromString()
        {
            GameSecret secret = new GameSecret();
            secret.Load(DesiredSecretString);

            Assert.AreEqual("Link", secret.Hero);
            Assert.AreEqual("Pip", secret.Child);
            Assert.AreEqual(Game.Ages, secret.TargetGame);
            Assert.AreEqual(14129, secret.GameID);
            Assert.AreEqual(Animal.Dimitri, secret.Animal);
            Assert.AreEqual(ChildBehavior.BouncyD, secret.Behavior);
            Assert.AreEqual(true, secret.IsLinkedGame);
            Assert.AreEqual(false, secret.IsHeroQuest);
        }
Ejemplo n.º 6
0
        public void LoadSecretFromString()
        {
            GameSecret secret = new GameSecret();

            secret.Load(DesiredSecretString);

            Assert.AreEqual("Link", secret.Hero);
            Assert.AreEqual("Pip", secret.Child);
            Assert.AreEqual(Game.Ages, secret.TargetGame);
            Assert.AreEqual(14129, secret.GameID);
            Assert.AreEqual(Animal.Dimitri, secret.Animal);
            Assert.AreEqual(ChildBehavior.BouncyD, secret.Behavior);
            Assert.AreEqual(true, secret.IsLinkedGame);
            Assert.AreEqual(false, secret.IsHeroQuest);
        }
Ejemplo n.º 7
0
        private void btnDone_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (GameInfo == null)
                {
                    GameInfo = new GameInfo()
                    {
                        Region = _region
                    }
                }
                ;
                var trimmedData = data.Take(currentPic.Clamp(0, _secretLength)).ToArray();

                switch (Mode)
                {
                case SecretType.Game:
                    GameSecret gs = new GameSecret();
                    gs.Load(trimmedData, _region);
                    gs.UpdateGameInfo(GameInfo);
                    break;

                case SecretType.Ring:
                    RingSecret rs = new RingSecret();
                    rs.Load(trimmedData, _region);
                    rs.UpdateGameInfo(GameInfo, chkAppendRings.IsChecked == true);
                    break;

                case SecretType.Memory:
                    MemorySecret ms = new MemorySecret();
                    ms.Load(trimmedData, _region);
                    // Now what?
                    break;
                }

                this.Close();
            }
            catch (SecretException ex)
            {
                MessageBox.Show(ex.Message, "Invalid Secret", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Ejemplo n.º 8
0
        protected void OnButtonOkPressed(object sender, EventArgs e)
        {
            try
            {
                if (GameInfo == null)
                {
                    GameInfo = new GameInfo();
                }
                var trimmedData = data.Take(currentPic.Clamp(0, _secretLength)).ToArray();

                switch (Mode)
                {
                case SecretType.Game:
                    GameSecret gs = new GameSecret(_region);
                    gs.Load(trimmedData);
                    gs.UpdateGameInfo(GameInfo);
                    break;

                case SecretType.Ring:
                    RingSecret rs = new RingSecret(_region);
                    rs.Load(trimmedData);
                    rs.UpdateGameInfo(GameInfo, chkAppendRings.Active);
                    break;

                case SecretType.Memory:
                    MemorySecret ms = new MemorySecret(_region);
                    ms.Load(trimmedData);
                    // Now what?
                    break;
                }

                this.Respond(ResponseType.Ok);
            }
            catch (InvalidSecretException ex)
            {
                MessageBox.Show(ex.Message, "Invalid Secret", ButtonsType.Ok, MessageType.Error);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", ButtonsType.Ok, MessageType.Error);
            }
        }
Ejemplo n.º 9
0
        public void TestLoadSlot3()
        {
            string tempFile = Path.GetTempFileName();
            var    asm      = Assembly.GetExecutingAssembly();

            using (Stream s = asm.GetManifestResourceStream("Zyrenth.Zora.Tests.TestSaves.Ages_JP.srm"))
                using (FileStream fs = File.OpenWrite(tempFile))
                {
                    s.CopyTo(fs);
                }
            GameInfo info = BatteryFileLoader.Load(tempFile, GameRegion.JP, BatteryFileLoader.Slot3Offset);

            Assert.IsNotNull(info);

            var gs   = new GameSecret();
            var test = new GameInfo();

            gs.Load("かね69わ 4さをれか さ7ちわも るこぴりお", GameRegion.JP);
            gs.UpdateGameInfo(test);
            Assert.AreEqual(test, info);
        }
Ejemplo n.º 10
0
 public void LoadSecretFromBytes()
 {
     GameSecret secret = new GameSecret();
     secret.Load(DesiredSecretBytes);
     Assert.AreEqual(DesiredSecret, secret);
 }
Ejemplo n.º 11
0
 public void LoadFromGameInfo()
 {
     GameSecret secret = new GameSecret();
     secret.Load(GameInfoTest.DesiredInfo);
     Assert.AreEqual(DesiredSecret, secret);
 }