module tests.meta; import tern.meta; import tern.traits; unittest { alias Seq = AliasSeq!(int, float, string); static assert(seqContains!(string, Seq) == true); } unittest { alias Seq = AliasSeq!(int, float, string); alias FilteredSeq = seqFilter!(isFloatingPoint, Seq); static assert(is(FilteredSeq == AliasSeq!(float))); } unittest { alias Seq = AliasSeq!(int, float, string); alias S = seqFilter!("isFloatingPoint!X", Seq); static assert(is(S == AliasSeq!(float))); } unittest { alias Seq = AliasSeq!(int, float, string); alias MappedSeq = seqMap!(isIntegral, Seq); static assert(MappedSeq.stringof == "AliasSeq!(true, false, false)"); } unittest { alias Seq = AliasSeq!(int, byte, long); alias S = seqMap!("Alias!(X.sizeof)", Seq); static assert(S.stringof == "AliasSeq!(4LU, 1LU, 8LU)"); }