Skip to content

Commit

Permalink
Update test project to multi-target. Update MyGet.bat to run tests ag…
Browse files Browse the repository at this point in the history
…ainst all targets.
  • Loading branch information
csturm83 committed Jul 27, 2019
1 parent 79c1ad7 commit 2978076
Show file tree
Hide file tree
Showing 8 changed files with 80 additions and 137 deletions.
2 changes: 2 additions & 0 deletions MyGet.bat
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ certUtil -hashfile "QRCoder\bin\%config%\netstandard1.1\QRCoder.dll" md5
powershell -Command "[Reflection.Assembly]::ReflectionOnlyLoadFrom(\"%cd%\QRCoder\bin\%config%\netstandard2.0\QRCoder.dll\").ImageRuntimeVersion"
certUtil -hashfile "QRCoder\bin\%config%\netstandard2.0\QRCoder.dll" md5

dotnet test QRCoderTests\QRCoderTests.csproj

dotnet pack QRCoder\QRCoder.csproj -c %config% --no-build
6 changes: 0 additions & 6 deletions QRCoderTests/App.config

This file was deleted.

12 changes: 10 additions & 2 deletions QRCoderTests/CategoryDiscoverer.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
#if !NET35
using Xunit.Abstractions;
#endif
using Xunit.Sdk;

