public void GetSchemaTest()
        {
            var(tables, elements) = _instance.GetSchema(_container);
            Assert.Equal(5, tables.Count);
            Assert.Equal(23, elements.Count);

            foreach (DataEntity element in elements)
            {
                Assert.NotEqual(string.Empty, element.DbDataType);
            }

            var columns = elements.Where(x => x.Collection.Name.Equals("teacher")).ToArray();

            Assert.Equal(4, columns.Length);

            columns = elements.Where(x => x.Collection.Name.Equals("course")).ToArray();
            Assert.Equal(3, columns.Length);
        }
        public void GetSchemaTest()
        {
            var(tables, elements) = _instance.GetSchema(_container);
            Assert.Equal(5, tables.Count);
            Assert.Equal(25, elements.Count);

            foreach (DataEntity element in elements)
            {
                Assert.NotEqual(string.Empty, element.DbDataType);
            }

            var columns = elements.Where(x => x.Collection.Name.Equals("teacher")).ToArray();

            Assert.Equal(4, columns.Length);

            columns = elements.Where(x => x.Collection.Name.Equals("course")).ToArray();
            Assert.Equal(3, columns.Length);

            var nestedTypes = new Dictionary <string, string>()
            {
                { "id", "Int" },
                { "addr.street", "Text" },
                { "addr.zip", "Int" },
                { "addr.phones.alias", "Text" },
                { "addr.phones.number", "Text" },
                { "main_phone.alias", "Text" },
                { "main_phone.number", "Text" }
            };

            columns = elements.Where(x => x.Collection.Name.Equals("user")).ToArray();
            Assert.Equal(nestedTypes.Count, columns.Length);

            foreach (var nestedType in nestedTypes)
            {
                var col = columns.FirstOrDefault(x => x.Name.Equals(nestedType.Key));
                Assert.True(col != null, $"Column {nestedType.Key} exists");
                Assert.Equal(nestedType.Value, col.DbDataType);
            }
        }