From 052cbfd922a9512d1143fc10f5ab4c82b5470bcc Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Thu, 15 Nov 2012 22:24:09 +0000 Subject: Ok, Packet based stream reading/writing works and is compliant. --- cs-dotnet/src/tests/packet.cs | 70 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 cs-dotnet/src/tests/packet.cs (limited to 'cs-dotnet/src/tests/packet.cs') diff --git a/cs-dotnet/src/tests/packet.cs b/cs-dotnet/src/tests/packet.cs new file mode 100644 index 0000000..a572505 --- /dev/null +++ b/cs-dotnet/src/tests/packet.cs @@ -0,0 +1,70 @@ +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 ); + } + } +} -- cgit v1.2.3