Skip to content

Commit 753aadf

Browse files
authored
Fixed tests to work at least for .NET 8 (#275)
* Fixed tests to work at least for .NET 8 --------- Signed-off-by: Roberto Paterlini <[email protected]>
1 parent d0d0cd2 commit 753aadf

File tree

11 files changed

+157
-48
lines changed

11 files changed

+157
-48
lines changed

README.md

+15
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,21 @@ VS.NET
190190
Visual Studio 2022 is required to open and build the solution. The free community version of Visual Studio should
191191
suffice.
192192

193+
### Running tests
194+
195+
- To run tests that require a database connection, you need:
196+
- SqlServer running in (local)
197+
- Check in `SQL Server Configuration Manager` that `Named Pipes` and `TCP/IP` protocols are enabled
198+
- From `build-support` execute
199+
- `create-integration-test-databases-and-users.sql`
200+
- From `\test\Spring\Spring.Data.Integration.Tests\Data` execute
201+
- `Spring.Data.Integration.Tests_Spring_database.sql`
202+
- `Spring.Data.Integration.Tests_Credits_database.sql`
203+
- `Spring.Data.Integration.Tests_Debits_database.sql`
204+
- `Spring.Data.Integration.Tests_CreditsAndDebits_database.sql`
205+
- Create a database named `quartz` and execute `tables_sqlServer_Below2016.sql` from [Quartz.NET](https://github.com/quartznet/quartznet/blob/main/database/tables/tables_sqlServer_Below2016.sql)
206+
207+
193208
## Acknowledgements
194209

195210
InnovaSys Document X!

test/Spring/Spring.Core.Tests/Globalization/Formatters/CurrencyFormatterTests.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ public void FormatUsingDefaults()
6666
fmt = new CurrencyFormatter(CultureInfoUtils.SerbianCyrillicCultureName);
6767

6868
#if NETFRAMEWORK
69-
Assert.AreEqual("1.234,00 дин.", fmt.Format(1234));
70-
Assert.AreEqual("1.234,56 дин.", fmt.Format(1234.56));
71-
Assert.AreEqual("-1.234,00 дин.", fmt.Format(-1234));
72-
Assert.AreEqual("-1.234,56 дин.", fmt.Format(-1234.56));
69+
Assert.AreEqual("1.234,00 дин.", fmt.Format(1234));
70+
Assert.AreEqual("1.234,56 дин.", fmt.Format(1234.56));
71+
Assert.AreEqual("-1.234,00 дин.", fmt.Format(-1234));
72+
Assert.AreEqual("-1.234,56 дин.", fmt.Format(-1234.56));
7373
#else
7474
Assert.AreEqual("1.234 RSD", fmt.Format(1234));
7575
Assert.AreEqual("1.235 RSD", fmt.Format(1234.56));

test/Spring/Spring.Core.Tests/Globalization/Formatters/FloatFormatterTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ public void FormatUsingDefaults()
5656

5757
fmt = new FloatFormatter(FloatFormatter.DefaultFormat, "sr-SP-Latn");
5858
#if NETFRAMEWORK
59-
Assert.AreEqual("1234,00", fmt.Format(1234));
60-
Assert.AreEqual("-1234,00", fmt.Format(-1234));
59+
Assert.AreEqual("1234,00", fmt.Format(1234));
60+
Assert.AreEqual("-1234,00", fmt.Format(-1234));
6161
#else
6262
Assert.AreEqual("1234,000", fmt.Format(1234));
6363
Assert.AreEqual("-1234,000", fmt.Format(-1234));

test/Spring/Spring.Core.Tests/Globalization/Formatters/NumberFormatterTests.cs

+8-8
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ public void FormatUsingDefaults()
5858

5959
fmt = new NumberFormatter("sr-SP-Latn");
6060
#if NETFRAMEWORK
61-
Assert.AreEqual("1.234,00", fmt.Format(1234));
62-
Assert.AreEqual("1.234,56", fmt.Format(1234.56));
63-
Assert.AreEqual("-1.234,00", fmt.Format(-1234));
64-
Assert.AreEqual("-1.234,56", fmt.Format(-1234.56));
61+
Assert.AreEqual("1.234,00", fmt.Format(1234));
62+
Assert.AreEqual("1.234,56", fmt.Format(1234.56));
63+
Assert.AreEqual("-1.234,00", fmt.Format(-1234));
64+
Assert.AreEqual("-1.234,56", fmt.Format(-1234.56));
6565
#else
6666
Assert.AreEqual("1.234,000", fmt.Format(1234));
6767
Assert.AreEqual("1.234,560", fmt.Format(1234.56));
@@ -104,10 +104,10 @@ public void FormatUsingCustomSettings()
104104
fmt.GroupSeparator = "'";
105105

106106
#if NETFRAMEWORK
107-
Assert.AreEqual("1'23'4,00", fmt.Format(1234));
108-
Assert.AreEqual("1'23'4,56", fmt.Format(1234.56));
109-
Assert.AreEqual("-1'23'4,00", fmt.Format(-1234));
110-
Assert.AreEqual("-1'23'4,56", fmt.Format(-1234.56));
107+
Assert.AreEqual("1'23'4,00", fmt.Format(1234));
108+
Assert.AreEqual("1'23'4,56", fmt.Format(1234.56));
109+
Assert.AreEqual("-1'23'4,00", fmt.Format(-1234));
110+
Assert.AreEqual("-1'23'4,56", fmt.Format(-1234.56));
111111
#else
112112
Assert.AreEqual("1'23'4,000", fmt.Format(1234));
113113
Assert.AreEqual("1'23'4,560", fmt.Format(1234.56));

test/Spring/Spring.Core.Tests/Globalization/Formatters/PercentFormatterTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ public void FormatUsingDefaults()
5656

5757
fmt = new PercentFormatter("sr-SP-Latn");
5858
#if NETFRAMEWORK
59-
Assert.AreEqual("25,00%", fmt.Format(0.25));
60-
Assert.AreEqual("25,34%", fmt.Format(0.2534));
59+
Assert.AreEqual("25,00%", fmt.Format(0.25));
60+
Assert.AreEqual("25,34%", fmt.Format(0.2534));
6161
#else
6262
Assert.AreEqual("25,000%", fmt.Format(0.25));
6363
Assert.AreEqual("25,340%", fmt.Format(0.2534));

test/Spring/Spring.Core.Tests/Objects/Factory/Config/VariableAccessorTests.cs

+47-27
Original file line numberDiff line numberDiff line change
@@ -32,32 +32,37 @@ public class VariableAccessorTests
3232
private static readonly DateTime TESTDATETIME = new DateTime(2007, 07, 06, 11, 12, 13);
3333
private static readonly DateTime TESTDATETIME_DEFAULT = TESTDATETIME.AddDays(-1);
3434

35-
private readonly IVariableSource _testVariableSource = new DictionaryVariableSource(null, true)
36-
.Add("ValidString", "String")
37-
.Add("EmptyString", "")
38-
.Add("ValidChar", "c")
39-
.Add("InvalidChar", "12")
40-
.Add("ValidBoolean", "true")
41-
.Add("InvalidBoolean", "")
42-
.Add("ValidByte", "1")
43-
.Add("InvalidByte", "")
44-
.Add("ValidInt16", "1")
45-
.Add("InvalidInt16", "")
46-
.Add("ValidInt32", "1")
47-
.Add("InvalidInt32", "")
48-
.Add("ValidInt64", "1")
49-
.Add("InvalidInt64", "")
50-
.Add("ValidFloat", "1")
51-
.Add("InvalidFloat", "")
52-
.Add("ValidDouble", "1")
53-
.Add("InvalidDouble", "")
54-
.Add("ValidDecimal", "1")
55-
.Add("InvalidDecimal", "")
56-
.Add("ValidGuid", TESTGUID.ToString())
57-
.Add("InvalidGuid", "")
58-
.Add("ValidDateTime", TESTDATETIME.ToString(CultureInfo.InvariantCulture))
59-
.Add("InvalidDateTime", "blabla")
60-
.Add("ValidDateTimeUtcRoundtripFormatted", TESTDATETIME.ToUniversalTime().ToString("u"));
35+
private readonly IVariableSource _testVariableSource = GetTestVariableSource();
36+
37+
private static DictionaryVariableSource GetTestVariableSource()
38+
{
39+
return new DictionaryVariableSource(null, true)
40+
.Add("ValidString", "String")
41+
.Add("EmptyString", "")
42+
.Add("ValidChar", "c")
43+
.Add("InvalidChar", "12")
44+
.Add("ValidBoolean", "true")
45+
.Add("InvalidBoolean", "")
46+
.Add("ValidByte", "1")
47+
.Add("InvalidByte", "")
48+
.Add("ValidInt16", "1")
49+
.Add("InvalidInt16", "")
50+
.Add("ValidInt32", "1")
51+
.Add("InvalidInt32", "")
52+
.Add("ValidInt64", "1")
53+
.Add("InvalidInt64", "")
54+
.Add("ValidFloat", "1")
55+
.Add("InvalidFloat", "")
56+
.Add("ValidDouble", "1")
57+
.Add("InvalidDouble", "")
58+
.Add("ValidDecimal", "1")
59+
.Add("InvalidDecimal", "")
60+
.Add("ValidGuid", TESTGUID.ToString())
61+
.Add("InvalidGuid", "")
62+
.Add("ValidDateTime", TESTDATETIME.ToString())
63+
.Add("InvalidDateTime", "blabla")
64+
.Add("ValidDateTimeUtcRoundtripFormatted", TESTDATETIME.ToUniversalTime().ToString("u"));
65+
}
6166

6267
[Test]
6368
public void AcceptsNullVariableSource()
@@ -167,9 +172,24 @@ public void GetGuid()
167172
}
168173

169174
[Test]
175+
[SetCulture("en-US")]
170176
public void GetDateTime()
171177
{
172-
VariableAccessor va = new VariableAccessor(_testVariableSource);
178+
var testVariables = GetTestVariableSource();
179+
DoGetDateTime(testVariables);
180+
}
181+
182+
[Test]
183+
[SetCulture("it-IT")]
184+
public void GetDateTimeIt()
185+
{
186+
var testVariables = GetTestVariableSource();
187+
DoGetDateTime(testVariables);
188+
}
189+
190+
public static void DoGetDateTime(DictionaryVariableSource testVariables)
191+
{
192+
var va = new VariableAccessor(testVariables);
173193
Assert.AreEqual(TESTDATETIME, va.GetDateTime("ValidDateTime", null, TESTDATETIME_DEFAULT));
174194
Assert.AreEqual(TESTDATETIME.ToUniversalTime(), va.GetDateTime("ValidDateTimeUtcRoundtripFormatted", "u", TESTDATETIME_DEFAULT));
175195
Assert.AreEqual(TESTDATETIME_DEFAULT, va.GetDateTime("InvalidDateTime", null, TESTDATETIME_DEFAULT, false));

test/Spring/Spring.Data.Integration.Tests/Data/templateTests.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<property name="logMethodArguments" value="true" />
1313

1414
<property name="Separator" value=";" />
15-
<property name="LogLevel" value="Info" />
15+
<property name="LogLevel" value="Information" />
1616

1717
<property name="HideProxyTypeNames" value="true" />
1818
<property name="UseDynamicLogger" value="true" />

test/Spring/Spring.Data.NHibernate5.Integration.Tests/Data/NHibernate/templateTests.xml

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@
2525
<property name="DbProvider" ref="DbProvider" />
2626
<property name="MappingResources">
2727
<list>
28-
<value>assembly://Spring.Data.NHibernate5.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml
29-
</value>
28+
<value>assembly://Spring.Data.NHibernate5.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml</value>
3029
</list>
3130
</property>
3231
<!--
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<objects xmlns="http://www.springframework.net"
3+
xmlns:aop="http://www.springframework.net/aop"
4+
xmlns:db="http://www.springframework.net/database"
5+
xmlns:tx="http://www.springframework.net/tx">
6+
7+
8+
<!-- Property placeholder configurer for database settings -->
9+
10+
<object type="Spring.Objects.Factory.Config.PropertyPlaceholderConfigurer, Spring.Core">
11+
<property name="ConfigSections" value="appSettings" />
12+
</object>
13+
14+
<!-- DB -->
15+
16+
<db:provider id="dbProvider" provider="SqlServer" connectionString="Server=(local);initial catalog=quartz;Integrated Security=true" />
17+
18+
<object id="transactionManager" type="Spring.Data.Core.TxScopeTransactionManager, Spring.Data">
19+
20+
</object>
21+
22+
<!-- And actual Quartz -->
23+
24+
<object id="quartzSchedulerFactory" type="Spring.Scheduling.Quartz.SchedulerFactoryObject, Spring.Scheduling.Quartz3">
25+
<property name="AutoStartup" value="true" />
26+
<property name="StartupDelay" value="5s" />
27+
<property name="QuartzProperties">
28+
<dictionary>
29+
<entry key="quartz.serializer.type" value="binary" />
30+
<entry key="quartz.threadPool.threadCount" value="10" />
31+
<entry key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
32+
<entry key="quartz.threadPool.threadPriority" value="Normal" />
33+
<entry key="quartz.jobStore.misfireThreshold" value="60000" />
34+
<entry key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.StdAdoDelegate, Quartz" />
35+
<entry key="quartz.jobStore.useProperties" value="false" />
36+
<entry key="quartz.jobStore.tablePrefix" value="QRTZ_" />
37+
<entry key="quartz.jobStore.lockHandler.type" value="Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz" />
38+
</dictionary>
39+
</property>
40+
<property name="triggers">
41+
<list>
42+
<ref object="simpleTrigger" />
43+
</list>
44+
</property>
45+
<property name="DbProvider" ref="dbProvider" />
46+
<property name="TransactionManager" ref="transactionManager" />
47+
</object>
48+
49+
<object id="testJob" type="Spring.Scheduling.Quartz.JobDetailObject, Spring.Scheduling.Quartz3">
50+
<property name="JobType"
51+
value="Spring.Scheduling.Quartz.Integration.Tests.TestJob, Spring.Scheduling.Quartz3.Integration.Tests" />
52+
</object>
53+
54+
<object id="simpleTrigger" type="Spring.Scheduling.Quartz.SimpleTriggerObject, Spring.Scheduling.Quartz3">
55+
<!-- see the example of method invoking job above -->
56+
<property name="jobDetail" ref="testJob" />
57+
<!-- 2 seconds -->
58+
<property name="startDelay" value="2s" />
59+
<!-- repeat every 3 seconds -->
60+
<property name="repeatInterval" value="3s" />
61+
</object>
62+
63+
64+
</objects>

test/Spring/Spring.Scheduling.Quartz3.Integration.Tests/Scheduling/Quartz/LocalDataSourceJobStoreTest.cs

+7-2
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,18 @@ namespace Spring.Scheduling.Quartz.Integration.Tests;
2323
[TestFixture]
2424
public class LocalDataSourceJobStoreTest
2525
{
26-
private IApplicationContext ctx;
26+
private IApplicationContext _ctx;
2727

2828
[SetUp]
2929
public void SetUp()
3030
{
31-
ctx = new XmlApplicationContext(
31+
#if NETFRAMEWORK
32+
_ctx = new XmlApplicationContext(
3233
"assembly://Spring.Scheduling.Quartz3.Integration.Tests/Spring.Scheduling.Quartz/LocalDataSourceJobStoreTest.xml");
34+
#else
35+
_ctx = new XmlApplicationContext(
36+
"assembly://Spring.Scheduling.Quartz3.Integration.Tests/Spring.Scheduling.Quartz/LocalDataSourceJobStoreTest-core.xml");
37+
#endif
3338
}
3439

3540
[Test]

test/Spring/Spring.Scheduling.Quartz3.Integration.Tests/Spring.Scheduling.Quartz3.Integration.Tests.csproj

+6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
<PropertyGroup>
33
<TargetFrameworks>net8.0;$(TargetFullFrameworkVersion)</TargetFrameworks>
44
</PropertyGroup>
5+
<ItemGroup>
6+
<None Remove="Scheduling\Quartz\LocalDataSourceJobStoreTest-core.xml" />
7+
<None Remove="Scheduling\Quartz\LocalDataSourceJobStoreTest.xml" />
8+
</ItemGroup>
59
<ItemGroup>
610
<ProjectReference Include="..\..\..\src\Spring\Spring.Core\Spring.Core.csproj" />
711
<ProjectReference Include="..\..\..\src\Spring\Spring.Data\Spring.Data.csproj" />
@@ -13,8 +17,10 @@
1317
<PackageReference Include="Microsoft.NET.Test.Sdk" />
1418
<PackageReference Include="NUnit" />
1519
<PackageReference Include="NUnit3TestAdapter" />
20+
<PackageReference Include="System.Data.SqlClient" />
1621
</ItemGroup>
1722
<ItemGroup>
23+
<EmbeddedResource Include="Scheduling\Quartz\LocalDataSourceJobStoreTest-core.xml" />
1824
<EmbeddedResource Include="Scheduling\Quartz\LocalDataSourceJobStoreTest.xml" />
1925
</ItemGroup>
2026
</Project>

0 commit comments

Comments
 (0)