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); }