AmazeFileManager / app /src /androidTest /java /com /amaze /filemanager /filesystem /HybridFileParcelableTest.java
| /* | |
| * Copyright (C) 2014-2024 Arpit Khurana <arpitkh96@gmail.com>, Vishal Nehra <vishalmeham2@gmail.com>, | |
| * Emmanuel Messulam<emmanuelbendavid@gmail.com>, Raymond Lai <airwave209gt at gmail.com> and Contributors. | |
| * | |
| * This file is part of Amaze File Manager. | |
| * | |
| * Amaze File Manager is free software: you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation, either version 3 of the License, or | |
| * (at your option) any later version. | |
| * | |
| * This program is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU General Public License | |
| * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
| */ | |
| package com.amaze.filemanager.filesystem; | |
| import static org.junit.Assert.assertEquals; | |
| import org.junit.Before; | |
| import org.junit.Test; | |
| import com.amaze.filemanager.fileoperations.filesystem.OpenMode; | |
| import android.os.Parcel; | |
| /** Created by Rustam Khadipash on 29/3/2018. */ | |
| public class HybridFileParcelableTest { | |
| private HybridFileParcelable filePath; | |
| private HybridFileParcelable directory; | |
| private HybridFileParcelable file; | |
| public void setUp() { | |
| filePath = new HybridFileParcelable("/storage/sdcard0/Test1/Test1.txt"); | |
| directory = new HybridFileParcelable("/storage/sdcard0/Test2", "rw", 123456, 654321, true); | |
| file = | |
| new HybridFileParcelable("/storage/sdcard0/Test3/Test3.txt", "rw", 123456, 654321, false); | |
| } | |
| /** Purpose: Get name of a file / directory Input: no Expected: return file / directory's name */ | |
| public void getName() { | |
| assertEquals("Test1.txt", filePath.getName()); | |
| assertEquals("Test2", directory.getName()); | |
| assertEquals("Test3.txt", file.getName()); | |
| } | |
| /** | |
| * Purpose: Change name of a file / directory Input: setName newName Expected: File / directory's | |
| * name is changed | |
| */ | |
| public void setName() { | |
| filePath.setName("Tset1.txt"); | |
| assertEquals("Tset1.txt", filePath.getName()); | |
| directory.setName("Tset2"); | |
| assertEquals("Tset2", directory.getName()); | |
| file.setName("Tset3.txt"); | |
| assertEquals("Tset3.txt", file.getName()); | |
| } | |
| /** | |
| * Purpose: Get open mode of a file / directory Input: no Expected: return OpenMode.FILE | |
| * | |
| * <p>All files and directories in this class have open mode set as OpenMode.FILE | |
| */ | |
| public void getMode() { | |
| assertEquals(OpenMode.FILE, filePath.getMode()); | |
| assertEquals(OpenMode.FILE, directory.getMode()); | |
| assertEquals(OpenMode.FILE, file.getMode()); | |
| } | |
| /** Purpose: Get link to a file / directory Input: no Expected: return empty string */ | |
| public void getLink() { | |
| assertEquals("", filePath.getLink()); | |
| assertEquals("", directory.getLink()); | |
| assertEquals("", file.getLink()); | |
| } | |
| /** | |
| * Purpose: Set link to a file / directory Input: setLink newLink Expected: File / directory's | |
| * link is changed | |
| */ | |
| public void setLink() { | |
| filePath.setLink("abc"); | |
| assertEquals("abc", filePath.getLink()); | |
| directory.setLink("def"); | |
| assertEquals("def", directory.getLink()); | |
| file.setLink("ghi"); | |
| assertEquals("ghi", file.getLink()); | |
| } | |
| /** Purpose: Get creation date of a file / directory Input: no Expected: return date */ | |
| public void getDate() { | |
| assertEquals(0, filePath.getDate()); | |
| assertEquals(123456, directory.getDate()); | |
| assertEquals(123456, file.getDate()); | |
| } | |
| /** | |
| * Purpose: Change creation date of a file / directory Input: setDate newDate Expected: File / | |
| * directory's creation date is changed | |
| */ | |
| public void setDate() { | |
| filePath.setDate(746352); | |
| assertEquals(746352, filePath.getDate()); | |
| directory.setDate(474587); | |
| assertEquals(474587, directory.getDate()); | |
| file.setDate(3573335); | |
| assertEquals(3573335, file.getDate()); | |
| } | |
| /** Purpose: Get size of a file / directory Input: no Expected: return size */ | |
| public void getSize() { | |
| assertEquals(0, filePath.getSize()); | |
| assertEquals(654321, directory.getSize()); | |
| assertEquals(654321, file.getSize()); | |
| } | |
| /** | |
| * Purpose: Change size of a file / directory Input: setSize newSize Expected: File / directory's | |
| * size is changed | |
| */ | |
| public void setSize() { | |
| filePath.setSize(3534546); | |
| assertEquals(3534546, filePath.getSize()); | |
| directory.setSize(1745534); | |
| assertEquals(1745534, directory.getSize()); | |
| file.setSize(7546543); | |
| assertEquals(7546543, file.getSize()); | |
| } | |
| /** Purpose: Check whether it is a file or directory Input: no Expected: return directory */ | |
| public void isDirectory() { | |
| assertEquals(false, filePath.isDirectory()); | |
| assertEquals(true, directory.isDirectory()); | |
| assertEquals(false, file.isDirectory()); | |
| } | |
| /** | |
| * Purpose: Change type to file / directory Input: setDirectory isDirectory Expected: File / | |
| * directory's type is changed | |
| */ | |
| public void setDirectory() { | |
| filePath.setDirectory(true); | |
| assertEquals(true, filePath.isDirectory()); | |
| directory.setDirectory(false); | |
| assertEquals(false, directory.isDirectory()); | |
| file.setDirectory(true); | |
| assertEquals(true, file.isDirectory()); | |
| } | |
| /** Purpose: Get path to a file / directory Input: no Expected: return path */ | |
| public void getPath() { | |
| assertEquals("/storage/sdcard0/Test1/Test1.txt", filePath.getPath()); | |
| assertEquals("/storage/sdcard0/Test2", directory.getPath()); | |
| assertEquals("/storage/sdcard0/Test3/Test3.txt", file.getPath()); | |
| } | |
| /** Purpose: Get file / directory's permissions Input: no Expected: return permissions */ | |
| public void getPermission() { | |
| assertEquals(null, filePath.getPermission()); | |
| assertEquals("rw", directory.getPermission()); | |
| assertEquals("rw", file.getPermission()); | |
| } | |
| /** | |
| * Purpose: Change permissions of a file / directory Input: setPermission newPermission Expected: | |
| * File / directory's permissions are changed | |
| */ | |
| public void setPermission() { | |
| filePath.setPermission("rwx"); | |
| assertEquals("rwx", filePath.getPermission()); | |
| directory.setPermission("rwx"); | |
| assertEquals("rwx", directory.getPermission()); | |
| file.setPermission("rwx"); | |
| assertEquals("rwx", file.getPermission()); | |
| } | |
| /** | |
| * Purpose: Write an object into a parcel, send it through an intent and read the object from the | |
| * parcel Input: writeToParcel parcel object Expected: The parcel can be sent and the object can | |
| * be extracted from the parcel | |
| */ | |
| public void writeToParcel() { | |
| Parcel parcel = Parcel.obtain(); | |
| file.writeToParcel(parcel, file.describeContents()); | |
| parcel.setDataPosition(0); | |
| HybridFileParcelable createdFromParcel = HybridFileParcelable.CREATOR.createFromParcel(parcel); | |
| assertEquals(file.getDate(), createdFromParcel.getDate()); | |
| assertEquals(file.getLink(), createdFromParcel.getLink()); | |
| assertEquals(file.getMode(), createdFromParcel.getMode()); | |
| assertEquals(file.getName(), createdFromParcel.getName()); | |
| assertEquals(file.getPath(), createdFromParcel.getPath()); | |
| assertEquals(file.getPermission(), createdFromParcel.getPermission()); | |
| assertEquals(file.getSize(), createdFromParcel.getSize()); | |
| assertEquals(file.isDirectory(), createdFromParcel.isDirectory()); | |
| } | |
| } | |