Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@499789684c9a0d41c9b3f0d66a785ba17b1d51ab # v1.9.0
with:
dotnet-version: 6.0.x
dotnet-version: 10.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@2016bd2012dba4e32de620c46fe006a3ac9f0602 # v5.0.1
with:
dotnet-version: 6.0.x
dotnet-version: 10.0.x
- name: Restore dependencies
run: dotnet restore Ed-Fi-SDG.sln
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "6.0.100",
"version": "10.0.100",
"rollForward": "latestFeature"
}
}
21 changes: 21 additions & 0 deletions src/Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="AutoMapper" Version="16.0.0" />
<PackageVersion Include="Castle.Core" Version="5.2.1" />
<PackageVersion Include="CloneExtensions" Version="1.4.2" />
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
<PackageVersion Include="CsvHelper" Version="33.1.0" />
<PackageVersion Include="FakeItEasy" Version="8.3.0" />
<PackageVersion Include="FluentValidation" Version="12.1.1" />
<PackageVersion Include="log4net" Version="3.2.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
<PackageVersion Include="NUnit" Version="4.4.0" />
<PackageVersion Include="NUnit3TestAdapter" Version="6.0.0" />
<PackageVersion Include="Shouldly" Version="4.3.0" />
<PackageVersion Include="System.Data.SQLite" Version="2.0.2" />
</ItemGroup>
</Project>
5 changes: 3 additions & 2 deletions src/Ed-Fi-SDG.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31129.286
# Visual Studio Version 17
VisualStudioVersion = 17.14.36310.24 d17.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EdFi.SampleDataGenerator.Console", "EdFi.SampleDataGenerator.Console\EdFi.SampleDataGenerator.Console.csproj", "{D464AAAF-21E8-459A-B525-8BA55F1CF66E}"
EndProject
Expand All @@ -24,6 +24,7 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GitHub Actions", "GitHub Actions", "{8167418A-7DA9-4AE7-AA0D-010F3053D3CC}"
ProjectSection(SolutionItems) = preProject
..\.github\workflows\build-and-test.yml = ..\.github\workflows\build-and-test.yml
Directory.Packages.props = Directory.Packages.props
EndProjectSection
EndProject
Global
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<AssemblyTitle>EdFi.SampleDataGenerator.Console</AssemblyTitle>
<Product>EdFi.SampleDataGenerator.Console</Product>
Expand All @@ -18,11 +18,11 @@
<DebugType>pdbonly</DebugType>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CommandLineParser" Version="2.8.0" />
<PackageReference Include="CsvHelper" Version="3.0.0-beta7" />
<PackageReference Include="FluentValidation" Version="10.3.4" />
<PackageReference Include="log4net" Version="2.0.13" />
<PackageReference Include="System.Data.SQLite" Version="1.0.115.5" />
<PackageReference Include="CommandLineParser" />
<PackageReference Include="CsvHelper" />
<PackageReference Include="FluentValidation" />
<PackageReference Include="log4net" />
<PackageReference Include="System.Data.SQLite" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EdFi.SampleDataGenerator.Core\EdFi.SampleDataGenerator.Core.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
using EdFi.SampleDataGenerator.Core.Config;
using EdFi.SampleDataGenerator.Core.Config.DataFiles;
using EdFi.SampleDataGenerator.Core.Entities;
using Moq;
using FakeItEasy;
using NUnit.Framework;
using Shouldly;

Expand Down Expand Up @@ -36,15 +36,12 @@ public void ShouldReadSurnameFile()
};

var testSurnameFileMapping = new TestSurnameFileMapping {Ethnicity = "White", FilePath = "TestFile.txt"};
var fileReader = new Mock<INameFileReader>();
var fileReader = A.Fake<INameFileReader>();

var fileRecords = new List<NameFileRecord> {new NameFileRecord {Name = "FakeName", Frequency = 1.0}};

fileReader.Setup(r => r.Read(It.IsAny<string>())).Returns(fileRecords);

var sut = new NameFileReaderService(fileReader.Object);
var sut = new NameFileReaderService(fileReader);
var result = sut.ReadSurnameFile(testConfig, testSurnameFileMapping);
fileReader.Verify(r => r.Read("TestFile.txt"), Times.Once);

ValidateSurnameFile(result, testConfig.EthnicityMappings.MappingFor(RaceDescriptor.White, false), "TestFile.txt", fileRecords);
}
Expand Down Expand Up @@ -79,16 +76,13 @@ public void ShouldUseEthnicityWhenReadingSurnameFile()
};

