Exemplo n.º 1
0
        public void CrosJoinTest()
        {
            //Arrange
            Entity                entity        = _storage.DataBase.Entities.Find(x => x.Name == "Table1");
            Entity                entity2       = _storage.DataBase.Entities.Find(x => x.Name == "Table2");
            EntityService         entityService = new EntityService(entity, _storage);
            List <List <object> > expectedList  = new List <List <object> >
            {
                new List <object>()
                {
                    "name1", 10, 1, "name1", 10, 3
                },
                new List <object>()
                {
                    "name1", 10, 1, "name3", -12, 2
                },
                new List <object>()
                {
                    "name1", 10, 1, "name2", 124, -10
                },
                new List <object>()
                {
                    "name2", 124, -10, "name1", 10, 3
                },
                new List <object>()
                {
                    "name2", 124, -10, "name3", -12, 2
                },
                new List <object>()
                {
                    "name2", 124, -10, "name2", 124, -10
                },
            };
            var json     = JsonSerializer.Serialize(expectedList);
            var expected = JsonSerializer.Deserialize <List <List <object> > >(json);


            //Act
            var actual = entityService.CrossJoin(entity2, false);

            //Assert
            Assert.Multiple(() =>
            {
                for (int i = 0; i < actual.Count; i++)
                {
                    for (int j = 0; j < actual[i].Count; j++)
                    {
                        Assert.AreEqual(expected[i][j].ToString(), actual[i][j].ToString());
                    }
                }
            });
        }