package org.wikiwebserver.core;

import java.io.StringReader;
import java.io.StringWriter;
import java.util.List;
import java.util.Map;

/**
 * StructuredDataTest is used to test reading and writing of structured data.
 * 
 * @author Michael Gardiner 
 * @version 2008-10-20
 */
public class StructuredDataTest {
	
   
    public static void main(String[] args) {

        try {
        	
            StringReader r = new StringReader("#wibble=b\na=1   \n\n   b=\"2\"\"\n2\"\nc=3\na=\nf=f");
            StructuredDataReader dataReader = new StructuredDataReader(r);

            Map<String, String> pairs = dataReader.readPairs('=', '\n');
            System.out.println(pairs);
            
            StringWriter w = new StringWriter();
            StructuredDataWriter dataWriter = new StructuredDataWriter(w);
            dataWriter.writePairs(pairs, '=', '\n');
            
            System.out.println(w.toString());
            
            
            r = new StringReader("1,2  ,3,4,5,6\n2,4,6,8,10,12");
            dataReader = new StructuredDataReader(r);

            List<List<String>> rows = dataReader.readRows(',', '\n');
            System.out.println(rows);
            
            w = new StringWriter();
            dataWriter = new StructuredDataWriter(w);
            dataWriter.writeRows(rows, ',', '\n');
            
            System.out.println(w.toString());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }    
}

