Skip to content
Merged
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
3 changes: 1 addition & 2 deletions AudioCuesheetEditor.End2EndTests/Tests/Desktop/BasicTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ public async Task ChangeLanguage_ShouldSwitchLanguage_WhenGermanIsSelected()
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await bar.ChangeLanguageAsync("German (Germany)");
await Expect(TestPage.GetByRole(AriaRole.Heading, new() { Name = "Abschnitte" })).ToBeVisibleAsync();
await Expect(TestPage.GetByRole(AriaRole.Heading, new() { Name = "Allgemeine Informationen" })).ToBeVisibleAsync();
await Expect(TestPage.GetByText("Aufnahmeansicht")).ToBeVisibleAsync();
await Expect(TestPage.GetByRole(AriaRole.Heading, new() { Name = "Titel" })).ToBeVisibleAsync();
Expand All @@ -79,7 +78,7 @@ public async Task ChangeLanguage_ShouldSwitchLanguage_WhenGermanIsSelected()
await Expect(TestPage.Locator("#app")).ToMatchAriaSnapshotAsync("- paragraph: Künstler\n- paragraph: Titel\n- paragraph: Audiodatei\n- paragraph: CDTextdatei\n- paragraph: Katalognummer\n- paragraph: Datum\n- paragraph: Datum & Uhrzeit\n- paragraph: Uhrzeit");
await TestPage.GetByText("CDTextdatei").ClickAsync();
await exportDialog.OpenSchemeMenuAsync("Schema Titel");
await Expect(TestPage.Locator("#app")).ToMatchAriaSnapshotAsync("- paragraph: Position\n- paragraph: Künstler\n- paragraph: Titel\n- paragraph: Beginn\n- paragraph: Ende\n- paragraph: Länge\n- paragraph: Markierungen\n- paragraph: Vorlücke\n- paragraph: Nachlücke");
await Expect(TestPage.GetByTestId("menu-wrapper")).ToMatchAriaSnapshotAsync("- paragraph: Position\n- paragraph: Künstler\n- paragraph: Titel\n- paragraph: Begin\n- paragraph: End\n- paragraph: Länge\n- paragraph: Markierungen\n- paragraph: Vorlücke\n- paragraph: Nachlücke");
}

[TestMethod]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public async Task DownloadProject_GeneratesProjectFile_WhenCuesheetIsValidAsync(
using var stream = await download.CreateReadStreamAsync();
using var reader = new StreamReader(stream);
var content = await reader.ReadToEndAsync(TestContext.CancellationToken);
Assert.AreEqual("{\"Tracks\":[{\"Position\":1,\"Artist\":\"Track Artist 1\",\"Title\":\"Track Title 1\",\"Begin\":\"00:00:00\",\"End\":\"00:05:48\",\"Flags\":[],\"IsLinkedToPreviousTrack\":true}],\"Artist\":\"Cuesheet Artist 1\",\"Title\":\"Cuesheet Title 1\",\"Audiofile\":{\"Name\":\"Kalimba.mp3\",\"Duration\":\"00:05:48\",\"AudioCodec\":{\"MimeType\":\"audio/mpeg\",\"FileExtension\":\".mp3\",\"Name\":\"AudioCodec MP3\"}},\"Sections\":[]}", content);
Assert.AreEqual("{\"Tracks\":[{\"Position\":1,\"Artist\":\"Track Artist 1\",\"Title\":\"Track Title 1\",\"Begin\":\"00:00:00\",\"End\":\"00:05:48.0608330\",\"Flags\":[],\"IsLinkedToPreviousTrack\":true}],\"Artist\":\"Cuesheet Artist 1\",\"Title\":\"Cuesheet Title 1\",\"Audiofile\":{\"Name\":\"Kalimba.mp3\",\"Duration\":\"00:05:48.0608330\",\"AudioCodec\":{\"MimeType\":\"audio/mpeg\",\"FileExtension\":\".mp3\",\"Name\":\"AudioCodec MP3\"}}}", content);
}

