Skip to content

Commit 4176a53

Browse files
committed
Add tests for Litecoin address payload generator
1 parent 31389a3 commit 4176a53

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

QRCoderTests/PayloadGeneratorTests.cs

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,97 @@ public void bitcoincash_address_generator_disregards_current_culture()
191191
.ToString()
192192
.ShouldBe("bitcoincash:qqtlfk37qyey50f4wfuhc7jw85zsdp8s2swffjk890?amount=.123");
193193

194+
#if NETCOREAPP1_1
195+
CultureInfo.DefaultThreadCurrentCulture = currentCulture;
196+
#else
197+
Thread.CurrentThread.CurrentCulture = currentCulture;
198+
#endif
199+
}
200+
201+
[Fact]
202+
[Category("PayloadGenerator/LitecoinAddress")]
203+
public void litecoin_address_generator_can_generate_address()
204+
{
205+
var address = "LY1t7iLnwtPCb1DPZP38FA835XzFqXBq54";
206+
var amount = .123;
207+
var label = "Some Label to Encode";
208+
var message = "Some Message to Encode";
209+
210+
var generator = new PayloadGenerator.LitecoinAddress(address, amount, label, message);
211+
212+
generator
213+
.ToString()
214+
.ShouldBe("litecoin:LY1t7iLnwtPCb1DPZP38FA835XzFqXBq54?label=Some%20Label%20to%20Encode&message=Some%20Message%20to%20Encode&amount=.123");
215+
}
216+
217+
[Fact]
218+
[Category("PayloadGenerator/LitecoinAddress")]
219+
public void litecoin_address_generator_should_skip_missing_label()
220+
{
221+
var address = "LY1t7iLnwtPCb1DPZP38FA835XzFqXBq54";
222+
var amount = .123;
223+
var message = "Some Message to Encode";
224+
225+
226+
var generator = new PayloadGenerator.LitecoinAddress(address, amount, null, message);
227+
228+
generator
229+
.ToString()
230+
.ShouldNotContain("label");
231+
}
232+
233+
[Fact]
234+
[Category("PayloadGenerator/LitecoinAddress")]
235+
public void litecoin_address_generator_should_skip_missing_message()
236+
{
237+
var address = "LY1t7iLnwtPCb1DPZP38FA835XzFqXBq54";
238+
var amount = .123;
239+
240+
241+
var generator = new PayloadGenerator.LitecoinAddress(address, amount);
242+
243+
generator
244+
.ToString()
245+
.ShouldNotContain("message");
246+
}
247+
248+
[Fact]
249+
[Category("PayloadGenerator/LitecoinAddress")]
250+
public void litecoin_address_generator_should_round_to_satoshi()
251+
{
252+
var address = "LY1t7iLnwtPCb1DPZP38FA835XzFqXBq54";
253+
var amount = .123456789;
254+
255+
256+
var generator = new PayloadGenerator.LitecoinAddress(address, amount);
257+
258+
generator
259+
.ToString()
260+
.ShouldContain("amount=.12345679");
261+
}
262+
263+
[Fact]
264+
[Category("PayloadGenerator/LitecoinAddress")]
265+
public void litecoin_address_generator_disregards_current_culture()
266+
{
267+
#if NETCOREAPP1_1
268+
var currentCulture = CultureInfo.DefaultThreadCurrentCulture;
269+
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("de-DE");
270+
#else
271+
var currentCulture = Thread.CurrentThread.CurrentCulture;
272+
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
273+
#endif
274+
275+
var address = "LY1t7iLnwtPCb1DPZP38FA835XzFqXBq54";
276+
var amount = .123;
277+
278+
279+
var generator = new PayloadGenerator.LitecoinAddress(address, amount);
280+
281+
generator
282+
.ToString()
283+
.ShouldBe("litecoin:LY1t7iLnwtPCb1DPZP38FA835XzFqXBq54?amount=.123");
284+
194285
#if NETCOREAPP1_1
195286
CultureInfo.DefaultThreadCurrentCulture = currentCulture;
196287
#else

0 commit comments

Comments
 (0)