GXml have a test suite may you want to check. I has more than 50 tests cases. El feb. 4, 2016 3:04 PM, "Al Thomas" <astav...@yahoo.co.uk> escribió:
> > > ----- Original Message ----- > > From: Felipe Lavratti <felipe...@gmail.com> > > Sent: Thursday, 4 February 2016, 20:18 > > Subject: [Vala] Using TestCase class: assert (this is Object) fails in > method, but not in constructor > > > > Have a look at this code: > > > > public class Tests : Object { > > > > public Tests () { > > assert (this is Object); // THIS ASSERTION PASSES > > ts = new TestSuite ("dot_cap_dimmer") ; > > ts.add (new TestCase ("construction", (TestFixtureFunc) > > setup, (TestFixtureFunc) test_construction, (TestFixtureFunc) > > teardown)) ; > > TestSuite.get_root ().add_suite (ts) ; > > } > > > > void setup(void * fixture) { > > assert (this is Object); // THIS ASSERTION FAILS > > this.cut = new DotCapDimmer () ; > > this.cut.on_change.connect (slot) ; > > this.called = false ; > > } > > ... > > } > > > > Would anyone know what happens to the `this` variable when called > > from the TestCase ? How came it is no longer an Object anymore ? > > > You need to instantiate your fixture so it has `this` to act upon. > Your fixture should be a separate object to the test. > As an outline; > > > void main( string[] args ) { > > Test.init(ref args); > TestSuite suite = new TestSuite( "DotCapDimmer" ); > TestSuite.get_root ().add_suite (suite); > > MyTestFixture fixture = new MyTestFixture(); > suite.add( new TestCase ( "MyFirstTestCase", fixture.set_up, > (TestFixtureFunc)test_my_first_test, fixture.tear_down )); > Test.run(); > } > > void test_my_first_test( MyTestFixture fixture ) { > // do testing > > } > > > > I put the test in a namespace like > UnitTest.ModuleDirectory.FilenameOfClassToBeTested > > There is also g_test_add_data_func_full () instead, but I haven't used > that yet. > > Al > _______________________________________________ > vala-list mailing list > vala-list@gnome.org > https://mail.gnome.org/mailman/listinfo/vala-list > _______________________________________________ vala-list mailing list vala-list@gnome.org https://mail.gnome.org/mailman/listinfo/vala-list