コード例 #1
0
        public async void should_correctly_encrypt_save_then_reload()
        {
            var filename = "encrypted_save.bin";

            Console.WriteLine("{0}/{1}", Environment.CurrentDirectory, filename);

            var serializer          = new JsonSerializer();
            var deserializer        = new JsonDeserializer();
            var encryptor           = new AesEncryptor("dummy-password-123");
            var encryptionProcessor = new EncryptDataProcessor(encryptor);
            var decryptionProcessor = new DecryptDataProcessor(encryptor);
            var fileEndpoint        = new FileEndpoint(filename);

            var dummyData       = GameData.CreateRandom();
            var output          = serializer.Serialize(dummyData);
            var encryptedOutput = await encryptionProcessor.Process(output);

            await fileEndpoint.Send(encryptedOutput);

            var data = await fileEndpoint.Receive();

            var decryptedData = await decryptionProcessor.Process(data);

            var outputModel = deserializer.Deserialize <GameData>(decryptedData);

            Assert.AreEqual(dummyData, outputModel);
        }