package com.example.hpostesting // //class LogFileManagerImplTest { // // @Mock // private lateinit var mockContext: Context // // private lateinit var logFileManager: LogFileManagerImpl // // @Before // fun setUp() { // mockContext = mock() // logFileManager = LogFileManagerImpl(mockContext) // } // @Test // fun testCreateLogFileSuccess() { // // Mock filesDir // whenever(mockContext.getString(R.string.app_name)).thenReturn("MockedAppName") // val mockFilesDir = mock() // doReturn(true).whenever(mockContext).getFilesDir().exists() // doReturn(mockFilesDir).whenever(mockContext).getFilesDir() // // // Set expected file name // val expectedFileName = "hpos_1234567890.log" // val currentTime = System.currentTimeMillis() / 1000L // doReturn(true).whenever(mockFilesDir).createNewFile(expectedFileName) // doReturn(mockFilesDir.absolutePath + File.separator + expectedFileName).whenever(mockFilesDir).absolutePath // // // Mock FileOutputStream // val mockFileOutputStream = mock() // doReturn(mockFileOutputStream).whenever(FileOutputStream(mockFilesDir.absolutePath + File.separator + expectedFileName)) // // // Call createLogFile and verify result // val logFile = logFileManager.createLogFile() // // assertNotNull(logFile) // assertTrue(logFile.exists()) // assertEquals(expectedFileName, logFile.name) // // // Verify FileOutputStream was called // verify(mockFileOutputStream).write(any()) // verify(mockFileOutputStream).close() // } // // @Test // fun testCreateLogFileExistingFile() throws IOException { // // Mock filesDir with existing file // val mockFilesDir = mock() // val existingFile = mock() // doReturn(true).whenever(mockContext).getFilesDir().exists() // doReturn(mockFilesDir).whenever(mockContext).getFilesDir() // doReturn(true).whenever(mockFilesDir).exists() // doReturn(listOf(existingFile)).whenever(mockFilesDir).listFiles() // // // Call createLogFile and expect exception // try { // logFileManager.createLogFile() // fail("Expected IOException due to existing file") // } catch (e: IOException) { // // Expected behavior // } // // // Verify FileOutputStream was not called // verify(mockFilesDir, times(0)).createNewFile(anyString()) // } // // @Test // fun testCreateLogFileIOException() throws IOException { // // Mock filesDir and IOException // val mockFilesDir = mock() // doReturn(true).whenever(mockContext).getFilesDir().exists() // doReturn(mockFilesDir).whenever(mockContext).getFilesDir() // doReturn(true).whenever(mockFilesDir).exists() // doThrow(IOException("Mock IOException")).whenever(mockFilesDir).createNewFile(anyString()) // // // Call createLogFile and expect null result // val logFile = logFileManager.createLogFile() // // assertNull(logFile) // // // Verify FileOutputStream was not called // verify(mockFilesDir, times(0)).createNewFile(anyString()) // } //}