// File: /workspace/github_c_makefile_star2_O3/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 0x3d07(%rip), %rax      # 0x7f6d
movq %rax, 0x7f23(%rip)      # 0xc190
movl $0x3, %ebp
movl %ebp, 0x4c(%rbx)
leaq 0x7ea4(%rip), %r14      # 0xc120
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2613
movslq %eax, %rsi
movl $0x1c6, %ecx            # imm = 0x1C6
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x5480
movslq 0x38(%rbx), %rsi
movl $0x6, %edi
movl $0x1c7, %ecx            # imm = 0x1C7
xorl %edx, %edx
movl $0x14, %r8d
callq 0x5480
movq 0x30(%rbx), %rsi
leaq 0x3b87(%rip), %r15      # 0x7e4b
movl $0x1c8, %ecx            # imm = 0x1C8
movq %r15, %rdi
xorl %edx, %edx
callq 0x5e70
leaq 0x3b78(%rip), %rax      # 0x7e52
movq %rax, 0x7eaf(%rip)      # 0xc190
movl $0xb, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2613
movslq %eax, %rsi
movl $0x1d1, %ecx            # imm = 0x1D1
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x5480
movslq 0x38(%rbx), %rsi
movl $0x70, %edi
movl $0x1d2, %ecx            # imm = 0x1D2
xorl %edx, %edx
movl $0x14, %r8d
callq 0x5480
movq 0x30(%rbx), %rsi
leaq 0x3ba9(%rip), %rdi      # 0x7ed9
movl $0x1d3, %ecx            # imm = 0x1D3
xorl %edx, %edx
callq 0x5e70
leaq 0x3c07(%rip), %rax      # 0x7f4a
movq %rax, 0x7e46(%rip)      # 0xc190
movl %ebp, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2613
movslq %eax, %rsi
movl $0x1d9, %ecx            # imm = 0x1D9
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x5480
movslq 0x38(%rbx), %rsi
movl $0x1da, %ecx            # imm = 0x1DA
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x5480
leaq 0x3bcf(%rip), %rax      # 0x7f5d
movq %rax, 0x7dfb(%rip)      # 0xc190
movl %ebp, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2613
movslq %eax, %rsi
movl $0x1e0, %ecx            # imm = 0x1E0
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x5480
movslq 0x38(%rbx), %rsi
movl $0x6, %edi
movl $0x1e1, %ecx            # imm = 0x1E1
xorl %edx, %edx
movl $0x14, %r8d
callq 0x5480
movq 0x30(%rbx), %rsi
movl $0x1e2, %ecx            # imm = 0x1E2
movq %r15, %rdi
xorl %edx, %edx
callq 0x5e70
leaq 0x3b99(%rip), %rax      # 0x7f88
movq %rax, 0x7d9a(%rip)      # 0xc190
movl %ebp, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2613
movslq %eax, %rsi
movl $0x1e7, %ecx            # imm = 0x1E7
xorl %edi, %edi
xorl %edx, %edx
movl $0x14, %r8d
callq 0x5480
movslq 0x38(%rbx), %rsi
movl $0xf6, %edi
movl $0x1e8, %ecx            # imm = 0x1E8
xorl %edx, %edx
movl $0x14, %r8d
callq 0x5480
movq 0x30(%rbx), %rsi
leaq 0x3c54(%rip), %rdi      # 0x8095
movl $0x1e9, %ecx            # imm = 0x1E9
xorl %edx, %edx
callq 0x5e70
addq $0x478, %rsp            # imm = 0x478
popq %rbx
popq %r14
popq %r15
popq %rbp
retq