public OperationResult <List <List <int> > > GetData(string matrixName) { var result = new OperationResult <List <List <int> > >(); try { IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse(ipAddress), port); Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(ipPoint); byte[] data = Encoding.Unicode.GetBytes(matrixName); socket.Send(data); logger.Log(SocketServiceMessage.socketSuccessfullyConnected); data = new byte[256]; StringBuilder builder = new StringBuilder(); int bytes = 0; do { bytes = socket.Receive(data, data.Length, 0); builder.Append(Encoding.Unicode.GetString(data, 0, bytes)); }while (socket.Available > 0); string receivedData = builder.ToString(); logger.Log(receivedData); var response = JsonSerializer.Deserialize <OperationResult <string> >(receivedData); if (response.Status == OperationStatus.Ok) { result.Status = OperationStatus.Ok; result.Data = MatrixStringParser.Parse(response.Data); } else { result.Status = OperationStatus.Error; result.Message = response.Message; } socket.Shutdown(SocketShutdown.Both); socket.Close(); } catch (Exception ex) { logger.Error(ex.Message); throw ex; } return(result); }
public void MX3x3Test(string data) { var listToCompare = new List <List <int> >() { new List <int>() { 3, 2, 5 }, new List <int>() { 24, 1, 3 }, new List <int>() { 4, 5, 2 } }; var res = MatrixStringParser.Parse(data); Assert.IsTrue(TwoDimensionalListsComparator.Compare(res, listToCompare)); }