public void Visit_DbCrossJoinExpression_creates_equivalent_DbCrossJoinExpression()
        {
            var bindings =
                new[]
            {
                _storeItemCollection
                .GetEntityContainer("AdventureWorksModelStoreContainer")
                .EntitySets.Single(e => e.Name == "EntitiesSet")
                .Scan()
                .BindAs("table1"),
                _storeItemCollection
                .GetEntityContainer("AdventureWorksModelStoreContainer")
                .EntitySets.Single(e => e.Name == "OtherEntitiesSet")
                .Scan()
                .BindAs("table2")
            };

            var crossJoinExpression = DbExpressionBuilder.CrossJoin(bindings);

            var legacyCrossJoinExpression =
                _legacyDbExpressionConverter.Visit(crossJoinExpression) as LegacyCommandTrees.DbCrossJoinExpression;

            Assert.NotNull(legacyCrossJoinExpression);
            Assert.Equal(LegacyCommandTrees.DbExpressionKind.CrossJoin, legacyCrossJoinExpression.ExpressionKind);
            Assert.Equal(LegacyCommandTrees.DbExpressionKind.Scan, legacyCrossJoinExpression.Inputs[0].Expression.ExpressionKind);
            Assert.Equal("EntitiesSet", ((LegacyCommandTrees.DbScanExpression)legacyCrossJoinExpression.Inputs[0].Expression).Target.Name);
            Assert.Equal("table1", legacyCrossJoinExpression.Inputs[0].VariableName);
            Assert.Equal(LegacyCommandTrees.DbExpressionKind.Scan, legacyCrossJoinExpression.Inputs[1].Expression.ExpressionKind);
            Assert.Equal(
                "OtherEntitiesSet", ((LegacyCommandTrees.DbScanExpression)legacyCrossJoinExpression.Inputs[1].Expression).Target.Name);
            Assert.Equal("table2", legacyCrossJoinExpression.Inputs[1].VariableName);
            TypeUsageVerificationHelper
            .VerifyTypeUsagesEquivalent(legacyCrossJoinExpression.ResultType, crossJoinExpression.ResultType);
        }