public void FactoryAlwaysReturnsSameInstance() { var fakeLexerFactory = GetFakeLexerFactory(); var sut = new SingletonLexerFactory <Element>(fakeLexerFactory.Object); var first = sut.Create(); var subsequent = sut.Create(); Assert.Same(first, subsequent); }
public void UnderlyingFactoryIsInvokedOnlyOnce() { var fakeLexerFactory = GetFakeLexerFactory(); var sut = new SingletonLexerFactory <Element>(fakeLexerFactory.Object); sut.Create(); sut.Create(); fakeLexerFactory.Verify(factory => factory.Create(), Times.Once); }
protected LexerFactory() { singleton = new SingletonLexerFactory <T>(this); }