[TestMethod]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ public async Task ChangeLanguage_ShouldSwitchLanguage_WhenGermanIsSelected()
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await bar.ChangeLanguageAsync("German (Germany)");
await Expect(TestPage.GetByRole(AriaRole.Heading, new() { Name = "Abschnitte" })).ToBeVisibleAsync();
await Expect(TestPage.GetByRole(AriaRole.Heading, new() { Name = "Allgemeine Informationen" })).ToBeVisibleAsync();
await Expect(TestPage.GetByText("Aufnahmeansicht")).ToBeVisibleAsync();
await Expect(TestPage.GetByRole(AriaRole.Heading, new() { Name = "Titel" })).ToBeVisibleAsync();
Expand All @@ -81,7 +80,7 @@ public async Task ChangeLanguage_ShouldSwitchLanguage_WhenGermanIsSelected()
await Expect(TestPage.Locator("#app")).ToMatchAriaSnapshotAsync("- paragraph: Künstler\n- paragraph: Titel\n- paragraph: Audiodatei\n- paragraph: CDTextdatei\n- paragraph: Katalognummer\n- paragraph: Datum\n- paragraph: Datum & Uhrzeit\n- paragraph: Uhrzeit");
await TestPage.GetByText("CDTextdatei").ClickAsync();
await exportDialog.OpenSchemeMenuAsync("Schema Titel");
await Expect(TestPage.Locator("#app")).ToMatchAriaSnapshotAsync("- paragraph: Position\n- paragraph: Künstler\n- paragraph: Titel\n- paragraph: Beginn\n- paragraph: Ende\n- paragraph: Länge\n- paragraph: Markierungen\n- paragraph: Vorlücke\n- paragraph: Nachlücke");
await Expect(TestPage.GetByTestId("menu-wrapper")).ToMatchAriaSnapshotAsync("- paragraph: Position\n- paragraph: Künstler\n- paragraph: Titel\n- paragraph: Begin\n- paragraph: End\n- paragraph: Länge\n- paragraph: Markierungen\n- paragraph: Vorlücke\n- paragraph: Nachlücke");
}

[TestMethod]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public async Task DownloadProject_GeneratesProjectFile_WhenCuesheetIsValidAsync(
using var stream = await download.CreateReadStreamAsync();
using var reader = new StreamReader(stream);
var content = await reader.ReadToEndAsync(TestContext.CancellationToken);
Assert.AreEqual("{\"Tracks\":[{\"Position\":1,\"Artist\":\"Track Artist 1\",\"Title\":\"Track Title 1\",\"Begin\":\"00:00:00\",\"End\":\"00:05:48\",\"Flags\":[],\"IsLinkedToPreviousTrack\":true}],\"Artist\":\"Cuesheet Artist 1\",\"Title\":\"Cuesheet Title 1\",\"Audiofile\":{\"Name\":\"Kalimba.mp3\",\"Duration\":\"00:05:48\",\"AudioCodec\":{\"MimeType\":\"audio/mpeg\",\"FileExtension\":\".mp3\",\"Name\":\"AudioCodec MP3\"}},\"Sections\":[]}", content);
Assert.AreEqual("{\"Tracks\":[{\"Position\":1,\"Artist\":\"Track Artist 1\",\"Title\":\"Track Title 1\",\"Begin\":\"00:00:00\",\"End\":\"00:05:48.0608330\",\"Flags\":[],\"IsLinkedToPreviousTrack\":true}],\"Artist\":\"Cuesheet Artist 1\",\"Title\":\"Cuesheet Title 1\",\"Audiofile\":{\"Name\":\"Kalimba.mp3\",\"Duration\":\"00:05:48.0608330\",\"AudioCodec\":{\"MimeType\":\"audio/mpeg\",\"FileExtension\":\".mp3\",\"Name\":\"AudioCodec MP3\"}}}", content);
}

[TestMethod]
Expand Down
2 changes: 1 addition & 1 deletion AudioCuesheetEditor.Tests/AudioCuesheetEditor.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<ItemGroup>
<PackageReference Include="Moq" Version="4.20.72" />
<PackageReference Include="coverlet.collector" Version="8.0.0">
<PackageReference Include="coverlet.collector" Version="8.0.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Expand Down
101 changes: 2 additions & 99 deletions AudioCuesheetEditor.Tests/Model/AudioCuesheet/CuesheetTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
using AudioCuesheetEditor.Model.AudioCuesheet;
using AudioCuesheetEditor.Model.Entity;
using AudioCuesheetEditor.Model.IO.Audio;
using AudioCuesheetEditor.Model.IO.Export;
using AudioCuesheetEditor.Tests.Utility;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
Expand Down Expand Up @@ -414,96 +413,6 @@ public void IsRecordingPossible_WhenNoErrors_ReturnsEmpty()
Assert.IsEmpty(errors);
}

[TestMethod]
public void AddSection_WithValidData_FiresEvents()
{
// Arrange
var cuesheet = new Cuesheet();
bool eventFired = false;
cuesheet.TraceablePropertyChanged += (sender, args) =>
{
if (args.TraceableChange.PropertyName == nameof(Cuesheet.Sections))
{
eventFired = true;
}
};

// Act
var section = cuesheet.AddSection();

// Assert
Assert.IsTrue(eventFired);
Assert.IsNotNull(section);
Assert.HasCount(1, cuesheet.Sections);
Assert.AreEqual(cuesheet, section.Cuesheet);
}

