public void TestUserFormatAndPrecisionWithJsonSerialization()
        {
            // Arrange
            var columnInfo = new NumberColumnInfo {
                Precision = 2
            };
            // Act
            string s = JsonConvert.SerializeObject(columnInfo, jsonSerializerSettings);

            s          = s.Replace("\"precision\":2", "\"precision\":4");
            columnInfo = JsonConvert.DeserializeObject <NumberColumnInfo>(s);
            // Assert
            Assert.AreEqual("0.0000", columnInfo.Format);
        }
Example #2
0
        public void TestGetValue_Precision()
        {
            // Arrange
            var columnInfo = new NumberColumnInfo
            {
                IsNullable = false,
                Min        = 1,
                Max        = 9,
                Precision  = 5
            };
            var strategy = new NumberColumnValueStrategy(RepoFactory);
            // Act
            string value = strategy.GetValue(columnInfo);
            // Assert
            Regex regex = new Regex(@"^\d\.\d\d\d\d\d$");

            Assert.IsTrue(regex.IsMatch(value));
        }
Example #3
0
        public void TestGetValue_MinEqualsMax()
        {
            // Arrange
            const double minMax     = 10;
            var          columnInfo = new NumberColumnInfo
            {
                IsNullable = false,
                Min        = minMax,
                Max        = minMax
            };
            var strategy = new NumberColumnValueStrategy(RepoFactory);
            // Act
            string value = strategy.GetValue(columnInfo);
            // Assert
            double intValue = double.Parse(value, CultureInfo.InvariantCulture);

            Assert.AreEqual(minMax, intValue);
        }
Example #4
0
        public void TestPrecisionValues()
        {
            // Arrange
            // Act
            var columnInfo1 = new NumberColumnInfo {
                Precision = 100
            };
            var columnInfo2 = new NumberColumnInfo {
                Precision = -1
            };
            var columnInfo3 = new NumberColumnInfo {
                Precision = 2
            };

            // Assert
            Assert.AreEqual(columnInfo1.MaxPrecision, columnInfo1.Precision);
            Assert.AreEqual(0, columnInfo2.Precision);
            Assert.AreEqual(2, columnInfo3.Precision);
        }
Example #5
0
        public void TestGetValue_MinMax()
        {
            // Arrange
            const double min        = -10.5;
            const double max        = 10.5;
            var          columnInfo = new NumberColumnInfo
            {
                IsNullable = false,
                Min        = min,
                Max        = max
            };
            var strategy = new NumberColumnValueStrategy(RepoFactory);
            // Act
            string value = strategy.GetValue(columnInfo, CultureInfo.InvariantCulture);
            // Assert
            double doubleValue = double.Parse(value, CultureInfo.InvariantCulture);

            Assert.IsTrue(min <= doubleValue && doubleValue <= max);
        }