// Path: tinytypes/src/test/java/tech/anima/tinytypes/Samples.java
// public class Samples {
// 
//     public static class Integer extends IntTinyType {
// 
//         public Integer(int value) {
//             super(value);
//         }
// 
//         public static Integer of(int value) {
//             return new Integer(value);
//         }
// 
//     }
// 
//     public static class OtherInteger extends IntTinyType {
// 
//         public OtherInteger(int value) {
//             super(value);
//         }
// 
//         public static OtherInteger of(int value) {
//             return new OtherInteger(value);
//         }
// 
//     }
// 
//     public static class Byte extends ByteTinyType {
// 
//         public Byte(byte value) {
//             super(value);
//         }
// 
//         public static Byte of(byte value) {
//             return new Byte(value);
//         }
// 
//     }
// 
//     public static class OtherByte extends ByteTinyType {
// 
//         public OtherByte(byte value) {
//             super(value);
//         }
// 
//         public static OtherByte of(byte value) {
//             return new OtherByte(value);
//         }
// 
//     }
// 
//     public static class Str extends StringTinyType {
// 
//         public Str(String value) {
//             super(value);
//         }
// 
//         public static Str of(String value) {
//             return new Str(value);
//         }
// 
//     }
// 
//     public static class OtherStr extends StringTinyType {
// 
//         public OtherStr(String value) {
//             super(value);
//         }
// 
//         public static OtherStr of(String value) {
//             return new OtherStr(value);
//         }
// 
//     }
// 
//     public static class Boolean extends BooleanTinyType {
// 
//         public Boolean(boolean value) {
//             super(value);
//         }
// 
//         public static Boolean of(boolean value) {
//             return new Boolean(value);
//         }
// 
//     }
// 
//     public static class OtherBoolean extends BooleanTinyType {
// 
//         public OtherBoolean(boolean value) {
//             super(value);
//         }
// 
//         public static OtherBoolean of(boolean value) {
//             return new OtherBoolean(value);
//         }
// 
//     }
// 
//     public static class Long extends LongTinyType {
// 
//         public Long(long value) {
//             super(value);
//         }
// 
//         public static Long of(long value) {
//             return new Long(value);
//         }
// 
//     }
// 
//     public static class OtherLong extends LongTinyType {
// 
//         public OtherLong(long value) {
//             super(value);
//         }
// 
//         public static OtherLong of(long value) {
//             return new OtherLong(value);
//         }
// 
//     }
// 
//     public static class Short extends ShortTinyType {
// 
//         public Short(short value) {
//             super(value);
//         }
// 
//         public static Short of(short value) {
//             return new Short(value);
//         }
// 
//     }
// 
//     public static class OtherShort extends ShortTinyType {
// 
//         public OtherShort(short value) {
//             super(value);
//         }
// 
//         public static OtherShort of(short value) {
//             return new OtherShort(value);
//         }
// 
//     }
// 
// }
// 
// Path: testing/src/main/java/tech/anima/tinytypes/Samples.java
// public static class ShortIndirectAncestor extends Samples.Short {
// 
//     public ShortIndirectAncestor(short value) {
//         super(value);
//     }
// }


import tech.anima.tinytypes.Samples;
import tech.anima.tinytypes.Samples.ShortIndirectAncestor;
import org.junit.Test;
import org.junit.Assert;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;
package tech.anima.tinytypes.meta;


@RunWith(Enclosed.class)
public class ShortTinyTypesTest {

    public static class IsMetaOf {

        @Test
        public void yieldsTrueWhenCandidateSuperclassIsShortTT() {
            final boolean got = new ShortTinyTypes().isMetaOf(Samples.Short.class);
            Assert.assertTrue(got);
        }

        @Test
        public void yieldsFalseWhenCandidateSuperclassIsNotShortTT() {
            final boolean got = new ShortTinyTypes().isMetaOf(Samples.class);
            Assert.assertFalse(got);
        }

        @Test
        public void yieldsFalseWhenAncestorOfCandidateIsShortTTButNotDirectSuperclass() {
            final boolean got = new ShortTinyTypes().isMetaOf(ShortIndirectAncestor.class);
            Assert.assertFalse(got);
        }

        @Test
        public void yieldsFalseForNull() {
            final boolean got = new ShortTinyTypes().isMetaOf(null);
            Assert.assertFalse(got);
        }

    }

    public static class Includes {