var testSurnameFileMapping = new TestSurnameFileMapping { Ethnicity = "Hispanic", FilePath = "TestFile.txt" };
var fileReader = new Mock<INameFileReader>();
var fileReader = A.Fake<INameFileReader>();

var fileRecords = new List<NameFileRecord> { new NameFileRecord { Name = "FakeName", Frequency = 1.0 } };

fileReader.Setup(r => r.Read(It.IsAny<string>())).Returns(fileRecords);

var sut = new NameFileReaderService(fileReader.Object);
var sut = new NameFileReaderService(fileReader);
var result = sut.ReadSurnameFile(testConfig, testSurnameFileMapping);
fileReader.Verify(r => r.Read("TestFile.txt"), Times.Once);
fileReader.Verify(r => r.Read("OtherTestFile.txt"), Times.Never);


ValidateSurnameFile(result, testConfig.EthnicityMappings.MappingFor(RaceDescriptor.White, true), "TestFile.txt", fileRecords);
}
Expand Down Expand Up @@ -122,15 +116,12 @@ public void ShouldReadFirstNameFile()
};

var testFirstNameFileMapping = new TestFirstNameFileMapping { Ethnicity = "White", FilePath = "TestFile.txt", Gender = "Male"};
var fileReader = new Mock<INameFileReader>();
var fileReader = A.Fake<INameFileReader>();

var fileRecords = new List<NameFileRecord> { new NameFileRecord { Name = "FakeName", Frequency = 1.0 } };

fileReader.Setup(r => r.Read(It.IsAny<string>())).Returns(fileRecords);

var sut = new NameFileReaderService(fileReader.Object);
var sut = new NameFileReaderService(fileReader);
var result = sut.ReadFirstNameFile(testConfig, testFirstNameFileMapping);
fileReader.Verify(r => r.Read("TestFile.txt"), Times.Once);

ValidateFirstNameFile(result, testConfig.EthnicityMappings.MappingFor(RaceDescriptor.White, false), SexDescriptor.Male, "TestFile.txt", fileRecords);
}
Expand Down Expand Up @@ -171,16 +162,13 @@ public void ShouldUseEthnicityWhenReadingFirstNameFile()
};

var testFirstNameFileMapping = new TestFirstNameFileMapping { Ethnicity = "Hispanic", FilePath = "TestFile.txt", Gender = "Male" };
var fileReader = new Mock<INameFileReader>();
var fileReader = A.Fake<INameFileReader>();

var fileRecords = new List<NameFileRecord> { new NameFileRecord { Name = "FakeName", Frequency = 1.0 } };

fileReader.Setup(r => r.Read(It.IsAny<string>())).Returns(fileRecords);

var sut = new NameFileReaderService(fileReader.Object);
var sut = new NameFileReaderService(fileReader);
var result = sut.ReadFirstNameFile(testConfig, testFirstNameFileMapping);
fileReader.Verify(r => r.Read("TestFile.txt"), Times.Once);
fileReader.Verify(r => r.Read("OtherTestFile.txt"), Times.Never);


ValidateFirstNameFile(result, testConfig.EthnicityMappings.MappingFor(RaceDescriptor.White, true), SexDescriptor.Male, "TestFile.txt", fileRecords);
}
Expand All @@ -200,14 +188,12 @@ public void ShouldReadStreetNameFile()
}
};

var fileReader = new Mock<INameFileReader>();
var fileReader = A.Fake<INameFileReader>();

var fileRecords = new List<NameFileRecord> { new NameFileRecord { Name = "FakeName", Frequency = 1.0 } };
fileReader.Setup(r => r.Read(It.IsAny<string>())).Returns(fileRecords);

var sut = new NameFileReaderService(fileReader.Object);
var sut = new NameFileReaderService(fileReader);
var result = sut.ReadStreetNameFile(testConfig);
fileReader.Verify(r => r.Read("TestFile.txt"), Times.Once);

result.FilePath.ShouldBe("TestFile.txt");
result.FileRecords.ShouldHaveSameContentAs(fileRecords);
Expand Down Expand Up @@ -278,21 +264,18 @@ public void ShouldReadNameFiles()
}
};

var fileReader = new Mock<INameFileReader>();
var fileReader = A.Fake<INameFileReader>();

