/*
* Copyright (c) 2012-2015 iWave Software LLC
* All Rights Reserved
*/
package com.iwave.ext.windows.parser;
import static org.junit.Assert.assertEquals;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import com.iwave.ext.windows.model.Volume;
public class VolumeParserTest {
VolumeParser parser = null;
@Before
public void setup() {
parser = new VolumeParser();
}
@Test
public void testParseVolumes() {
String text = " Volume ### Ltr Label Fs Type Size Status Info\r\n" +
" ---------- --- ----------- ----- ---------- ------- --------- --------\r\n" +
" Volume 1 System Rese NTFS Partition 100 MB Healthy System \r\n" +
" Volume 2 C NTFS Partition 67 GB Healthy Boot \r\n" +
"DISKPART> ";
List<Volume> volumes = parser.parseVolumes(text);
assertEquals(2, volumes.size());
Volume volume1 = volumes.get(0);
assertEquals(1, volume1.getNumber());
assertEquals("", volume1.getMountPoint());
assertEquals("System Rese", volume1.getLabel());
assertEquals("NTFS", volume1.getFileSystem());
assertEquals("Partition", volume1.getType());
assertEquals("100 MB", volume1.getSize());
assertEquals("Healthy", volume1.getStatus());
assertEquals("System", volume1.getInfo());
Volume volume2 = volumes.get(1);
assertEquals(2, volume2.getNumber());
assertEquals("C", volume2.getMountPoint());
assertEquals("", volume2.getLabel());
assertEquals("NTFS", volume2.getFileSystem());
assertEquals("Partition", volume2.getType());
assertEquals("67 GB", volume2.getSize());
assertEquals("Healthy", volume2.getStatus());
assertEquals("Boot", volume2.getInfo());
}
@Test
public void testParseVolumesLongLabel() {
String text = " Volume ### Ltr Label Fs Type Size Status Info\r\n" +
" ---------- --- ----------- ----- ---------- ------- --------- --------\r\n" +
" Volume 1 ?V?X?e?????\\?????? NTFS Partition 100 MB Healthy System \r\n" +
" Volume 2 C NTFS Partition 33 GB Healthy Boot \r\n" +
"DISKPART> ";
List<Volume> volumes = parser.parseVolumes(text);
assertEquals(2, volumes.size());
Volume volume1 = volumes.get(0);
assertEquals(1, volume1.getNumber());
assertEquals("", volume1.getMountPoint());
assertEquals("?V?X?e?????", volume1.getLabel());
assertEquals("NTFS", volume1.getFileSystem());
assertEquals("Partition", volume1.getType());
assertEquals("100 MB", volume1.getSize());
assertEquals("Healthy", volume1.getStatus());
assertEquals("System", volume1.getInfo());
Volume volume2 = volumes.get(1);
assertEquals(2, volume2.getNumber());
assertEquals("C", volume2.getMountPoint());
assertEquals("", volume2.getLabel());
assertEquals("NTFS", volume2.getFileSystem());
assertEquals("Partition", volume2.getType());
assertEquals("33 GB", volume2.getSize());
assertEquals("Healthy", volume2.getStatus());
assertEquals("Boot", volume2.getInfo());
}
}