Пример #1
0
        public void UsesMySqlEscapeForTables() {
            var sb = new StringBuilder();
            var map = new Map<int> { Table = "foo" };
            this.MakeTarget().AppendQuotedTableName(sb, map);

            Assert.Equal("`foo`", sb.ToString());
        }
Пример #2
0
 public void NonGenericPrimaryKeyGetterWorks() {
     var map = new Map<Post>();
     map.Columns.Add("PostId", new Column<int> { IsPrimaryKey = true, Map = map, Name = "PostId" });
     map.PrimaryKey = map.Columns["PostId"];
     var post = new Post { PostId = 123 };
     Assert.Equal(post.PostId, map.GetPrimaryKeyValue((object)post));
 }
Пример #3
0
 public void SetPrimaryKeyValueWorks() {
     var map = new Map<Post>();
     map.Columns.Add("PostId", new Column<int> { IsPrimaryKey = true, Map = map, Name = "PostId" });
     map.PrimaryKey = map.Columns["PostId"];
     var post = new Post { PostId = 123 };
     map.SetPrimaryKeyValue(post, 256);
     Assert.Equal(256, post.PostId);
 }
Пример #4
0
        public void AppendQuotedTableNameAppendsTableNameInQuoteCharacters() {
            var sb = new StringBuilder();
            var map = new Map<string> { Table = "foo" };
            var target = this.MakeTarget();

            target.AppendQuotedTableName(sb, map);

            Assert.Equal("<foo>", sb.ToString());
        }
Пример #5
0
        public void FromPopulatesAllProperties() {
            // assemble a populated column
            var imap = new Map<string>().Populate(new Column<string>() as IColumn) as IMap;

            // act
            var map = Map<string>.From(imap);

            // assert all properties are equal
            var columnType = imap.GetType();
            var genericColumnType = map.GetType();
            foreach (var prop in columnType.GetProperties()) {
                Assert.Equal(prop.GetValue(imap, null), genericColumnType.GetProperty(prop.Name).GetValue(map, null));
            }
        }
Пример #6
0
        private IMap<Post> GenerateMap() {
            var dialect = new SqlServerDialect();
            var config = new Mock<IConfiguration>(MockBehavior.Strict);

            var map = new Map<Post> { Table = "Posts", Schema = null, Configuration = config.Object };

            map.Columns.Add(
                "PostId",
                new Column<int> {
                                    Name = "PostId",
                                    DbName = "PostId",
                                    DbType = DbType.Int32,
                                    Map = map,
                                    IsPrimaryKey = true,
                                    IsAutoGenerated = true,
                                    IsNullable = false
                                });

            map.PrimaryKey = map.Columns.First().Value;
            return map;
        }
 public void IsCaseInsensitive() {
     var map1 = new Map<Post>() { Table = "posts" };
     var map2 = new Map<Post>() { Table = "Posts" };
     var comparer = new TableNameEqualityComparer();
     Assert.True(comparer.Equals(map1, map2));
 }
Пример #8
0
 private Map<User> MakeMap() {
     var map = new Map<User>();
     map.Columns.Add(UserId, new Column<int> { Name = UserId });
     map.Columns.Add(Username, new Column<string> { Name = Username });
     return map;
 }
Пример #9
0
 private static IMap MakeMap(params IColumn[] columns) {
     var cols = new[] { new Column<int> { Name = "DummyId", IsPrimaryKey = true } }.Union(columns).ToArray();
     var map = new Map<User> { Table = "Dummies", PrimaryKey = cols.First() };
     cols.ToList().ForEach(c => map.Columns.Add(c.Name, c));
     return map;
 }
Пример #10
0
 public void UsePrimaryKeySetterWithoutPrimaryKeyColumnThrow() {
     var map = new Map<Post>();
     map.Columns.Add("PostId", new Column<int> { IsPrimaryKey = true, Map = map, Name = "PostId" });
     var post = new Post { PostId = 123 };
     Assert.Throws<Exception>(() => map.SetPrimaryKeyValue(post, 123));
 }
Пример #11
0
 public void ColumnsCollectionIsInitialised() {
     var target = new Map<string>();
     Assert.NotNull(target.Columns);
 }