forked from codebude/QRCoder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPostscriptQRCodeRendererTests.cs
84 lines (71 loc) · 2.83 KB
/
PostscriptQRCodeRendererTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#if !NETCOREAPP1_1
using System;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using QRCoder;
using QRCoderTests.Helpers;
using Shouldly;
using Xunit;
namespace QRCoderTests;
public class PostscriptQRCodeRendererTests
{
[Fact]
public void can_render_postscript_qrcode_simple()
{
//Create QR code
var gen = new QRCodeGenerator();
var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.L);
var ps = new PostscriptQRCode(data).GetGraphic(5);
var result = HelperFunctions.StringToHash(RemoveCreationDate(ps));
result.ShouldBe("06b90d1e64bf022a248453e5f91101a0");
}
[Fact]
public void can_render_postscript_qrcode_eps()
{
//Create QR code
var gen = new QRCodeGenerator();
var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.L);
var ps = new PostscriptQRCode(data).GetGraphic(5, true);
var result = HelperFunctions.StringToHash(RemoveCreationDate(ps));
result.ShouldBe("50f6152cdb0b685595d80e7888712d3b");
}
[Fact]
public void can_render_postscript_qrcode_size()
{
//Create QR code
var gen = new QRCodeGenerator();
var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.L);
var ps = new PostscriptQRCode(data).GetGraphic(new Size(33, 33));
var result = HelperFunctions.StringToHash(RemoveCreationDate(ps));
result.ShouldBe("49c7faaafef312eb4b6ea1fec195e63d");
}
[Fact]
public void can_render_postscript_qrcode_size_no_quiet_zones()
{
//Create QR code
var gen = new QRCodeGenerator();
var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.L);
var ps = new PostscriptQRCode(data).GetGraphic(new Size(50, 50), false);
var result = HelperFunctions.StringToHash(RemoveCreationDate(ps));
result.ShouldBe("9bfa0468e125d9815a39902133a10762");
}
[Fact]
public void can_render_postscript_qrcode_colors()
{
//Create QR code
var gen = new QRCodeGenerator();
var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.L);
var ps = new PostscriptQRCode(data).GetGraphic(5, Color.Red, Color.Blue);
var result = HelperFunctions.StringToHash(RemoveCreationDate(ps));
result.ShouldBe("2e001d7f67a446eb1b5df32ff5321808");
}
private static string RemoveCreationDate(string text)
{
// Regex pattern to match lines that start with %%CreationDate: followed by any characters until the end of the line
string pattern = @"%%CreationDate:.*\r?\n?";
// Use Regex.Replace to remove matching lines
return Regex.Replace(text, pattern, string.Empty, RegexOptions.Multiline);
}
}
#endif