Skip to content

Commit c552964

Browse files
committed
Add test that reversal index Parts of speech are excluded
1 parent 48b8cf3 commit c552964

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

backend/FwLite/FwDataMiniLcmBridge.Tests/MiniLcmTests/PartOfSpeechTests.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using FwDataMiniLcmBridge.Api;
22
using FwDataMiniLcmBridge.Tests.Fixtures;
33
using MiniLcm.Models;
4+
using SIL.LCModel;
45
using SIL.LCModel.Infrastructure;
56

67
namespace FwDataMiniLcmBridge.Tests.MiniLcmTests;
@@ -81,4 +82,31 @@ public async Task SetPartOfSpeech_WithNullMorphoSyntaxAnalysisRA_ToNull()
8182
retrievedEntry.Should().NotBeNull();
8283
retrievedEntry!.PartOfSpeechId.Should().BeNull();
8384
}
85+
86+
[Fact]
87+
public async Task GetPartsOfSpeech_DoesNotReturnReversalIndexPos()
88+
{
89+
// Arrange
90+
var fwApi = (FwDataMiniLcmApi)BaseApi;
91+
var reversalIndexRepository = fwApi.Cache.ServiceLocator.GetInstance<IReversalIndexRepository>();
92+
var analysisWs = fwApi.Cache.DefaultAnalWs;
93+
94+
var reversalPosGuid = Guid.NewGuid();
95+
UndoableUnitOfWorkHelper.DoUsingNewOrCurrentUOW("Create Reversal Index POS",
96+
"Remove Reversal Index POS",
97+
fwApi.Cache.ServiceLocator.ActionHandler,
98+
() =>
99+
{
100+
var reversalIndex = reversalIndexRepository.FindOrCreateIndexForWs(analysisWs);
101+
var posFactory = fwApi.Cache.ServiceLocator.GetInstance<IPartOfSpeechFactory>();
102+
var reversalPos = posFactory.Create(reversalPosGuid, reversalIndex.PartsOfSpeechOA);
103+
reversalPos.Name.set_String(analysisWs, "Reversal Test POS");
104+
});
105+
106+
// Act
107+
var partsOfSpeech = await Api.GetPartsOfSpeech().ToArrayAsync();
108+
109+
// Assert
110+
partsOfSpeech.Should().NotContain(pos => pos.Id == reversalPosGuid);
111+
}
84112
}

0 commit comments

Comments
 (0)