1package com.xtremelabs.robolectric.shadows; 2 3import static org.hamcrest.CoreMatchers.equalTo; 4import static org.junit.Assert.assertThat; 5 6import com.xtremelabs.robolectric.WithTestDefaultsRunner; 7import org.junit.Test; 8import org.junit.runner.RunWith; 9 10import android.os.StatFs; 11 12import java.io.File; 13 14@RunWith(WithTestDefaultsRunner.class) 15public class StatFsTest { 16 @Test 17 public void shouldRegisterStats() throws Exception { 18 ShadowStatFs.registerStats("/tmp", 100, 20, 10); 19 StatFs statsFs = new StatFs("/tmp"); 20 21 assertThat(statsFs.getBlockCount(), equalTo(100)); 22 assertThat(statsFs.getFreeBlocks(), equalTo(20)); 23 assertThat(statsFs.getAvailableBlocks(), equalTo(10)); 24 assertThat(statsFs.getBlockSize(), equalTo(ShadowStatFs.BLOCK_SIZE)); 25 } 26 27 @Test 28 public void shouldRegisterStatsWithFile() throws Exception { 29 ShadowStatFs.registerStats(new File("/tmp"), 100, 20, 10); 30 StatFs statsFs = new StatFs("/tmp"); 31 32 assertThat(statsFs.getBlockCount(), equalTo(100)); 33 assertThat(statsFs.getFreeBlocks(), equalTo(20)); 34 assertThat(statsFs.getAvailableBlocks(), equalTo(10)); 35 assertThat(statsFs.getBlockSize(), equalTo(ShadowStatFs.BLOCK_SIZE)); 36 } 37 38 @Test 39 public void shouldResetStateBetweenTests() throws Exception { 40 StatFs statsFs = new StatFs("/tmp"); 41 assertThat(statsFs.getBlockCount(), equalTo(0)); 42 assertThat(statsFs.getFreeBlocks(), equalTo(0)); 43 assertThat(statsFs.getAvailableBlocks(), equalTo(0)); 44 assertThat(statsFs.getBlockSize(), equalTo(ShadowStatFs.BLOCK_SIZE)); 45 } 46 47 @Test 48 public void shouldRestat() throws Exception { 49 ShadowStatFs.registerStats("/tmp", 100, 20, 10); 50 StatFs statsFs = new StatFs("/tmp"); 51 52 assertThat(statsFs.getBlockCount(), equalTo(100)); 53 assertThat(statsFs.getFreeBlocks(), equalTo(20)); 54 assertThat(statsFs.getAvailableBlocks(), equalTo(10)); 55 56 ShadowStatFs.registerStats("/tmp", 3, 2, 1); 57 58 statsFs.restat("/tmp"); 59 assertThat(statsFs.getBlockCount(), equalTo(3)); 60 assertThat(statsFs.getFreeBlocks(), equalTo(2)); 61 assertThat(statsFs.getAvailableBlocks(), equalTo(1)); 62 } 63} 64