Files
mikhail 24f3531a3c review(drawing): правки по ревью реализации (Codex + pi/glm-5.1 + pi/kimi-k2.6)
- K1 (kimi, Major): спайк подтвердил — для User КОМПАС САМ выводит VerticalOrientation
  из W/H (игнорирует флаг, W/H не свопает); read-back корректен, правка не нужна —
  задокументировано комментарием + тесты на Landscape (500×300→альбомная, 300×500→книжная)
- K2: ValidateFormatDimensions называет точный нарушивший параметр (width/height)
- тесты: A1 в Parse (C3), A4 landscape со свопом 297×210 (G2), sheetNumber=0 (C2/G3)
- отклонено (нит): алиасы в описании (G4), сообщение NaN (G5), тип исключения standard (K5)

308 тестов зелёных, сборка Release чистая.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 23:28:34 +03:00

30 lines
1000 B
C#

using Kompas.Mcp.Core.Drawings;
namespace Kompas.Mcp.Tests;
[Trait("Category", "Unit")]
public sealed class PaperFormatsTests
{
[Theory]
[InlineData("A4", PaperFormat.A4)]
[InlineData("a3", PaperFormat.A3)]
[InlineData(" A2 ", PaperFormat.A2)]
[InlineData("a0", PaperFormat.A0)]
[InlineData("A1", PaperFormat.A1)]
[InlineData("A5", PaperFormat.A5)]
[InlineData("user", PaperFormat.User)]
[InlineData("USER", PaperFormat.User)]
public void Parse_maps_known(string value, PaperFormat expected)
=> Assert.Equal(expected, PaperFormats.Parse(value));
[Fact]
public void Parse_throws_on_unknown()
=> Assert.Throws<ArgumentException>(() => PaperFormats.Parse("A6"));
[Fact]
public void Parse_throws_on_null()
=> Assert.Throws<ArgumentNullException>(() => PaperFormats.Parse(null!));
// ToKompas/FromKompas (↔ ksDocumentFormatEnum) — граница проекта, проверяются интеграцией.
}