MentaContainer

Rev

Rev 58 | Rev 70 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 58 Rev 64
Line 1... Line 1...
1
package org.mentacontainer.impl;
1
package org.mentacontainer.impl;
2
2
3
import junit.framework.Assert;
3
import junit.framework.Assert;
4
4
5
import org.junit.Test;
5
import org.junit.Test;
-
 
6
import org.mentacontainer.Clearable;
-
 
7
import org.mentacontainer.Component;
6
import org.mentacontainer.Container;
8
import org.mentacontainer.Container;
7
import org.mentacontainer.Scope;
9
import org.mentacontainer.Scope;
8
10
9
public class MentaContainerTest {
11
public class MentaContainerTest {
10
12
Line 280... Line 282...
280
                }
282
                }
281
               
283
               
282
                public MyDAO getMyDAO() { return myDAO; }
284
                public MyDAO getMyDAO() { return myDAO; }
283
        }
285
        }
284
       
286
       
-
 
287
        @Test
285
        public void testPopulate() {
288
        public void testPopulate() {
286
               
289
               
287
                Container c = getConfiguredContainer();
290
                Container c = getConfiguredContainer();
288
               
291
               
289
                SomeAction a = new SomeAction();
292
                SomeAction a = new SomeAction();
Line 301... Line 304...
301
                Assert.assertNotNull(conn);
304
                Assert.assertNotNull(conn);
302
               
305
               
303
                // check if conn was also wired...
306
                // check if conn was also wired...
304
               
307
               
305
                Assert.assertNotNull(conn.getMyDep());
308
                Assert.assertNotNull(conn.getMyDep());
-
 
309
        }
-
 
310
       
-
 
311
        private static class SomeObject {
306
               
312
               
-
 
313
                private boolean cleared = false;
-
 
314
               
-
 
315
                public void clear() { this.cleared = true; }
-
 
316
               
-
 
317
                public boolean isCleared() { return cleared; }
307
        }
318
        }
-
 
319
       
-
 
320
        private static class SomeComponent implements Component, Clearable<SomeObject> {
-
 
321
               
-
 
322
                public <T> T getInstance() {
-
 
323
                       
-
 
324
                        return (T) new SomeObject();
-
 
325
                }
-
 
326
               
-
 
327
                public void onCleared(SomeObject obj) {
-
 
328
                       
-
 
329
                        obj.clear();
-
 
330
                }
-
 
331
        }
-
 
332
       
-
 
333
        @Test
-
 
334
        public void testClearable() {
-
 
335
               
-
 
336
                Container c = new MentaContainer();
-
 
337
               
-
 
338
                c.ioc("o", new SomeComponent(), Scope.SINGLETON);
-
 
339
               
-
 
340
                SomeObject o = c.get("o");
-
 
341
               
-
 
342
                c.clear(Scope.SINGLETON);
-
 
343
               
-
 
344
                Assert.assertEquals(true, o.isCleared());
-
 
345
               
-
 
346
                c.ioc("o", new SomeComponent(), Scope.THREAD);
-
 
347
               
-
 
348
                o = c.get("o");
-
 
349
               
-
 
350
                c.clear(Scope.SINGLETON);
-
 
351
               
-
 
352
                Assert.assertEquals(false, o.isCleared());
-
 
353
               
-
 
354
                c.clear(Scope.THREAD);
-
 
355
               
-
 
356
                Assert.assertEquals(true, o.isCleared());
-
 
357
               
-
 
358
                c.ioc("o", new SomeComponent(), Scope.NONE);
-
 
359
               
-
 
360
                o = c.get("o");
-
 
361
               
-
 
362
                o = c.clear("o");
-
 
363
               
-
 
364
                Assert.assertNull(o);
-
 
365
               
-
 
366
                c.ioc("o", new SomeComponent(), Scope.THREAD);
-
 
367
               
-
 
368
                o = c.clear("o");
-
 
369
               
-
 
370
                Assert.assertNull(o);
-
 
371
               
-
 
372
                o = c.get("o");
-
 
373
               
-
 
374
                o = c.clear("o");
-
 
375
               
-
 
376
                Assert.assertEquals(true, o.isCleared());
-
 
377
        }
-
 
378
       
308
}
379
}