public void Json_Equal_Test() { TestData_Json testClass1 = JsonTestClass(); #region Test1: Convert_CloneType() // =========================================== var testClass2 = _json.Convert_CloneType(testClass1); string error; Assert.True(_json.Object_IsEqual(testClass1, testClass2, out error)); #endregion #region Test2: // =========================================== DebugLog("Test:Change on property and show error"); DebugLog("======================================"); testClass2.Roles[0] = "new value"; Assert.False(_json.Object_IsEqual(testClass1, testClass2, out error)); DebugLog(error); var errorRestult = @"Error! No match found at index = 8. Values differ at pos = 6. Value1: ' ""User"",' != Value2: ' ""new value"",'; Diff??: ------^"; Assert.Equal(errorRestult, error); #endregion }
private TestData_Json JsonTestClass() { var json_TestClass = new TestData_Json(); Assert.Equal("json_Test_Data", json_TestClass.Name); json_TestClass.Email = "*****@*****.**"; json_TestClass.Active = true; json_TestClass.CreatedDate = new DateTime(2013, 1, 20, 0, 0, 0, DateTimeKind.Utc); json_TestClass.Roles.Clear(); json_TestClass.Roles.Add("User"); json_TestClass.Roles.Add("Admin"); return(json_TestClass); }
public void Object_ToDictionary_Test() { // Test data var json = new TestData_Json(); json.Active = true; json.CreatedDate = new DateTime(2016, 1, 1); json.Email = "email"; json.Roles.Clear(); json.Roles.Add("Mr"); json.Roles.Add("Mev"); json.Roles.Add("Mej"); // Stream the object var dict = _lamed.Types.Dictionary.Object_ToDictionary(json); var lines = dict.Select(x => $"{x.Key} = {x.Value.zObject().AsStr()}").ToList(); var str = lines.zTo_Str(", "); // Test Assert.Equal("Email = email, Active = true, CreatedDate = 2016-01-01 12:00:00 AM, Roles = [Mr,Mev,Mej], Name = json_Test_Data", str); Assert.Equal("Email = email, Active = true, CreatedDate = 2016-01-01 12:00:00 AM, Roles = [Mr,Mev,Mej], Name = json_Test_Data", json.zObject().AsStr()); }
public void Object_ToJson_Test() { // Setup the data #region Test1: json = Convert_FromObject(json_TestClass); // =========================================== // Null class test TestData_Json json_TestClass = null; string json1 = _json.Convert_FromObject(json_TestClass); Assert.Equal("", json1); // Instanciated class json_TestClass = JsonTestClass(); json1 = _json.Convert_FromObject(json_TestClass, false); var json1b = _json.Convert_FromObject(json_TestClass, true); Assert.Equal(json1, json1b); string jsonResult = @"{ ""FieldObject"": { ""Text"": ""Undefined"" }, ""Email"": ""*****@*****.**"", ""Active"": true, ""CreatedDate"": ""2013-01-20T00:00:00Z"", ""Roles"": [ ""User"", ""Admin"" ], ""Name"": ""json_Test_Data"" }"; Assert.Equal(jsonResult, json1); #endregion #region Test2: Convert_ToType // =========================================== var json_TestClass2 = _json.Convert_ToType <TestData_Json>(json1); Assert.Equal(json_TestClass.Email, json_TestClass2.Email); Assert.Equal(json_TestClass.Active, json_TestClass2.Active); Assert.Equal(json_TestClass.CreatedDate, json_TestClass2.CreatedDate); Assert.Equal(json_TestClass.Roles.Count, json_TestClass2.Roles.Count); Assert.Equal(json_TestClass.Roles[0], json_TestClass2.Roles[0]); Assert.Equal(json_TestClass.Roles[1], json_TestClass2.Roles[1]); string error; Assert.True(_lamed.Types.Object.IsEqual(json_TestClass, json_TestClass2, out error), error); #endregion #region Convert to json and filter for fields string json2 = _json.Convert_FromObject(json_TestClass, false, "Email", "Active"); string json2Result = @"{ ""Email"": ""*****@*****.**"", ""Active"": true }"; Assert.Equal(json2Result, json2); // Filter for field 'Active2' that does not exists var ex = Assert.Throws <InvalidOperationException>(() => _json.Convert_FromObject(json_TestClass, false, "Email", "Active", "Active2")); Assert.Equal("Error! The following fields were not found: Active2", ex.Message); #endregion }