<commit_before>// author: <NAME>
// license: MIT
// vim: ts=2 sw=2 expandtab
#include "gyros/builder.hpp"

#include "test/gyros/components.hpp"
#include "test/static_assert.hpp"

template <class ...Types>
using TypeList = gyros::util::type_list::TypeList<Types...>;
using Simple = test::gyros::component::EmptyComponent;
using Mock = test::gyros::component::MockComponent;

void test_rotor_type_in_builder_type_with_one_component() {
  typedef gyros::component::Rotor<Simple> ExpectedRotorType;
  typedef typename gyros::Builder<TypeList<Simple>>::RotorType ActualRotorType;
  test::AssertIsSame<ExpectedRotorType, ActualRotorType>();
}

void test_rotor_type_in_builder_with_two_components() {
  typedef gyros::component::Rotor<Simple, Mock>
      ExpectedRotorType;
  typedef typename gyros::Builder<TypeList<Simple, Mock>>::RotorType
      ActualRotorType;
  test::AssertIsSame<ExpectedRotorType, ActualRotorType>();
}

void test_rotor_type_in_builder_with_two_tuples() {
  typedef gyros::component::Rotor<Simple, Mock>
      ExpectedRotorType;
  typedef typename gyros::Builder<TypeList<Simple>, TypeList<Mock>>::RotorType
      ActualRotorType;
  test::AssertIsSame<ExpectedRotorType, ActualRotorType>();
}

void test_making_builder_type_with_two_tuples_with_recurring_types() {
  typedef gyros::component::Rotor<Simple, Mock>
      ExpectedRotorType;
  typedef typename gyros::Builder<
      TypeList<Simple>,
      TypeList<Simple, Mock>
      >::RotorType ActualRotorType;
  test::AssertIsSame<ExpectedRotorType, ActualRotorType>();
}
<commit_msg>~ making static test function static :)<commit_after>// author: <NAME>
// license: MIT
// vim: ts=2 sw=2 expandtab
#include "gyros/builder.hpp"

#include "test/gyros/components.hpp"
#include "test/static_assert.hpp"

template <class ...Types>
using TypeList = gyros::util::type_list::TypeList<Types...>;
using Simple = test::gyros::component::EmptyComponent;
using Mock = test::gyros::component::MockComponent;

static
void test_rotor_type_in_builder_type_with_one_component() {
  typedef gyros::component::Rotor<Simple> ExpectedRotorType;
  typedef typename gyros::Builder<TypeList<Simple>>::RotorType ActualRotorType;
  test::AssertIsSame<ExpectedRotorType, ActualRotorType>();
}

static
void test_rotor_type_in_builder_with_two_components() {
  typedef gyros::component::Rotor<Simple, Mock>
      ExpectedRotorType;
  typedef typename gyros::Builder<TypeList<Simple, Mock>>::RotorType
      ActualRotorType;
  test::AssertIsSame<ExpectedRotorType, ActualRotorType>();
}

static
void test_rotor_type_in_builder_with_two_tuples() {
  typedef gyros::component::Rotor<Simple, Mock>
      ExpectedRotorType;
  typedef typename gyros::Builder<TypeList<Simple>, TypeList<Mock>>::RotorType
      ActualRotorType;
  test::AssertIsSame<ExpectedRotorType, ActualRotorType>();
}

static
void test_rotor_type_in_builder_type_with_two_tuples_with_recurring_types() {
  typedef gyros::component::Rotor<Simple, Mock>
      ExpectedRotorType;
  typedef typename gyros::Builder<
      TypeList<Simple>,
      TypeList<Simple, Mock>
      >::RotorType ActualRotorType;
  test::AssertIsSame<ExpectedRotorType, ActualRotorType>();
}

{'fraction_non_alphanumeric': 0.12022720100978226, 'fraction_numerical': 0.0012622278321236984, 'mean_word_length': 7.107416879795396, 'pattern_counts': {'":': 0, '<': 45, '<?xml version=': 0, '>': 45, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7422817', 'n_tokens_mistral': 1052, 'n_tokens_neox': 1035, 'n_words': 170}