// File: /workspace/github_c_makefile_star2_O2/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 %r13
pushq %r12
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 0x3ebe(%rip), %rax      # 0x7f4d
movq %rax, 0x90fa(%rip)      # 0xd190
pushq $0x3
popq %r13
movl %r13d, 0x4c(%rbx)
leaq 0x907b(%rip), %r14      # 0xd120
movq %r14, %rdi
movq %rbx, %rsi
callq 0x254f
movslq %eax, %rsi
pushq $0x14
popq %rbp
movl $0x1c6, %ecx            # imm = 0x1C6
xorl %edi, %edi
xorl %edx, %edx
movl %ebp, %r8d
callq 0x507b
movslq 0x38(%rbx), %rsi
pushq $0x6
popq %r15
movl $0x1c7, %ecx            # imm = 0x1C7
movq %r15, %rdi
xorl %edx, %edx
movl %ebp, %r8d
callq 0x507b
movq 0x30(%rbx), %rsi
leaq 0x3d3f(%rip), %r12      # 0x7e2b
movl $0x1c8, %ecx            # imm = 0x1C8
movq %r12, %rdi
xorl %edx, %edx
callq 0x5a58
leaq 0x3d30(%rip), %rax      # 0x7e32
movq %rax, 0x9087(%rip)      # 0xd190
movl $0xb, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x254f
movslq %eax, %rsi
movl $0x1d1, %ecx            # imm = 0x1D1
xorl %edi, %edi
xorl %edx, %edx
movl %ebp, %r8d
callq 0x507b
movslq 0x38(%rbx), %rsi
pushq $0x70
popq %rdi
movl $0x1d2, %ecx            # imm = 0x1D2
xorl %edx, %edx
movl %ebp, %r8d
callq 0x507b
movq 0x30(%rbx), %rsi
leaq 0x3d69(%rip), %rdi      # 0x7eb9
movl $0x1d3, %ecx            # imm = 0x1D3
xorl %edx, %edx
callq 0x5a58
leaq 0x3dc7(%rip), %rax      # 0x7f2a
movq %rax, 0x9026(%rip)      # 0xd190
movl %r13d, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x254f
movslq %eax, %rsi
movl $0x1d9, %ecx            # imm = 0x1D9
xorl %edi, %edi
xorl %edx, %edx
movl %ebp, %r8d
callq 0x507b
movslq 0x38(%rbx), %rsi
movl $0x1da, %ecx            # imm = 0x1DA
xorl %edi, %edi
xorl %edx, %edx
movl %ebp, %r8d
callq 0x507b
leaq 0x3d94(%rip), %rax      # 0x7f3d
movq %rax, 0x8fe0(%rip)      # 0xd190
movl %r13d, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x254f
movslq %eax, %rsi
movl $0x1e0, %ecx            # imm = 0x1E0
xorl %edi, %edi
xorl %edx, %edx
movl %ebp, %r8d
callq 0x507b
movslq 0x38(%rbx), %rsi
movl $0x1e1, %ecx            # imm = 0x1E1
movq %r15, %rdi
xorl %edx, %edx
movl %ebp, %r8d
callq 0x507b
movq 0x30(%rbx), %rsi
movl $0x1e2, %ecx            # imm = 0x1E2
movq %r12, %rdi
xorl %edx, %edx
callq 0x5a58
leaq 0x3d65(%rip), %rax      # 0x7f68
movq %rax, 0x8f86(%rip)      # 0xd190
movl %r13d, 0x4c(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x254f
movslq %eax, %rsi
movl $0x1e7, %ecx            # imm = 0x1E7
xorl %edi, %edi
xorl %edx, %edx
movl %ebp, %r8d
callq 0x507b
movslq 0x38(%rbx), %rsi
movl $0xf6, %edi
movl $0x1e8, %ecx            # imm = 0x1E8
xorl %edx, %edx
movl %ebp, %r8d
callq 0x507b
movq 0x30(%rbx), %rsi
leaq 0x3e25(%rip), %rdi      # 0x8075
movl $0x1e9, %ecx            # imm = 0x1E9
xorl %edx, %edx
callq 0x5a58
addq $0x478, %rsp            # imm = 0x478
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq