Exemple #1
0
        public void ConvertDataTable__handle_empty()
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.ConvertDataTable(new DataTable());

            //ASSERT
            result.Should().Contain("[]");
        }
Exemple #2
0
        public void ConvertDataTable__handle_empty_2()
        {
            // ARRANGE
            var j = new ToJson_Accessor();
            var dt = new DataTable();

            dt.Columns.Add("id", typeof(int));
            dt.Columns.Add("thefoo", typeof(string));

            //ACT
            var result = j.ConvertDataTable(new DataTable());

            //ASSERT
            result.Should().Contain("[]");
        }
Exemple #3
0
        public void ConvertDataTable__converts_datatable_with_one_row()
        {
            // ARRANGE
            var j = new ToJson_Accessor();
            var dt = new DataTable();

            dt.Columns.Add("id", typeof(int));
            dt.Columns.Add("thefoo", typeof(string));

            var row = dt.NewRow();
            row[0] = 5;
            row[1] = "bort";
            dt.Rows.Add(row);

            //ACT
            var result = j.ConvertDataTable(dt);

            //ASSERT
            result.Should().Contain(@"[{").And.Contain("\"id\":").And.Contain("\"thefoo\":").And.Contain("\"bort\"").And.Contain(@"}]");
        }
Exemple #4
0
        public void ConvertDataTable__converts_datatable_with_multiple_rows()
        {
            // ARRANGE
            var j = new ToJson_Accessor();
            var dt = new DataTable();

            dt.Columns.Add("id", typeof(int));
            dt.Columns.Add("thefoo", typeof(string));

            for (int i = 0; i < 5; i++) {
                var row = dt.NewRow();
                row[0] = i;
                row[1] = "bort {0}".Inject(i);
                dt.Rows.Add(row);
            }

            //ACT
            var result = j.ConvertDataTable(dt);

            //ASSERT
            result.Should().Contain(@"[{").And.Contain("},{").And.Contain(@"}]").And.Contain("bort 3");
        }
Exemple #5
0
        public void Convert__returns_numeric_values_value(Type type)
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.Convert("bort", 99845, type);

            //ASSERT
            result.Should().Contain("bort").And.Contain("99845").And.Contain(":").And.NotContain("'99845").And.NotContain("\"99845");
        }
Exemple #6
0
        public void Convert__returns_key_value_for_string()
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.Convert("bort", "mork", typeof(string));

            //ASSERT
            result.Should().Contain("bort").And.Contain("mork").And.Contain(":");
        }
Exemple #7
0
        public void Convert__returns_key_value_for_null_value(Type theType)
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.Convert("bort", null, theType);

            //ASSERT
            result.Should().Contain("bort").And.Contain("null").And.NotContain("'null").And.NotContain("\"null");
        }
Exemple #8
0
        public void Convert__returns_float_value()
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.Convert("bort", 998435.0, typeof(float));

            //ASSERT
            result.Should().Contain("bort").And.Contain("998435").And.Contain(":").And.NotContain("'998435").And.NotContain("\"998435");
        }
Exemple #9
0
        public void Convert__returns_empty_string_if_key_is_null_or_empty(string key)
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.Convert(key, 54, typeof(int));

            //ASSERT
            result.Should().NotBeNull();
            result.Should().BeBlank();
        }
Exemple #10
0
        public void Convert__escapes_delimiter()
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.Convert("bort", "bo\"rt", typeof(string));

            //ASSERT
            result.Should().Contain("bort").And.Contain(@"bo\""rt").And.Contain(":").And.NotContain("bo\"rt");
        }
Exemple #11
0
        public void Convert__returns_boolean_value()
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.Convert("bort", true, typeof(bool));

            //ASSERT
            result.Should().Contain("bort").And.Contain("true").And.Contain(":").And.NotContain("'true").And.NotContain("\"true");
        }
Exemple #12
0
        public void Convert__produces_valid_json_for_long_text()
        {
            // ARRANGE
            var j = new ToJson_Accessor();
            var serializer = new JavaScriptSerializer();
            var longTest = Assembly.GetExecutingAssembly().LoadEmbeddedFile("ToJsonTest.longtext");

            //ACT
            string jsonString = j.Convert("bort", longTest, typeof(string));
            var result = serializer.DeserializeObject("{" + jsonString + "}");

            //ASSERT
            result.Should().NotBeNull();
        }
Exemple #13
0
        public void Convert__produces_valid_json_for_datatable_one_row_and_recognizes_DBNull()
        {
            // ARRANGE
            var j = new ToJson_Accessor();
            var dt = new DataTable();
            var serializer = new JavaScriptSerializer();

            dt.Columns.Add("id", typeof(int));
            dt.Columns.Add("thefoo", typeof(string));

            var row = dt.NewRow();
            row[0] = DBNull.Value;
            row[1] = "bort";
            dt.Rows.Add(row);

            //ACT
            var jsonString = j.ConvertDataTable(dt);
            var result = serializer.DeserializeObject(jsonString);

            //ASSERT
            jsonString.Should().Contain(": null");
            result.Should().NotBeNull();
        }
Exemple #14
0
        public void Convert__produces_valid_json_for_datatable_multiple_rows()
        {
            // ARRANGE
            var j = new ToJson_Accessor();
            var dt = new DataTable();
            var serializer = new JavaScriptSerializer();

            dt.Columns.Add("id", typeof(int));
            dt.Columns.Add("thefoo", typeof(string));

            for (int i = 0; i < 5; i++) {
                var row = dt.NewRow();
                row[0] = i;
                row[1] = "bort {0}".Inject(i);
                dt.Rows.Add(row);
            }

            //ACT
            var jsonString = j.ConvertDataTable(dt);
            var result = serializer.DeserializeObject(jsonString) as object[];

            //ASSERT
            result.Should().NotBeNull();
            result.Should().HaveCount(5);
        }
Exemple #15
0
        public void Convert__produces_valid_json(object value, Type type)
        {
            // ARRANGE
            var j = new ToJson_Accessor();
            var serializer = new JavaScriptSerializer();

            //ACT
            string jsonString = j.Convert("bort", value, type);
            var result = serializer.DeserializeObject("{" + jsonString + "}");

            //ASSERT
            result.Should().NotBeNull();
        }
Exemple #16
0
        public void Convert__maintains_comma()
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.Convert("bort", 4.6, typeof(double));

            //ASSERT
            result.Should().Contain("bort").And.Contain("4.6").And.Contain(":").And.NotContain("'4.6").And.NotContain("\"4.6");
        }
Exemple #17
0
        public void Convert__returns_date_value()
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.Convert("bort", new DateTime(2011, 5, 1, 19, 01, 10), typeof(DateTime));

            //ASSERT
            result.Should().Contain("bort").And.Contain("2011-05-01T19-01-10Z");
        }
Exemple #18
0
        public void Convert__escapes_column_name()
        {
            // ARRANGE
            var j = new ToJson_Accessor();

            //ACT
            var result = j.Convert("bort", "weeeeeeeee", typeof(string));

            //ASSERT
            result.Should().Contain("\"bort\":");
        }