master @ 58 LINES
[ HISTORY ] [ UP ]
┌─ NIX ──────────────────────────────────────────────────────────────────────┐
│ { │
│ lib, │
│ pkgs, │
│ classes, │
│ encounter, │
│ buffs, │
│ debuffs, │
│ inputs, │
│ trinket, │
│ writeShellApplication, │
│ self, │
│ ... │
│ }: let │
│ mkTrinketComparison = │
│ (import "${self}/nix/apps/simulation/mkTrinketComparison.nix" { │
│ inherit lib pkgs classes encounter buffs debuffs inputs trinket; │
│ }).mkTrinketComparison; │
│ │
│ # Test creating a trinket comparison for windwalker with minimal iterations │
│ # Use direct trinket IDs to avoid path issues for now │
│ trinketTest = mkTrinketComparison { │
│ class = "monk"; │
│ spec = "windwalker"; │
│ encounter = encounter.raid.long.singleTarget; │
│ trinketIds = [87167 87057 79328]; # Terror in Mists (heroic), Bottle of Stars │
│ (heroic), Relic of Xuen │
│ iterations = 100; # Keep low for testing │
│ }; │
│ in │
│ writeShellApplication { │
│ name = "trinket-test"; │
│ text = '' │
│ echo "=== Trinket Comparison Test ===" │
│ echo "Class: ${trinketTest.metadata.class}" │
│ echo "Spec: ${trinketTest.metadata.spec}" │
│ echo "Trinket Category: ${trinketTest.metadata.trinketCategory}" │
│ echo "Trinket Count: ${toString trinketTest.metadata.trinketCount}" │
│ echo "Output File: ${trinketTest.metadata.output}.json" │
│ echo "" │
│ │
│ echo "=== Trinket IDs ===" │
│ ${lib.concatMapStringsSep "\n" ( │
│ trinketId: "echo \"- ${toString trinketId}\"" │
│ ) │
│ trinketTest.metadata.trinkets} │
│ echo "" │
│ │
│ echo "=== Available Simulations ===" │
│ ${lib.concatMapStringsSep "\n" ( │
│ simName: "echo \"- ${simName}\"" │
│ ) (builtins.attrNames trinketTest.simulations)} │
│ echo "" │
│ │
│ echo "=== Test Structure Complete ===" │
│ echo "Run 'nix run .#trinket-baseline-test' to test just the baseline simula │
│ tion" │
│ echo "This test app validates that the trinket comparison structure is worki │
│ ng" │
│ ''; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ NIX ────────────────────────────────┐
│ { │
│ lib, │
│ pkgs, │
│ classes, │
│ encounter, │
│ buffs, │
│ debuffs, │
│ inputs, │
│ trinket, │
│ writeShellApplication, │
│ self, │
│ ... │
│ }: let │
│ mkTrinketComparison = │
│ (import "${self}/nix/apps/simulation/mkT │
│ rinketComparison.nix" { │
│ inherit lib pkgs classes encounter buf │
│ fs debuffs inputs trinket; │
│ }).mkTrinketComparison; │
│ │
│ # Test creating a trinket comparison for w │
│ indwalker with minimal iterations │
│ # Use direct trinket IDs to avoid path iss │
│ ues for now │
│ trinketTest = mkTrinketComparison { │
│ class = "monk"; │
│ spec = "windwalker"; │
│ encounter = encounter.raid.long.singleTa │
│ rget; │
│ trinketIds = [87167 87057 79328]; # Terr │
│ or in Mists (heroic), Bottle of Stars (heroi │
│ c), Relic of Xuen │
│ iterations = 100; # Keep low for testing │
│ }; │
│ in │
│ writeShellApplication { │
│ name = "trinket-test"; │
│ text = '' │
│ echo "=== Trinket Comparison Test ===" │
│ echo "Class: ${trinketTest.metadata.cl │
│ ass}" │
│ echo "Spec: ${trinketTest.metadata.spe │
│ c}" │
│ echo "Trinket Category: ${trinketTest. │
│ metadata.trinketCategory}" │
│ echo "Trinket Count: ${toString trinke │
│ tTest.metadata.trinketCount}" │
│ echo "Output File: ${trinketTest.metad │
│ ata.output}.json" │
│ echo "" │
│ │
│ echo "=== Trinket IDs ===" │
│ ${lib.concatMapStringsSep "\n" ( │
│ trinketId: "echo \"- ${toString tr │
│ inketId}\"" │
│ ) │
│ trinketTest.metadata.trinkets} │
│ echo "" │
│ │
│ echo "=== Available Simulations ===" │
│ ${lib.concatMapStringsSep "\n" ( │
│ simName: "echo \"- ${simName}\"" │
│ ) (builtins.attrNames trinketTest.simu │
│ lations)} │
│ echo "" │
│ │
│ echo "=== Test Structure Complete ===" │
│ echo "Run 'nix run .#trinket-baseline- │
│ test' to test just the baseline simulation" │
│ echo "This test app validates that the │
│ trinket comparison structure is working" │
│ ''; │
│ } │
└──────────────────────────────────────────────┘
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET