// File: /workspace/github_c_makefile_star2_O1/connycommy[P]atCmdDevice/src/test/TestProductionCode.c
// Function: test_modem_SocketGetRecv
void test_modem_SocketGetRecv(){
    char bufferRecv[CM_BUFFER_LEN_DEF] ;


    cmError_t retValue = CM_FAIL;
    cellModemConfig_t config =CELLMODEMCONFIG_INITIALIZER;
    socketData_t configSocket =SOCKETDATA_INITIALIZER;
    configSocket.msgRecv = bufferRecv;
    configSocket.buffRcvLen = CM_BUFFER_LEN_DEF;
   MockResponseExpected = CM_CMD_MOCK_QIRD_RESPONSE;

    configSocket.connectId = config.connectId = 3;
    retValue = cellModem_SocketGetRecv(&cmData,&configSocket);
    TEST_ASSERT_EQUAL_INT32(CM_OK,retValue);
    TEST_ASSERT_EQUAL_INT32(6, configSocket.msgLen);
    TEST_ASSERT_EQUAL_STRING("julian",configSocket.msgRecv);

  
   // memset(bufferRecv,0,sizeof(bufferRecv));
    MockResponseExpected = CM_CMD_MOCK_QIRD_RESPONSE_LONG;

    configSocket.connectId = config.connectId = 11;
    
    retValue = cellModem_SocketGetRecv(&cmData,&configSocket);
    TEST_ASSERT_EQUAL_INT32(CM_OK,retValue);
    TEST_ASSERT_EQUAL_INT32(112, configSocket.msgLen);
    TEST_ASSERT_EQUAL_STRING("7EA036610330A166E6E7006128A109060760857405080102A203020101A305A10302010DBE0F040D0800065F04001802201388FA0074EA7E",configSocket.msgRecv);

    MockResponseExpected = CM_CMD_MOCK_QIRD_RESPONSE_EMPTY_BUFF;

    configSocket.connectId = config.connectId = 3;
    retValue = cellModem_SocketGetRecv(&cmData,&configSocket);
    TEST_ASSERT_EQUAL_INT32(CM_OK,retValue);
    TEST_ASSERT_EQUAL_INT32(0, configSocket.msgLen);
    //TEST_ASSERT_EQUAL_STRING(" ",configSocket.msgRecv);

    MockResponseExpected = CM_CMD_MOCK_QIRD_RESPONSE_ECHO;
    configSocket.connectId = config.connectId = 3;
    retValue = cellModem_SocketGetRecv(&cmData,&configSocket);
    TEST_ASSERT_EQUAL_INT32(CM_OK,retValue);
    TEST_ASSERT_EQUAL_INT32(6, configSocket.msgLen);
    TEST_ASSERT_EQUAL_STRING("julian",configSocket.msgRecv);

    MockResponseExpected = CM_CMD_MOCK_QIRD_RESPONSE_STR;
    configSocket.connectId = config.connectId = 3;
    retValue = cellModem_SocketGetRecv(&cmData,&configSocket);
    TEST_ASSERT_EQUAL_INT32(CM_OK,retValue);
    TEST_ASSERT_EQUAL_INT32(246, configSocket.msgLen);
    TEST_ASSERT_EQUAL_STRING("Buenas a todos! Estaba chusmeando el proyecto. Los navigation devices esten teniendo un conjunto de posiciones, que se espera hacer con eso? Ponemos todas las posiciones en el mapa, hacemos un calculo en el front, que representan esas posiciones?",configSocket.msgRecv);
    
  
   }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x478, %rsp            # imm = 0x478
xorps %xmm0, %xmm0
movq %rsp, %rbx
movaps %xmm0, 0x30(%rbx)
movaps %xmm0, 0x40(%rbx)
movaps %xmm0, 0x60(%rbx)
movaps %xmm0, 0x50(%rbx)
movaps %xmm0, 0x20(%rbx)
movaps %xmm0, 0x10(%rbx)
movaps %xmm0, (%rbx)
leaq 0x70(%rsp), %rax
movq %rax, 0x30(%rbx)
movq $0x400, 0x40(%rbx)      # imm = 0x400
leaq 0x3cd0(%rip), %rax      # 0x7f6d
movq %rax, 0x7eec(%rip)      # 0xc190
movl $0x3, %ebp
movl %ebp, 0x4c(%rbx)
leaq 0x7e6d(%rip), %r14      # 0xc120
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2638
movslq %eax, %rsi
movl $0x1c6, %ecx            # imm = 0x1C6
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x540d
movslq 0x38(%rbx), %rsi
movl $0x6, %edi
movl $0x1c7, %ecx            # imm = 0x1C7
xorl %edx, %edx
movl $0x14, %r8d
callq 0x540d
movq 0x30(%rbx), %rsi
leaq 0x3b50(%rip), %r15      # 0x7e4b
movl $0x1c8, %ecx            # imm = 0x1C8
movq %r15, %rdi
xorl %edx, %edx
callq 0x5dd3
leaq 0x3b41(%rip), %rax      # 0x7e52
movq %rax, 0x7e78(%rip)      # 0xc190
movl $0xb, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2638
movslq %eax, %rsi
movl $0x1d1, %ecx            # imm = 0x1D1
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x540d
movslq 0x38(%rbx), %rsi
movl $0x70, %edi
movl $0x1d2, %ecx            # imm = 0x1D2
xorl %edx, %edx
movl $0x14, %r8d
callq 0x540d
movq 0x30(%rbx), %rsi
leaq 0x3b72(%rip), %rdi      # 0x7ed9
movl $0x1d3, %ecx            # imm = 0x1D3
xorl %edx, %edx
callq 0x5dd3
leaq 0x3bd0(%rip), %rax      # 0x7f4a
movq %rax, 0x7e0f(%rip)      # 0xc190
movl %ebp, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2638
movslq %eax, %rsi
movl $0x1d9, %ecx            # imm = 0x1D9
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x540d
movslq 0x38(%rbx), %rsi
movl $0x1da, %ecx            # imm = 0x1DA
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x540d
leaq 0x3b98(%rip), %rax      # 0x7f5d
movq %rax, 0x7dc4(%rip)      # 0xc190
movl %ebp, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2638
movslq %eax, %rsi
movl $0x1e0, %ecx            # imm = 0x1E0
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x540d
movslq 0x38(%rbx), %rsi
movl $0x6, %edi
movl $0x1e1, %ecx            # imm = 0x1E1
xorl %edx, %edx
movl $0x14, %r8d
callq 0x540d
movq 0x30(%rbx), %rsi
movl $0x1e2, %ecx            # imm = 0x1E2
movq %r15, %rdi
xorl %edx, %edx
callq 0x5dd3
leaq 0x3b62(%rip), %rax      # 0x7f88
movq %rax, 0x7d63(%rip)      # 0xc190
movl %ebp, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2638
movslq %eax, %rsi
movl $0x1e7, %ecx            # imm = 0x1E7
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x540d
movslq 0x38(%rbx), %rsi
movl $0xf6, %edi
movl $0x1e8, %ecx            # imm = 0x1E8
xorl %edx, %edx
movl $0x14, %r8d
callq 0x540d
movq 0x30(%rbx), %rsi
leaq 0x3c1d(%rip), %rdi      # 0x8095
movl $0x1e9, %ecx            # imm = 0x1E9
xorl %edx, %edx
callq 0x5dd3
addq $0x478, %rsp            # imm = 0x478
popq %rbx
popq %r14
popq %r15
popq %rbp
retq