public void DecodeMessage()
        {
            //arrange
            var _messageRecoveryService = new MessageRecoveryService(_satelliteRepository.Object, _receivedMessageRepository.Object);

            var receivedMessages = new List <ReceivedMessage>()
            {
                new ReceivedMessage()
                {
                    Distance = 112, SatelliteName = "sato", Message = new string[] { "este", "es", "un", "", "" }
                },
                new ReceivedMessage()
                {
                    Distance = 120, SatelliteName = "kenobi", Message = new string[] { "este", "es", "", "mensaje", "" }
                },
                new ReceivedMessage()
                {
                    Distance = 112, SatelliteName = "skywalker", Message = new string[] { "este", "", "", "", "secreto" }
                }
            };

            //act

            var result = _messageRecoveryService.GetMessage(receivedMessages);

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Message, "este es un mensaje secreto");
        }
        public void MessageRecoveryThrowException()
        {
            //arrange
            var _messageRecoveryService = new MessageRecoveryService(_satelliteRepository.Object, _receivedMessageRepository.Object);

            var receivedMessages = new List <ReceivedMessage>()
            {
                new ReceivedMessage()
                {
                    Distance = 112, SatelliteName = "sato", Message = new string[] { "este", "es", "un", "", "" }
                },
                new ReceivedMessage()
                {
                    Distance = 120, SatelliteName = "kenobi", Message = new string[] { "este", "es", "un", "", "" }
                },
                new ReceivedMessage()
                {
                    Distance = 112, SatelliteName = "skywalker", Message = new string[] { "este", "es", "un", "", "" }
                }
            };

            //act + assert
            Assert.ThrowsException <CantRecoverMessageException>(() => _messageRecoveryService.GetMessage(receivedMessages));
        }