var fileRecords = new List<NameFileRecord> { new NameFileRecord { Name = "FakeName", Frequency = 1.0 } };
fileReader.Setup(r => r.Read(It.IsAny<string>())).Returns(fileRecords);

var sut = new NameFileReaderService(fileReader.Object);
var sut = new NameFileReaderService(fileReader);
var result = sut.Read(testConfig);

fileReader.Verify(r => r.Read("TestFirstNameFile1.txt"), Times.Once);
fileReader.Verify(r => r.Read("TestFirstNameFile2.txt"), Times.Once);
fileReader.Verify(r => r.Read("TestFirstNameFile3.txt"), Times.Once);
fileReader.Verify(r => r.Read("TestFirstNameFile4.txt"), Times.Once);
fileReader.Verify(r => r.Read("TestSurnameFile1.txt"), Times.Once);
fileReader.Verify(r => r.Read("TestSurnameFile2.txt"), Times.Once);
fileReader.Verify(r => r.Read("TestStreetNameFile.txt"), Times.Once);






result.FirstNameFiles.ShouldNotBeNull();
result.FirstNameFiles.Count.ShouldBe(4);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
using EdFi.SampleDataGenerator.Core.Helpers;
using EdFi.SampleDataGenerator.Core.Serialization.Output;
using EdFi.SampleDataGenerator.Core.UnitTests.Config;
using Moq;
using FakeItEasy;
using NUnit.Framework;
using Shouldly;

Expand Down Expand Up @@ -61,8 +61,8 @@ public Manifest GetManifest(string outputFilePath)

private RandomNumberGenerator randomNumberGenerator;
private StubInterchangeFileOutputService fileOutputService;
private Mock<IBufferedEntityOutputService<MutationLogEntry, MutationLogOutputConfiguration>> mutationLogOutputService;
private Mock<IGlobalMutator> mutator;
private IBufferedEntityOutputService<MutationLogEntry, MutationLogOutputConfiguration> mutationLogOutputService;
private IGlobalMutator mutator;
private GlobalDataGenerationCoordinator globalDataGenerationCoordinator;
private IDataPeriod dataPeriod1;
private IDataPeriod dataPeriod2;
Expand All @@ -75,21 +75,19 @@ public void SetUp()

fileOutputService = new StubInterchangeFileOutputService();

mutationLogOutputService = new Mock<IBufferedEntityOutputService<MutationLogEntry, MutationLogOutputConfiguration>>();
mutationLogOutputService.Setup(x => x.WriteToOutput(It.IsAny<MutationLogEntry>()));
mutationLogOutputService.Setup(x => x.FlushOutput());
mutationLogOutputService = A.Fake<IBufferedEntityOutputService<MutationLogEntry, MutationLogOutputConfiguration>>();



mutator = new Mock<IGlobalMutator>();
mutator.Setup(x => x.Configure(It.IsAny<GlobalDataMutatorConfiguration>()));
mutator.Setup(x => x.MutateData(It.IsAny<GlobalDataGeneratorContext>(), It.IsAny<IDataPeriod>())).Returns(new[] { MutationResult.NewMutation("foo", "bar") });
mutator = A.Fake<IGlobalMutator>();

var globalDataOutputService = new GlobalDataOutputService(fileOutputService);

globalDataGenerationCoordinator = new GlobalDataGenerationCoordinator(
randomNumberGenerator,
globalDataOutputService,
mutationLogOutputService.Object,
rng => mutator.Object.Yield()
mutationLogOutputService,
rng => mutator.Yield()
);

dataPeriod1 = new TestDataPeriod { StartDate = new DateTime(2016, 8, 23), EndDate = new DateTime(2016, 8, 24), Name = "Part 1" };
Expand All @@ -115,15 +113,13 @@ public void SetUp()
[Test]
public void ShouldRunMutatorsOnAllDataPeriodsButTheLast()
{
mutator.Verify(x => x.MutateData(It.IsAny<GlobalDataGeneratorContext>(), dataPeriod1), Times.Exactly(1));
mutator.Verify(x => x.MutateData(It.IsAny<GlobalDataGeneratorContext>(), dataPeriod2), Times.Exactly(1));
mutator.Verify(x => x.MutateData(It.IsAny<GlobalDataGeneratorContext>(), dataPeriod3), Times.Never);


}

[Test]
public void ShouldLogMutations()
{
mutationLogOutputService.Verify(x => x.WriteToOutput(It.IsAny<MutationLogEntry>()), Times.AtLeastOnce);
}

[Test]
Expand Down
Loading
Loading