public void ToGuid_Test()
        {
            var source = "6F9619FF-8B86-D011-B42D-00C04FC964FF";
            var g1     = ConvertFactory.ToGuid(source);

            Assert.Equal(source, g1.ToString().ToUpper());
        }
        public void ToInt64_Test()
        {
            var r1 = ConvertFactory.ToInt64("999", 1);
            var r2 = ConvertFactory.ToInt64("qweqwex", 2);

            Assert.Equal(999, r1);
            Assert.Equal(2, r2);
        }
        public void ToInt32_Test()
        {
            var r1 = ConvertFactory.ToInt32("15", 3);
            var r2 = ConvertFactory.ToInt32("13w", 11);

            Assert.Equal(15, r1);
            Assert.Equal(11, r2);
        }
        public void ToBool_Test()
        {
            var r1 = ConvertFactory.ToBool("false", true);

            Assert.False(r1);
            var r2 = ConvertFactory.ToBool("s", false);

            Assert.False(r2);
        }
        public void ToDateTime_Test()
        {
            var d1 = ConvertFactory.ToDateTime("2019-01-02", new DateTime(2019, 5, 3));

            Assert.Equal(new DateTime(2019, 1, 2), d1);

            var d2 = ConvertFactory.ToDateTime("2018-08-92s", new DateTime(2010, 1, 1));

            Assert.Equal(new DateTime(2010, 1, 1), d2);
        }
Exemple #6
0
        public void ConvertFactory_int_InvalidCast()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            Assert.Throws <InvalidCastConvertException>(() => convertFactory.Parse(typeof(int), "21474836478"));


            //Assert
        }
Exemple #7
0
        public void ConvertFactory_short_InvalidCast()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            Assert.Throws <InvalidCastConvertException>(() => convertFactory.Parse(typeof(short), "327676"));


            //Assert
        }
Exemple #8
0
        public void ConvertFactory_NotFoundConvert()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            Assert.Throws <NotFoundConvertException>(() => convertFactory.GetConvert(typeof(float)));


            //Assert
        }
Exemple #9
0
        public void ConvertFactory_byte_InvalidCast()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            Assert.Throws <InvalidCastConvertException>(() => convertFactory.Parse(typeof(byte), "2555"));


            //Assert
        }
Exemple #10
0
        public void ConvertFactory_ulong_InvalidCast()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            Assert.Throws <InvalidCastConvertException>(() => convertFactory.Parse(typeof(ulong), "18446744073709551619"));


            //Assert
        }
Exemple #11
0
        public void ConvertFactory_long_InvalidCast()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            Assert.Throws <InvalidCastConvertException>(() => convertFactory.Parse(typeof(long), "9223372036854775809"));


            //Assert
        }
Exemple #12
0
        public void ConvertFactory_byte()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            var value = convertFactory.Parse(typeof(byte), "255");


            //Assert
            value.Should().BeAssignableTo <byte>().And.Be(255);
        }
Exemple #13
0
        public void ConvertFactory_int()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            var value = convertFactory.Parse(typeof(int), "2147483647");


            //Assert
            value.Should().BeAssignableTo <int>().And.Be(2147483647);
        }
Exemple #14
0
        public void ConvertFactory_string()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            var value = convertFactory.Parse(typeof(string), "Alejandro Molines");


            //Assert
            value.Should().BeAssignableTo <string>().And.Be("Alejandro Molines");
        }
Exemple #15
0
        public void ConvertFactory_DateTime()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            var value = convertFactory.Parse(typeof(DateTime), "19811128");


            //Assert
            value.Should().BeAssignableTo <DateTime>().And.Be(new DateTime(1981, 11, 28));
        }
Exemple #16
0
        public void ConvertFactory_decimal()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            var value = convertFactory.Parse(typeof(decimal), "2.1");


            //Assert
            value.Should().BeAssignableTo <decimal>().And.Be(2.1m);
        }
Exemple #17
0
        public void ConvertFactory_double()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            var value = convertFactory.Parse(typeof(double), "1.0");


            //Assert
            value.Should().BeAssignableTo <double>().And.Be(1.0);
        }
Exemple #18
0
        public void ConvertFactory_ulong()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            var value = convertFactory.Parse(typeof(ulong), "18446744073709551615");


            //Assert
            value.Should().BeAssignableTo <ulong>().And.Be(18446744073709551615);
        }
Exemple #19
0
        public void ConvertFactory_short()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            var value = convertFactory.Parse(typeof(short), "32767");


            //Assert
            value.Should().BeAssignableTo <short>().And.Be(32767);
        }
Exemple #20
0
        public void ConvertFactory_long()
        {
            //Arrange
            var convertFactory = new ConvertFactory();

            //Act
            var value = convertFactory.Parse(typeof(long), "9223372036854775807");


            //Assert
            value.Should().BeAssignableTo <long>().And.Be(9223372036854775807);
        }
        public void ToDouble_Test()
        {
            var r1 = ConvertFactory.ToDouble("252.11", 9.9d);
            var r2 = ConvertFactory.ToDouble("22 2232 ", 11.8d);

            Assert.Equal(252.11d, r1);
            Assert.Equal(11.8d, r2);

            var r3 = ConvertFactory.ToDouble("995.5", 12d, 3);

            Assert.Equal(995.500, r3);

            var r4 = ConvertFactory.ToDouble("23.s", 15.65, 1);

            Assert.Equal(15.6, r4);
        }
Exemple #22
0
        public Where(IEnumerable <Filter> filters, IEnumerable <Operator> operators)
        {
            _parameters = new Dictionary <string, object>();
            var convert = new ConvertFactory();

            var @where = new List <string>();
            var count  = 1;

            foreach (var filter in filters.GroupBy(g => g.Name))
            {
                if (filter.Count() > 1)
                {
                    var parameterIn = new List <string>();
                    foreach (var f in filter)
                    {
                        var value = convert.Parse(f.Type, f.Value);
                        _parameters.Add($"@p{count}", value);
                        parameterIn.Add($"@p{count}");
                        count++;
                    }
                    @where.Add($"`{filter.Key}` in ({string.Join(",", parameterIn)})");
                }
                else
                {
                    @where.Add($"`{filter.Key}` = @p{count}");
                    var value = convert.Parse(filter.First().Type, filter.First().Value);
                    _parameters.Add($"@p{count}", value);
                    count++;
                }
            }


            foreach (var @operator in operators)
            {
                var value = convert.Parse(@operator.Type, @operator.Value);


                switch (@operator.Operators)
                {
                case Operators.GreaterThat:
                    @where.Add($"`{@operator.Name }` > @p{count}");
                    break;

                case Operators.LessThat:
                    @where.Add($"`{@operator.Name }` < @p{count}");
                    break;

                case Operators.GreaterThatOrEqual:
                    @where.Add($"`{@operator.Name }` >= @p{count}");
                    break;

                case Operators.LessThatOrEqual:
                    @where.Add($"`{@operator.Name }` <= @p{count}");
                    break;

                case Operators.Like:
                    @where.Add($"`{@operator.Name }` LIKE @p{count}");
                    value = $"'%{value}%'";
                    break;

                case Operators.Distinct:
                    @where.Add($"`{@operator.Name }` <> @p{count}");
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }



                _parameters.Add($"@p{count}", value);
                count++;
            }

            _where = string.Join(" AND ", @where);
        }