Skip to content

Commit 43c03e3

Browse files
committed
Updated readme.
1 parent 7401a99 commit 43c03e3

File tree

3 files changed

+111
-0
lines changed

3 files changed

+111
-0
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
[![Nuget](http://img.shields.io/nuget/v/Bender.svg?style=flat)](http://www.nuget.org/packages/Bender/) [![TeamCity Build Status](https://img.shields.io/teamcity/http/build.mikeobrien.net/s/bender.svg?style=flat&label=TeamCity)](http://build.mikeobrien.net/viewType.html?buildTypeId=bender&guest=1)
22

33
<img src="https://raw.github.com/mikeobrien/Bender/master/misc/logo.png"/>
4+
5+
### Bender is no longer being maintained. If you are already using it, consider migrating to an actively developed serializer like JSON.NET.
46

57
Bender is a highly configurable xml, json, CSV and form url encoded serialization library for .NET. Unlike other serializers, Bender gives you complete control over the serialization process though a simple API.
68

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
using System;
2+
using Bender;
3+
using Bender.Configuration;
4+
using Bender.Extensions;
5+
using Bender.Nodes;
6+
using NUnit.Framework;
7+
using Should;
8+
9+
namespace Tests.Deserializer.Json
10+
{
11+
[TestFixture]
12+
public class NamingConventionTests
13+
{
14+
public class PascalModel
15+
{
16+
public string FarkFarker { get; set; }
17+
}
18+
19+
public class CamelModel
20+
{
21+
public string farkFarker { get; set; }
22+
}
23+
24+
[Test]
25+
public void Should_deserialze_camel_case_to_pascal_when_using_camel_case_naming_convention()
26+
{
27+
var result = "{\"farkFarker\":\"fark\"}"
28+
.DeserializeJson<PascalModel>(x => x
29+
.UseCamelCaseNaming()
30+
.Deserialization(d => d.FailOnUnmatchedElements()));
31+
32+
result.FarkFarker.ShouldEqual("fark");
33+
}
34+
35+
[Test]
36+
public void Should_deserialze_camel_case_to_camel_when_using_camel_case_naming_convention()
37+
{
38+
var result = "{\"farkFarker\":\"fark\"}"
39+
.DeserializeJson<CamelModel>(x => x
40+
.UseCamelCaseNaming()
41+
.Deserialization(d => d.FailOnUnmatchedElements()));
42+
43+
result.farkFarker.ShouldEqual("fark");
44+
}
45+
46+
[Test]
47+
public void Should_fail_to_deserialze_camel_case_to_pascal_when_using_pascal_case_naming_convention()
48+
{
49+
Assert.Throws<FriendlyMappingException>(() =>
50+
"{\"farkFarker\":\"fark\"}"
51+
.DeserializeJson<PascalModel>(x => x
52+
.UsePascalCaseNaming()
53+
.Deserialization(d => d.FailOnUnmatchedElements())));
54+
}
55+
56+
[Test]
57+
public void Should_fail_to_deserialze_camel_case_to_camel_when_using_pascal_case_naming_convention()
58+
{
59+
Assert.Throws<FriendlyMappingException>(() =>
60+
"{\"farkFarker\":\"fark\"}"
61+
.DeserializeJson<CamelModel>(x => x
62+
.UsePascalCaseNaming()
63+
.Deserialization(d => d.FailOnUnmatchedElements())));
64+
}
65+
66+
[Test]
67+
public void Should_deserialze_pascal_case_to_pascal_when_using_pascal_case_naming_convention()
68+
{
69+
var result = "{\"FarkFarker\":\"fark\"}"
70+
.DeserializeJson<PascalModel>(x => x
71+
.UsePascalCaseNaming()
72+
.Deserialization(d => d.FailOnUnmatchedElements()));
73+
74+
result.FarkFarker.ShouldEqual("fark");
75+
}
76+
77+
[Test]
78+
public void Should_deserialze_pascal_case_to_camel_when_using_pascal_case_naming_convention()
79+
{
80+
var result = "{\"FarkFarker\":\"fark\"}"
81+
.DeserializeJson<CamelModel>(x => x
82+
.UsePascalCaseNaming()
83+
.Deserialization(d => d.FailOnUnmatchedElements()));
84+
85+
result.farkFarker.ShouldEqual("fark");
86+
}
87+
88+
[Test]
89+
public void Should_fail_to_deserialze_pascal_case_to_camel_when_using_camel_case_naming_convention()
90+
{
91+
Assert.Throws<FriendlyMappingException>(() =>
92+
"{\"FarkFarker\":\"fark\"}"
93+
.DeserializeJson<CamelModel>(x => x
94+
.UseCamelCaseNaming()
95+
.Deserialization(d => d.FailOnUnmatchedElements())));
96+
}
97+
98+
[Test]
99+
public void Should_fail_to_deserialze_pascal_case_to_pascal_when_using_camel_case_naming_convention()
100+
{
101+
Assert.Throws<FriendlyMappingException>(() =>
102+
"{\"FarkFarker\":\"fark\"}"
103+
.DeserializeJson<PascalModel>(x => x
104+
.UseCamelCaseNaming()
105+
.Deserialization(d => d.FailOnUnmatchedElements())));
106+
}
107+
}
108+
}

src/Tests/Tests.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
<Compile Include="Serializer\CharacterSeparated\SaveTests.cs" />
123123
<Compile Include="Serializer\CharacterSeparated\Tests.cs" />
124124
<Compile Include="Serializer\FormUrlEncodedTests.cs" />
125+
<Compile Include="Deserializer\Json\NamingConventionTests.cs" />
125126
<Compile Include="TestExtensions.cs" />
126127
<Compile Include="Reflection\CachedMemberTests.cs" />
127128
<Compile Include="Reflection\CachedTypeTests.cs" />

0 commit comments

Comments
 (0)