namespace QRCoderTests.XUnitExtenstions
{
#if NET35
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
public class CategoryAttribute : Attribute
{
public CategoryAttribute(string category) { }
}
#else
public class CategoryDiscoverer : ITraitDiscoverer
{
public const string KEY = "Category";
Expand All @@ -26,4 +33,5 @@ public class CategoryAttribute : Attribute, ITraitAttribute
{
public CategoryAttribute(string category) { }
}
#endif
}
47 changes: 28 additions & 19 deletions QRCoderTests/PayloadGeneratorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,13 @@ public void bitcoin_address_generator_should_round_to_satoshi()
[Category("PayloadGenerator/BitcoinAddress")]
public void bitcoin_address_generator_disregards_current_culture()
{
#if NETCOREAPP1_1
var currentCulture = CultureInfo.DefaultThreadCurrentCulture;
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("de-DE");
#else
var currentCulture = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
#endif

var address = "175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W";
var amount = .123;
Expand All @@ -95,7 +100,11 @@ public void bitcoin_address_generator_disregards_current_culture()
.ToString()
.ShouldBe("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=.123");

#if NETCOREAPP1_1
CultureInfo.DefaultThreadCurrentCulture = currentCulture;
#else
Thread.CurrentThread.CurrentCulture = currentCulture;
#endif
}


Expand Down Expand Up @@ -562,8 +571,8 @@ public void calendarevent_should_build_universal()
var description = "A small party for the new QRCoder. Bring some beer!";
var location = "Programmer's paradise, Beachtown, Paradise";
var alldayEvent = false;
var begin = new DateTime(2016,01,03,12,00,00);
var end = new DateTime(2016,01,03,14,30,0);
var begin = new DateTime(2016, 01, 03, 12, 00, 00);
var end = new DateTime(2016, 01, 03, 14, 30, 0);
var encoding = PayloadGenerator.CalendarEvent.EventEncoding.Universal;

var generator = new PayloadGenerator.CalendarEvent(subject, description, location, begin, end, alldayEvent, encoding);
Expand Down Expand Up @@ -648,7 +657,7 @@ public void calendarevent_should_add_unused_params()
public void iban_validator_validate_german_iban()
{
var iban = "DE15268500010154131577";

MethodInfo method = typeof(PayloadGenerator).GetMethod("IsValidIban", BindingFlags.NonPublic | BindingFlags.Static);
var result = (bool)method.Invoke(null, new object[] { iban });

Expand Down Expand Up @@ -1035,7 +1044,7 @@ public void bezahlcode_generator_can_generate_payload_singlepayment_minimal()

generator
.ToString()
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00&currency=EUR&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00&currency=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand All @@ -1055,7 +1064,7 @@ public void bezahlcode_generator_can_generate_payload_singlepayment_full()

generator
.ToString()
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&postingkey=69&amount=10,00&reason=Thanks%20for%20all%20your%20efforts&currency=USD&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&postingkey=69&amount=10,00&reason=Thanks%20for%20all%20your%20efforts&currency=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand All @@ -1075,7 +1084,7 @@ public void bezahlcode_generator_can_generate_payload_singledirectdebit()

generator
.ToString()
.ShouldBe("bank://singledirectdebit?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&postingkey=69&amount=10,00&reason=Thanks%20for%20all%20your%20efforts&currency=USD&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singledirectdebit?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&postingkey=69&amount=10,00&reason=Thanks%20for%20all%20your%20efforts&currency=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand Down Expand Up @@ -1116,7 +1125,7 @@ public void bezahlcode_generator_can_generate_payload_singlepaymentsepa_minimal(

generator
.ToString()
.ShouldBe("bank://singlepaymentsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&amount=10,00&currency=EUR&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singlepaymentsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&amount=10,00&currency=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand All @@ -1132,11 +1141,11 @@ public void bezahlcode_generator_can_generate_payload_singlepaymentsepa_full()
var amount = 10.00m;
Currency currency = Currency.USD;

var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepaymentsepa, name, iban, bic, amount, "", 0, null, null, "", "", new DateTime(2017,03,01), reason, sepaReference, currency, DateTime.Now);
var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepaymentsepa, name, iban, bic, amount, "", 0, null, null, "", "", new DateTime(2017, 03, 01), reason, sepaReference, currency, DateTime.Now);

generator
.ToString()
.ShouldBe("bank://singlepaymentsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&separeference=Fake%20SEPA%20reference&amount=10,00&reason=Thanks%20for%20all%20your%20efforts&currency=USD&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singlepaymentsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&separeference=Fake%20SEPA%20reference&amount=10,00&reason=Thanks%20for%20all%20your%20efforts&currency=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand All @@ -1154,11 +1163,11 @@ public void bezahlcode_generator_can_generate_payload_singledirectdebitsepa()
var amount = 10.00m;
Currency currency = Currency.USD;

var generator = new PayloadGenerator.BezahlCode(AuthorityType.singledirectdebitsepa, name, iban, bic, amount, "", 0, null, null, creditorId, mandateId, new DateTime(2017,03,01), reason, sepaReference, currency, DateTime.Now);
var generator = new PayloadGenerator.BezahlCode(AuthorityType.singledirectdebitsepa, name, iban, bic, amount, "", 0, null, null, creditorId, mandateId, new DateTime(2017, 03, 01), reason, sepaReference, currency, DateTime.Now);

generator
.ToString()
.ShouldBe("bank://singledirectdebitsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&separeference=Fake%20SEPA%20reference&creditorid=DE%2002%20TSV%2001234567890&mandateid=987543CB2&dateofsignature=01032017&amount=10,00&reason=Thanks%20for%20all%20your%20efforts&currency=USD&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singledirectdebitsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&separeference=Fake%20SEPA%20reference&creditorid=DE%2002%20TSV%2001234567890&mandateid=987543CB2&dateofsignature=01032017&amount=10,00&reason=Thanks%20for%20all%20your%20efforts&currency=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand All @@ -1182,7 +1191,7 @@ public void bezahlcode_generator_can_generate_payload_periodicsinglepaymentsepa(

generator
.ToString()
.ShouldBe("bank://periodicsinglepaymentsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&separeference=Fake%20SEPA%20reference&amount=10,00&reason=Thanks%20for%20all%20your%20efforts&currency=USD&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"&periodictimeunit=M&periodictimeunitrotation=1&periodicfirstexecutiondate=" + periodicFirstExecutionDate.ToString("ddMMyyyy") + "&periodiclastexecutiondate=" + periodicLastExecutionDate.ToString("ddMMyyyy"));
.ShouldBe("bank://periodicsinglepaymentsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&separeference=Fake%20SEPA%20reference&amount=10,00&reason=Thanks%20for%20all%20your%20efforts&currency=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "&periodictimeunit=M&periodictimeunitrotation=1&periodicfirstexecutiondate=" + periodicFirstExecutionDate.ToString("ddMMyyyy") + "&periodiclastexecutiondate=" + periodicLastExecutionDate.ToString("ddMMyyyy"));
}


Expand Down Expand Up @@ -1282,7 +1291,7 @@ public void bezahlcode_generator_should_handle_account_whitespaces()

generator
.ToString()
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=01194700&bnc=100205000&amount=10,00&currency=EUR&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=01194700&bnc=100205000&amount=10,00&currency=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand All @@ -1299,7 +1308,7 @@ public void bezahlcode_generator_should_handle_bnc_whitespaces()

generator
.ToString()
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00&currency=EUR&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00&currency=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand All @@ -1316,7 +1325,7 @@ public void bezahlcode_generator_should_handle_iban_whitespaces()

generator
.ToString()
.ShouldBe("bank://singlepaymentsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&amount=10,00&currency=EUR&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singlepaymentsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&amount=10,00&currency=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand All @@ -1333,7 +1342,7 @@ public void bezahlcode_generator_should_handle_bic_whitespaces()

generator
.ToString()
.ShouldBe("bank://singlepaymentsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&amount=10,00&currency=EUR&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singlepaymentsepa?name=Wikimedia%20F%C3%B6rdergesellschaft&iban=DE33100205000001194700&bic=BFSWDE33BER&amount=10,00&currency=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand All @@ -1350,7 +1359,7 @@ public void bezahlcode_generator_should_add_decimals()

generator
.ToString()
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00&currency=EUR&executiondate="+DateTime.Now.ToString("ddMMyyyy")+"");
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00&currency=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
}


Expand Down Expand Up @@ -2214,7 +2223,7 @@ public void swissqrcode_generator_should_generate_swisscode_full()
var contactGeneral = new PayloadGenerator.SwissQrCode.Contact("John Doe", "3003", "Bern", "CH", "Parlamentsgebäude", "1");
var iban = new PayloadGenerator.SwissQrCode.Iban("CH2609000000857666015", PayloadGenerator.SwissQrCode.Iban.IbanType.QrIban);
var reference = new PayloadGenerator.SwissQrCode.Reference(ReferenceType.QRR, "990005000000000320071012303", ReferenceTextType.QrReference);
var currency = PayloadGenerator.SwissQrCode.Currency.CHF;
var currency = PayloadGenerator.SwissQrCode.Currency.CHF;
var additionalInformation = new PayloadGenerator.SwissQrCode.AdditionalInformation("This is my unstructured message.", "Some bill information here...");
var amount = 100.25m;
var reqDateOfPayment = new DateTime(2017, 03, 01);
Expand Down Expand Up @@ -2470,7 +2479,7 @@ public void contactdata_generator_can_generate_payload_full_mecard()
var mobilePhone = "+421701234567";
var workPhone = "+4253211337";
var email = "[email protected]";
var birthday = new DateTime(1970,02,01);
var birthday = new DateTime(1970, 02, 01);
var website = "http://john.doe";
var street = "Long street";
var houseNumber = "42";
Expand Down
12 changes: 5 additions & 7 deletions QRCoderTests/QRCodeRendererTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,15 @@
using QRCoder;
using Shouldly;
using QRCoderTests.XUnitExtenstions;
using System.Collections.Generic;
using System.Reflection;
using System.IO;
using System.Drawing.Imaging;
using System.Security.Cryptography;

namespace QRCoderTests
{

public class QRCodeRendererTests
{
{
#if !NETCOREAPP1_1
[Fact]
[Category("QRRenderer/QRCode")]
public void can_create_standard_qrcode_graphic()
Expand All @@ -24,7 +21,7 @@ public void can_create_standard_qrcode_graphic()
var bmp = new QRCode(data).GetGraphic(10);

var ms = new MemoryStream();
bmp.Save(ms, ImageFormat.Bmp);
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
var imgBytes = ms.ToArray();
var md5 = new MD5CryptoServiceProvider();
var hash = md5.ComputeHash(imgBytes);
Expand All @@ -33,6 +30,7 @@ public void can_create_standard_qrcode_graphic()

result.ShouldBe("41d3313c10d84034d67d476eec04163f");
}
#endif
}
}

Expand Down
Loading

0 comments on commit 2978076

Please sign in to comment.