MediaModuleParserTest.java
/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.rometools.modules.mediarss.io;
import com.rometools.modules.AbstractTestCase;
import junit.framework.Test;
import junit.framework.TestSuite;
import java.math.BigDecimal;
import static org.hamcrest.core.Is.is;
import static org.hamcrest.MatcherAssert.assertThat;
public class MediaModuleParserTest extends AbstractTestCase {
public MediaModuleParserTest(String testName) {
super(testName);
}
public static Test suite() {
return new TestSuite(MediaModuleParserTest.class);
}
public void testParsesFileSizeWithoutUnit() {
assertThat(MediaModuleParser.parseFileSize("1234567"), is(1234567L));
}
public void testParsesFileSizeWithByteUnit() {
assertThat(MediaModuleParser.parseFileSize("1B"), is(1L));
}
public void testParsesFileSizeWithKiloByteUnit() {
assertThat(MediaModuleParser.parseFileSize("1KB"), is(1000L));
}
public void testParsesFileSizeWithMegaByteUnit() {
assertThat(MediaModuleParser.parseFileSize("1MB"), is(new BigDecimal(1000).pow(2).longValue()));
}
public void testParsesFileSizeWithGigaByteUnit() {
assertThat(MediaModuleParser.parseFileSize("1GB"), is(new BigDecimal(1000).pow(3).longValue()));
}
public void testParsesFileSizeWithTeraByteUnit() {
assertThat(MediaModuleParser.parseFileSize("1TB"), is(new BigDecimal(1000).pow(4).longValue()));
}
public void testParsesFileSizeHandlesSpaces() {
assertThat(MediaModuleParser.parseFileSize(" 1 KB "), is(new BigDecimal(1000).longValue()));
}
public void testParsesFileSizeHandlesDecimals() {
assertThat(MediaModuleParser.parseFileSize("1.23KB"), is(new BigDecimal(1230).longValue()));
}
public void testThrowsExceptionOnInvalidFileSize() {
try{
MediaModuleParser.parseFileSize("reallybig");
fail("Exception should've been thrown for invalid file size");
} catch(NumberFormatException ignore) {}
}
}