public void CoreCommand_Provider() { var engine = new Concrete.DataEngine(); var link = new FakeLink(engine, NestableTransactionMode.Database); var other = new FakeCommandProvider(link); other.TheCommand.From(x => x.Employees); var provider = new FakeCommandProvider(link); provider.TheCommand.From(x => x(other).As(x.Emp)); provider.TheCommand.Select(x => x.Number.As(x.Id)); provider.TheCommand.Where(x => x.Name == "James Bond"); var parser = new Concrete.Parser(engine); var pars = engine.CreateParameterCollection(); var result = parser.Parse(provider, pars); Assert.AreEqual( "SELECT Number AS Id FROM (SELECT * FROM Employees) AS Emp WHERE (Name = #0)" , result); Assert.AreEqual(1, pars.Count); Assert.AreEqual("James Bond", pars[0].Value); }
public void CoreCommand_Provider() { var engine = new Concrete.DataEngine(); var link = new FakeLink(engine, NestableTransactionMode.Database); var other = new FakeCommandProvider(link); other.TheCommand.From(x => x.Employees); var provider = new FakeCommandProvider(link); provider.TheCommand.From(x => x(other).As(x.Emp)); provider.TheCommand.Select(x => x.Number.As(x.Id)); provider.TheCommand.Where(x => x.Name == "James Bond"); var parser = new Concrete.Parser(engine); var pars = engine.CreateParameterCollection(); var result = parser.Parse(provider, pars); Assert.AreEqual( "SELECT Number AS Id FROM (SELECT * FROM Employees) AS Emp WHERE (Name = #0)" , result); Assert.AreEqual(1, pars.Count); Assert.AreEqual("James Bond", pars[0].Value); }