using System; using System.IO; using Com.Xagasoft.Gats; public class Test { public static void Write( GatsObject o, Stream s ) { GatsStream gs = new GatsStream( s ); gs.WriteObject( o ); Console.WriteLine("Wrote: " + o ); } public static GatsObject Read( Stream s ) { GatsStream gs = new GatsStream( s ); GatsObject o = gs.ReadObject(); if( o == null ) Console.WriteLine("Nothing Read"); else { Console.WriteLine("Read type: " + o.GetType() ); Console.WriteLine("Read value: " + o ); } return o; } public static void Main() { MemoryStream ms = new MemoryStream(); GatsDictionary d = new GatsDictionary(); GatsList l = new GatsList(); l.Add( new GatsFloat( Math.PI ) ); l.Add( new GatsInteger( 1337 ) ); l.Add( new GatsString("Hello") ); d.Add("list", l ); d.Add("int", new GatsInteger( 998877 ) ); d.Add("float", new GatsFloat( 87.332 ) ); d.Add("string", new GatsString("Yup, a string") ); d.Add("bool", new GatsBoolean( false ) ); Write( d, ms ); ms.Seek( 0, SeekOrigin.Begin ); Read( ms ); try { FileStream fs = new FileStream("packet.gats", FileMode.Open, FileAccess.Read ); Console.WriteLine("===Reading from file==="); GatsStream gs = new GatsStream( fs ); GatsObject o = null; do { o = gs.ReadObject(); if( o == null ) Console.WriteLine("Nothing Read"); else { Console.WriteLine("Read type: " + o.GetType() ); Console.WriteLine("Read value: " + o ); } } while( o != null ); } catch( Exception e ) { Console.WriteLine("Can't test files: " + e.Message ); Console.WriteLine( e ); } } }