Mercurial > projects > mde
view mde/test.d @ 4:9a990644948c
Many changes: upgraded to tango 0.99.4, reorganised mde/input, large changes to mde/mergetag and mde/init, separated off test/MTTest.d and more.
committer: Diggory Hardy <diggory.hardy@gmail.com>
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Sun, 06 Jan 2008 17:38:51 +0000 |
parents | 485c98ecbd91 |
children | f63f4f41a2dc |
line wrap: on
line source
/// Contains some functions for testing stuff. module mde.test; import mde.mergetag.dataset; import mde.text.parse; import tango.io.Stdout; import Int = tango.text.convert.Integer; void MTtest () { Reader MTread; try { MTread = new Reader ("test.mtt", null, true); static DataSection dataPrinter (ID id) { return new test.DataPrinter (id); } MTread.dataSecCreator = &dataPrinter; MTread.read(); } catch (Exception e) { Stdout (e.msg).newline; } //Stdout ("Data read from file:").newline; //test.printDataSet (MTread.dataset); } /// Prints $(I some) of the dataset. void printDataSet (DataSet ds) { foreach (ID sec_id, DefaultData dd; ds.getSections!(DefaultData)()) { Stdout ("Section: ")(cast(uint) sec_id).newline; foreach (ID i, int x; dd._int) { printLabel (i); Stdout (x).newline; } foreach (ID i, int[] x; dd._intA) { printLabel (i); foreach (int y; x) Stdout (y)(' '); Stdout.newline; } foreach (ID i, ubyte[] x; dd._binary) { printLabel (i); char[2] fmt; foreach (ubyte y; x) { Int.format(fmt,y,Int.Style.HexUpper,Int.Flags.Zero); Stdout (fmt~' '); } Stdout.newline; } foreach (ID i, char x; dd._char) { printLabel (i); Stdout (x).newline; } foreach (ID i, char[] x; dd._string) { printLabel (i); Stdout (x).newline; } } } void printLabel (ID i) { Stdout (cast(uint) i)(":\t"); } class DataPrinter : DataSection { this (ID id) { Stdout ("New section (")(id)(").").newline; } void addTag (TypeInfo ti, ID id, char[] dt) { Stdout ("\tData item (")(id)("):\t")(ti)("\t")(dt).newline; } void addTag (char[] tp, ID id, char[] dt) { Stdout ("\tData item (")(id)("):\t")(tp)("\t")(dt).newline; } void writeAll (ItemDelg) {} }