package Cases;

import java.io.*;
import java.io.File;

import neustore.base.DBIndex;//because we create a object of index.java
import neustore.base.LRUBuffer;//because we create an object of it
import XMLContent.*;
import neustore.base.DiskAddress;



public class TestCase3 {

	
	public static void main(String[] args)throws IOException {
		
		//all the pages will be stored under this file name
		String filename3="TESTFILE3";
		File file= new File(filename3);
		if(file.delete())
		{
			 System.out.println("The old file with that name has been deleted");
			 
		}
		else
		{
			System.out.println("The file was not found");
		}
		
		//'buf' is an object of XMLBuffer class. Passews 2 arguments  5=Buffer size and 2048=page size in bytes
		LRUBuffer buf3= new LRUBuffer(5,2048);
	
               XMLContent content = new XMLContent(buf3, filename3, 1);

               DiskAddress addy = content.insertContent("Content #1");
               System.out.println("Inserted @ address:" + addy.toString());
               
               DiskAddress addy1 = content.insertContent("Content #2");
               System.out.println("Inserted @ address:" + addy1.toString());
               
               DiskAddress addy2 = content.insertContent("Content Content #3");
               System.out.println("Inserted @ address:" + addy.toString());
               
               DiskAddress addy3 = content.insertContent("A VERY VERY VERY long string #4");
               System.out.println("Inserted @ address:" + addy3.toString());
               
               String res = content.getContent(addy);
               int size = content.getSize(addy);
               System.out.print("Retrieved: "+ res + " ; Size:");
               System.out.println(size);
               
               res = content.getContent(addy1);
               size = content.getSize(addy1);
               System.out.print("Retrieved: "+ res + " ; Size:");
               System.out.println(size);
               
               res = content.getContent(addy2);
               size = content.getSize(addy2);
               System.out.print("Retrieved: "+ res + " ; Size:");
               System.out.println(size);
               
               res = content.getContent(addy3);
               size = content.getSize(addy3);
               System.out.print("Retrieved: "+ res + " ; Size:");
               System.out.println(size);
               
               System.out.println("Deleting Content #2");
               int flag = content.deleteContent(addy1);
               System.out.print("Deletion Status:");
               System.out.println(flag);
               
               System.out.println("Deleting " + content.getContent(addy3));
               flag = content.deleteContent(addy3);
               System.out.print("Deletion Status:");
               System.out.println(flag);
                   
               
               res = content.getContent(addy1);
               size = content.getSize(addy1);
               System.out.print("Retrieved: "+ res + " ; Size:");
               System.out.println(size);
               
               res = content.getContent(addy3);
               size = content.getSize(addy3);
               System.out.print("Retrieved: "+ res + " ; Size:");
               System.out.println(size);
              
	
	}         	
	

}//end of TestCase3