@@ -94,5 +94,44 @@ public void Service_is_not_singleton(IRestClient client)
9494 Assert . That ( response . RequestCount , Is . EqualTo ( 1 ) ) ;
9595 }
9696 }
97- }
97+
98+ public class Foo
99+ {
100+ public static int GlobalId = 0 ;
101+ public int Id { get ; set ; }
102+
103+ public Foo ( )
104+ {
105+ this . Id = GlobalId ++ ;
106+ }
107+ }
108+
109+ [ Test ]
110+ public void Funq_is_singleton_by_Default ( )
111+ {
112+ var container = new Container ( ) ;
113+ container . Register ( c => new Foo ( ) ) ;
114+
115+ var foo = container . Resolve < Foo > ( ) ;
116+ Assert . That ( foo . Id , Is . EqualTo ( 0 ) ) ;
117+ foo = container . Resolve < Foo > ( ) ;
118+ Assert . That ( foo . Id , Is . EqualTo ( 0 ) ) ;
119+ foo = container . Resolve < Foo > ( ) ;
120+ Assert . That ( foo . Id , Is . EqualTo ( 0 ) ) ;
121+ }
122+
123+ [ Test ]
124+ public void Funq_does_transient_scope ( )
125+ {
126+ var container = new Container ( ) ;
127+ container . Register ( c => new Foo ( ) ) . ReusedWithin ( ReuseScope . None ) ;
128+
129+ var foo = container . Resolve < Foo > ( ) ;
130+ Assert . That ( foo . Id , Is . EqualTo ( 0 ) ) ;
131+ foo = container . Resolve < Foo > ( ) ;
132+ Assert . That ( foo . Id , Is . EqualTo ( 1 ) ) ;
133+ foo = container . Resolve < Foo > ( ) ;
134+ Assert . That ( foo . Id , Is . EqualTo ( 2 ) ) ;
135+ }
136+ }
98137}
0 commit comments