        @Test
        public void yieldsTrueWhenCandidateSuperclassIsShortTT() {
            final boolean got = ShortTinyTypes.includes(Samples.Short.class);
// Path: tinytypes/src/test/java/tech/anima/tinytypes/Samples.java
// public class Samples {
// 
//     public static class Integer extends IntTinyType {
// 
//         public Integer(int value) {
//             super(value);
//         }
// 
//         public static Integer of(int value) {
//             return new Integer(value);
//         }
// 
//     }
// 
//     public static class OtherInteger extends IntTinyType {
// 
//         public OtherInteger(int value) {
//             super(value);
//         }
// 
//         public static OtherInteger of(int value) {
//             return new OtherInteger(value);
//         }
// 
//     }
// 
//     public static class Byte extends ByteTinyType {
// 
//         public Byte(byte value) {
//             super(value);
//         }
// 
//         public static Byte of(byte value) {
//             return new Byte(value);
//         }
// 
//     }
// 
//     public static class OtherByte extends ByteTinyType {
// 
//         public OtherByte(byte value) {
//             super(value);
//         }
// 
//         public static OtherByte of(byte value) {
//             return new OtherByte(value);
//         }
// 
//     }
// 
//     public static class Str extends StringTinyType {
// 
//         public Str(String value) {
//             super(value);
//         }
// 
//         public static Str of(String value) {
//             return new Str(value);
//         }
// 
//     }
// 
//     public static class OtherStr extends StringTinyType {
// 
//         public OtherStr(String value) {
//             super(value);
//         }
// 
//         public static OtherStr of(String value) {
//             return new OtherStr(value);
//         }
// 
//     }
// 
//     public static class Boolean extends BooleanTinyType {
// 
//         public Boolean(boolean value) {
//             super(value);
//         }
// 
//         public static Boolean of(boolean value) {
//             return new Boolean(value);
//         }
// 
//     }
// 
//     public static class OtherBoolean extends BooleanTinyType {
// 
//         public OtherBoolean(boolean value) {
//             super(value);
//         }
// 
//         public static OtherBoolean of(boolean value) {
//             return new OtherBoolean(value);
//         }
// 
//     }
// 
//     public static class Long extends LongTinyType {
// 
//         public Long(long value) {
//             super(value);
//         }
// 
//         public static Long of(long value) {
//             return new Long(value);
//         }
// 
//     }
// 
//     public static class OtherLong extends LongTinyType {
// 
//         public OtherLong(long value) {
//             super(value);
//         }
// 
//         public static OtherLong of(long value) {
//             return new OtherLong(value);
//         }
// 
//     }
// 
//     public static class Short extends ShortTinyType {
// 
//         public Short(short value) {
//             super(value);
//         }
// 
//         public static Short of(short value) {
//             return new Short(value);
//         }
// 
//     }
// 
//     public static class OtherShort extends ShortTinyType {
// 
//         public OtherShort(short value) {
//             super(value);
//         }
// 
//         public static OtherShort of(short value) {
//             return new OtherShort(value);
//         }
// 
//     }
// 
// }
// 
// Path: testing/src/main/java/tech/anima/tinytypes/Samples.java
// public static class ShortIndirectAncestor extends Samples.Short {
// 
//     public ShortIndirectAncestor(short value) {
//         super(value);
//     }
// }


// Path: meta/src/test/java/tech/anima/tinytypes/meta/ShortTinyTypesTest.java
import tech.anima.tinytypes.Samples;
import tech.anima.tinytypes.Samples.ShortIndirectAncestor;
import org.junit.Test;
import org.junit.Assert;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;

package tech.anima.tinytypes.meta;


@RunWith(Enclosed.class)
public class ShortTinyTypesTest {

    public static class IsMetaOf {

        @Test
        public void yieldsTrueWhenCandidateSuperclassIsShortTT() {
            final boolean got = new ShortTinyTypes().isMetaOf(Samples.Short.class);
            Assert.assertTrue(got);
        }

        @Test
        public void yieldsFalseWhenCandidateSuperclassIsNotShortTT() {
            final boolean got = new ShortTinyTypes().isMetaOf(Samples.class);
            Assert.assertFalse(got);
        }

        @Test
        public void yieldsFalseWhenAncestorOfCandidateIsShortTTButNotDirectSuperclass() {
            final boolean got = new ShortTinyTypes().isMetaOf(ShortIndirectAncestor.class);
            Assert.assertFalse(got);
        }

        @Test
        public void yieldsFalseForNull() {
            final boolean got = new ShortTinyTypes().isMetaOf(null);
            Assert.assertFalse(got);
        }

    }

    public static class Includes {

        @Test
        public void yieldsTrueWhenCandidateSuperclassIsShortTT() {
            final boolean got = ShortTinyTypes.includes(Samples.Short.class);
            Assert.assertTrue(got);