From 6b1a01d1cbf3809ddcf6bfb14c337d89f6f7c2b5 Mon Sep 17 00:00:00 2001
From: "Claudius \"keldu\" Holeksa" <mail@keldu.de>
Date: Thu, 3 Apr 2025 13:13:37 +0200
Subject: Wrote test for opposite index and corresponding dirs

---
 tests/descriptor.cpp | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 tests/descriptor.cpp

(limited to 'tests/descriptor.cpp')

diff --git a/tests/descriptor.cpp b/tests/descriptor.cpp
new file mode 100644
index 0000000..5e23ebc
--- /dev/null
+++ b/tests/descriptor.cpp
@@ -0,0 +1,30 @@
+#include <forstio/test/suite.hpp>
+
+#include "../c++/descriptor.hpp"
+
+
+namespace {
+template<typename Descriptor>
+void check_opposite_dirs(){
+	using namespace kel;
+
+	using dfi = lbm::df_info<lbm::sch::Float32, Descriptor>;
+
+	for(uint64_t k = 0u; k < Descriptor::Q; ++k){
+		auto k_inv = dfi::opposite_index[k];
+
+		for(uint64_t i = 0u; i < Descriptor::D; ++i){
+			SAW_EXPECT(dfi::directions[k][i] == (-1*dfi::directions[k_inv][i]), "Opposites are inconsistent");
+		}
+	}
+}
+
+SAW_TEST("Opposites and Dirs D2Q5"){
+	using namespace kel;
+	check_opposite_dirs<lbm::sch::Descriptor<2,5>>();
+}
+SAW_TEST("Opposites and Dirs D2Q9"){
+	using namespace kel;
+	check_opposite_dirs<lbm::sch::Descriptor<2,9>>();
+}
+}
-- 
cgit v1.2.3