var overload_template_fast = require("overload_template_fast"); f = overload_template_fast.foo(); a = overload_template_fast.maximum(3, 4); b = overload_template_fast.maximum(3.4, 5.2); // overload_template_fast.mix 1 if (overload_template_fast.mix1("hi") != 101) { throw new Error("mix1(const char*)"); } if (overload_template_fast.mix1(1.0, 1.0) != 102) { throw new Error("mix1(double, const double &)"); } if (overload_template_fast.mix1(1.0) != 103) { throw new Error("mix1(double)"); } // overload_template_fast.mix 2 if (overload_template_fast.mix2("hi") != 101) { throw new Error("mix2(const char*)"); } if (overload_template_fast.mix2(1.0, 1.0) != 102) { throw new Error("mix2(double, const double &)"); } if (overload_template_fast.mix2(1.0) != 103) { throw new Error("mix2(double)"); } // overload_template_fast.mix 3 if (overload_template_fast.mix3("hi") != 101) { throw new Error("mix3(const char*)"); } if (overload_template_fast.mix3(1.0, 1.0) != 102) { throw new Error("mix3(double, const double &)"); } if (overload_template_fast.mix3(1.0) != 103) { throw new Error("mix3(double)"); } // Combination 1 if (overload_template_fast.overtparams1(100) != 10) { throw new Error("overtparams1(int)"); } if (overload_template_fast.overtparams1(100.0, 100) != 20) { throw new Error("overtparams1(double, int)"); } // Combination 2 if (overload_template_fast.overtparams2(100.0, 100) != 40) { throw new Error("overtparams2(double, int)"); } // Combination 3 if (overload_template_fast.overloaded() != 60) { throw new Error("overloaded()"); } if (overload_template_fast.overloaded(100.0, 100) != 70) { throw new Error("overloaded(double, int)"); } // Combination 4 if (overload_template_fast.overloadedagain("hello") != 80) { throw new Error("overloadedagain(const char *)"); } if (overload_template_fast.overloadedagain() != 90) { throw new Error("overloadedagain(double)"); } // specializations if (overload_template_fast.specialization(10) != 202) { throw new Error("specialization(int)"); } if (overload_template_fast.specialization(10, 10) != 204) { throw new Error("specialization(int, int)"); } if (overload_template_fast.specialization("hi", "hi") != 201) { throw new Error("specialization(const char *, const char *)"); } // simple specialization overload_template_fast.xyz(); overload_template_fast.xyz_int(); overload_template_fast.xyz_double(); // a bit of everything if (overload_template_fast.overload("hi") != 0) { throw new Error("overload()"); } if (overload_template_fast.overload(1) != 10) { throw new Error("overload(int t)"); } if (overload_template_fast.overload(1, 1) != 20) { throw new Error("overload(int t, const int &)"); } if (overload_template_fast.overload(1, "hello") != 30) { throw new Error("overload(int t, const char *)"); } k = new overload_template_fast.Klass(); if (overload_template_fast.overload(k) != 10) { throw new Error("overload(Klass t)"); } if (overload_template_fast.overload(k, k) != 20) { throw new Error("overload(Klass t, const Klass &)"); } if (overload_template_fast.overload(k, "hello") != 30) { throw new Error("overload(Klass t, const char *)"); } if (overload_template_fast.overload() != 50) { throw new Error("overload(const char *)"); } // everything put in a namespace if (overload_template_fast.nsoverload("hi") != 1000) { throw new Error("nsoverload()"); } if (overload_template_fast.nsoverload(1) != 1010) { throw new Error("nsoverload(int t)"); } if (overload_template_fast.nsoverload(1, 1) != 1020) { throw new Error("nsoverload(int t, const int &)"); } if (overload_template_fast.nsoverload(1, "hello") != 1030) { throw new Error("nsoverload(int t, const char *)"); } if (overload_template_fast.nsoverload(k) != 1010) { throw new Error("nsoverload(Klass t)"); } if (overload_template_fast.nsoverload(k, k) != 1020) { throw new Error("nsoverload(Klass t, const Klass &)"); } if (overload_template_fast.nsoverload(k, "hello") != 1030) { throw new Error("nsoverload(Klass t, const char *)"); } if (overload_template_fast.nsoverload() != 1050) { throw new Error("nsoverload(const char *)"); } overload_template_fast.A.foo(1); b = new overload_template_fast.B(); b.foo(1);