[TestMethod()]
public void RemoveSections_RemovesSpecifiedSections()
{
// Arrange
var cuesheet = new Cuesheet();
var section1 = cuesheet.AddSection();
var section2 = cuesheet.AddSection();
var section3 = cuesheet.AddSection();
var sectionsToRemove = new List<CuesheetSection> { section1, section3 };
bool eventFired = false;
cuesheet.TraceablePropertyChanged += (sender, args) =>
{
if (args.TraceableChange.PropertyName == nameof(Cuesheet.Sections))
{
eventFired = true;
}
};

// Act
cuesheet.RemoveSections(sectionsToRemove);

// Assert
Assert.IsTrue(eventFired);
Assert.HasCount(1, cuesheet.Sections);
Assert.IsTrue(cuesheet.Sections.Contains(section2));
Assert.IsFalse(cuesheet.Sections.Contains(section1));
Assert.IsFalse(cuesheet.Sections.Contains(section3));
}

[TestMethod()]
public void GetSection_ReturnsCorrectSection()
{
// Arrange
var cuesheet = new Cuesheet();
var section1 = cuesheet.AddSection();
section1.Begin = TimeSpan.Zero;
section1.End = TimeSpan.FromSeconds(120);
cuesheet.AddSection();
var track = new Track { Begin = TimeSpan.Zero, End = TimeSpan.FromSeconds(83) };
cuesheet.AddTrack(track);

// Act
var result = cuesheet.GetSection(track);

// Assert
Assert.AreEqual(section1, result);
}

[TestMethod()]
public void GetSection_ReturnsNullIfNoMatchingSection()
{
// Arrange
var cuesheet = new Cuesheet();
var section1 = cuesheet.AddSection();
section1.Begin = TimeSpan.Zero;
section1.End = TimeSpan.FromHours(1.5);
var track = new Track { Begin = section1.End + TimeSpan.FromSeconds(1), End = section1.End + TimeSpan.FromSeconds(2) };
cuesheet.AddTrack(track);

// Act
var result = cuesheet.GetSection(track);

// Assert
Assert.IsNull(result);
}

[TestMethod]
public void MoveTracksPossible_ShouldReturnFalse_WhenNoTracksToMove()
{
Expand Down Expand Up @@ -764,12 +673,9 @@ public void StartRecording_WithAudiofile_ShouldStartRecording()
public void RecalculateLastTrackEnd_SingleTrackWithAudiofile_EndSetToAudiofileDuration()
{
// Arrange
var audiofileMock = new Mock<IAudiofile>();
audiofileMock.SetupGet(a => a.Duration).Returns(TimeSpan.FromMinutes(5));

var cuesheet = new Cuesheet
{
Audiofile = audiofileMock.Object
Audiofile = new("Test.mp3", nameof(RecalculateLastTrackEnd_SingleTrackWithAudiofile_EndSetToAudiofileDuration), new AudioCodec("audio/mpeg", ".mp3", "AudioCodec MP3"), TimeSpan.FromMinutes(5))
};
var track = new Track { Position = 1, Begin = TimeSpan.Zero };
cuesheet.AddTrack(track);
Expand Down Expand Up @@ -803,12 +709,9 @@ public void RecalculateLastTrackEnd_MultipleTracks_EndSetCorrectly()
public void RecalculateLastTrackEnd_MultipleTracksWithAudiofile_LastTrackEndSetToAudiofileDuration()
{
// Arrange
var audiofileMock = new Mock<IAudiofile>();
audiofileMock.SetupGet(a => a.Duration).Returns(TimeSpan.FromMinutes(5));

var cuesheet = new Cuesheet
{
Audiofile = audiofileMock.Object
Audiofile = new("Test.mp3", nameof(RecalculateLastTrackEnd_SingleTrackWithAudiofile_EndSetToAudiofileDuration), new AudioCodec("audio/mpeg", ".mp3", "AudioCodec MP3"), TimeSpan.FromMinutes(5))
};
var track1 = new Track { Position = 1, Begin = TimeSpan.Zero, End = TimeSpan.FromMinutes(2) };
var track2 = new Track { Position = 2, Begin = TimeSpan.FromMinutes(2) };
Expand Down
48 changes: 0 additions & 48 deletions AudioCuesheetEditor.Tests/Model/IO/Audio/AudiofileTests.cs

This file was deleted.

Loading
Loading