From 11edd423571622fcb1f2bfb3e8cebc367f508429 Mon Sep 17 00:00:00 2001 From: Eduardo Sanchez-Ros Date: Thu, 18 Sep 2025 13:23:58 +0200 Subject: [PATCH] Fix docs --- README.md | 20 ++++++++++++++------ pom.xml | 3 --- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 4f70a84..eb83475 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Fluent, AssertJ-style assertions for QuickFIX/J Message objects. This library le - Project home: https://github.com/esanchezros/assertj-quickfixj - License: Apache 2.0 -- Java: 8, 11, 17 +- Java: 11, 17, 21 - QuickFIX/J: 2.3.2 (API compatible with 2.x) - AssertJ: 3.x (tested with recent versions) @@ -25,16 +25,20 @@ The artifact is published to Maven Central. Maven: +```xml io.allune assertj-quickfixj 1.0.0 test +``` Gradle (Kotlin DSL): +```gradle testImplementation("io.allune:assertj-quickfixj:1.0.0") +``` Notes: - quickfixj-core and quickfixj-messages-* are expected to be provided by your project/test runtime. This library does not bundle QuickFIX/J classes. @@ -44,6 +48,7 @@ Notes: ## Quick start Create a QuickFIX/J Message and assert fields and types in one chain. +```java // Given test Message message = new Message( "8=FIX.4.0\u00019=122\u000135=D\u000134=215\u000149=CLIENT12\u000152=20100225-19:41:57.316\u000138=1000\u000156=B\u00011=Marcel\u000111=13346\u000121=1\u000140=2\u000144=5\u000154=1\u000155=GBP/USD\u000159=0\u000160=20100225-19:39:52.020\u000110=074\u0001"); @@ -69,7 +74,7 @@ Assertions.assertThat(message) .hasFieldValue(quickfix.field.Side.FIELD, "1") .hasFieldValue(quickfix.field.Symbol.FIELD, "GBP/USD") .hasFieldValue(quickfix.field.OrdType.FIELD, "2"); - +``` ## Core concepts and API - Entry point: io.allune.quickfixj.api.Assertions.assertThat(Message) @@ -91,9 +96,10 @@ Assertions.assertThat(message) ## Message type by name If you prefer to assert by message name instead of type code, use hasMsgTypeName(..). The lookup uses the session/application data dictionaries for the message’s version. +```java Assertions.assertThat(message) .hasMsgTypeName("NewOrderSingle"); - +``` ## FIXT.1.1 and ApplVerID For FIXT.1.1 sessions (BeginString FIXT.1.1), the effective application BeginString is derived from ApplVerID using QuickFIX/J’s MessageUtils.toBeginString mapping. This library handles that internally, so field type and message name lookups behave as if you were on FIX.5.0, FIX.5.0SP1, or FIX.5.0SP2. @@ -104,10 +110,12 @@ If a message lacks the required ApplVerID, assertions that need the effective ve ## Custom Data Dictionaries (optional) You can register custom data dictionaries when asserting messages, for example if you have user-defined fields or variants. +```java DataDictionary dd = new DataDictionary("path/to/FIX40.xml"); Assertions.assertThat(message) .usingDataDictionary("FIX.4.0", dd) .hasFieldValue(6000, "CustomValue"); +``` Notes: - The registration applies process-wide during the test run; prefer to register in a setup method and restore state between tests if needed. @@ -138,7 +146,7 @@ Notes: ## Compatibility -- Java: 8, 11, 17 +- Java: 11, 17, 21 - QuickFIX/J: tested with 2.3.2; should work with other 2.x - AssertJ: 3.x (the project’s pom uses a version range; pin a modern 3.x if you manage via BOM) @@ -146,11 +154,11 @@ If you work with older dictionaries or custom ones, ensure they are compatible w ## Build and test locally -- Requirements: JDK 8+ and Maven 3.8+ +- Requirements: JDK 11+ and Maven 3.8+ - Run tests: mvn -DskipTests=false test -The repository includes GitHub Actions workflows that run the test suite on Java 8, 11, and 17 for PRs and pushes to main. +The repository includes GitHub Actions workflows that run the test suite on Java 11, 17 and 21 for PRs and pushes to main. ## FAQ diff --git a/pom.xml b/pom.xml index 984d45a..00f1baa 100644 --- a/pom.xml +++ b/pom.xml @@ -43,9 +43,6 @@ https://github.com/esanchezros/assertj-quickfixj/issues - - 3.5.0 - 11 UTF-8