public void EnumerateKnownStatesTest() { foreach (var state in MuiDbStates.Enumerate()) { switch (state) { case MuiDbStates.New: case MuiDbStates.Translated: case MuiDbStates.Reviewed: case MuiDbStates.Final: break; default: Assert.Fail($"state {state} is unknown! Please adjust other tests as well!"); break; } } foreach (var state in Xlf12States.Enumerate()) { switch (state) { case Xlf12States.Final: case Xlf12States.NeedsAdaptation: case Xlf12States.NeedsL10n: case Xlf12States.NeedsReviewAdaptation: case Xlf12States.NeedsReviewL10n: case Xlf12States.NeedsReviewTranslation: case Xlf12States.NeedsTranslation: case Xlf12States.New: case Xlf12States.SignedOff: case Xlf12States.Translated: break; default: Assert.Fail($"state {state} is unknown! Please adjust other tests as well!"); break; } } foreach (var state in Xlf20States.Enumerate()) { switch (state) { case Xlf20States.Initial: case Xlf20States.Translated: case Xlf20States.Reviewed: case Xlf20States.Final: break; default: Assert.Fail($"state {state} is unknown! Please adjust other tests as well!"); break; } } }
public void ToMuiDBTest() { Assert.ThrowsException <ArgumentNullException>(() => StateConverter.ToMuiDB(null)); StateConverter.ToMuiDB(string.Empty).Should().Be(MuiDbStates.New); StateConverter.ToMuiDB(" ").Should().Be(MuiDbStates.New); // MuiDB states foreach (var state in MuiDbStates.Enumerate()) { StateConverter.ToMuiDB(state).Should().Be(state); } // XLIFF 1.2 StateConverter.ToMuiDB(Xlf12States.New).Should().Be(MuiDbStates.New); StateConverter.ToMuiDB(Xlf12States.NeedsAdaptation).Should().Be(MuiDbStates.New); StateConverter.ToMuiDB(Xlf12States.NeedsReviewAdaptation).Should().Be(MuiDbStates.New); StateConverter.ToMuiDB(Xlf12States.NeedsL10n).Should().Be(MuiDbStates.New); StateConverter.ToMuiDB(Xlf12States.NeedsTranslation).Should().Be(MuiDbStates.New); StateConverter.ToMuiDB(Xlf12States.Translated).Should().Be(MuiDbStates.Translated); StateConverter.ToMuiDB(Xlf12States.NeedsReviewL10n).Should().Be(MuiDbStates.Translated); StateConverter.ToMuiDB(Xlf12States.NeedsReviewTranslation).Should().Be(MuiDbStates.Translated); StateConverter.ToMuiDB(Xlf12States.SignedOff).Should().Be(MuiDbStates.Reviewed); StateConverter.ToMuiDB(Xlf12States.Final).Should().Be(MuiDbStates.Final); // XLIFF 1.2 user states StateConverter.ToMuiDB(StateConverter.XlfV12UserStatePrefix).Should().Be(MuiDbStates.New, "All user specific states are mapped to the New state!"); StateConverter.ToMuiDB(StateConverter.XlfV12UserStatePrefix + "hkjfhskfahsldf").Should().Be(MuiDbStates.New, "All user specific states are mapped to the New state!"); // XLIFF 2.0 StateConverter.ToMuiDB(Xlf20States.Initial).Should().Be(MuiDbStates.New); StateConverter.ToMuiDB(Xlf20States.Translated).Should().Be(MuiDbStates.Translated); StateConverter.ToMuiDB(Xlf20States.Reviewed).Should().Be(MuiDbStates.Reviewed); StateConverter.ToMuiDB(Xlf20States.Final).Should().Be(MuiDbStates.Final); Assert.ThrowsException <ArgumentOutOfRangeException>(() => StateConverter.ToMuiDB("asdsadsad"), "States that can not be mapped result in an ArgumentException"); }