1 21 package com.db4o.test; 22 23 public class BindFileSize { 24 25 static final int LENGTH = 10000; 26 27 String foo; 28 29 public BindFileSize(){ 30 } 31 32 public BindFileSize(int length){ 33 StringBuffer sb = new StringBuffer (length); 34 for (int i = 0; i < length; i++) { 35 sb.append("g"); 36 } 37 this.foo = sb.toString(); 38 } 39 40 public void store(){ 41 Test.deleteAllInstances(this); 42 Test.store(new BindFileSize(LENGTH)); 43 } 44 45 public void testGrowth(){ 46 int call = 0; 47 48 Test.reOpen(); 49 50 BindFileSize bfs = (BindFileSize)Test.getOne(this); 51 long id = Test.objectContainer().getID(bfs); 52 for (int i = 0; i < 12; i++) { 53 bfs = new BindFileSize(LENGTH); 54 Test.objectContainer().bind(bfs, id); 55 Test.objectContainer().set(bfs); 56 Test.commit(); 57 checkFileSize(call++); 58 Test.reOpen(); 59 } 60 } 61 62 private void checkFileSize(int call){ 63 if(Test.canCheckFileSize()){ 64 int newFileLength = Test.fileLength(); 65 66 69 if(call == 6){ 70 jumps = 0; 72 fileLength = newFileLength; 73 }else if(call > 6){ 74 if(newFileLength > fileLength){ 75 if(jumps < 4){ 76 fileLength = newFileLength; 77 jumps ++; 78 }else{ 81 Test.error(); 83 } 84 } 85 } 86 } 87 } 88 89 private static transient int fileLength; 90 private static transient int jumps; 91 92 93 94 } 95 | Popular Tags |