I was looking at some code on GitHub released by Jimmy Bogard:namespace After.Model{    public abstract class Entity : IComparable<Entity>    {        public const string ID = Id;        public Guid Id { get; protected set; }        public int CompareTo(Entity other)        {            if (IsPersistent())            {                return Id.CompareTo(other.Id);            }            return 0;        }        public override bool Equals(object obj)        {            if (IsPersistent())            {                var Entity = obj as Entity;                return (Entity != null) && (Id == Entity.Id);            }                return base.Equals(obj);        }        public override int GetHashCode()        {            return IsPersistent() ? Id.GetHashCode() : base.GetHashCode();        }        private bool IsPersistent()        {            return (Id != Guid.Empty);        }    }}There is no client application for this code.  There is a Unit Testing app.  Therefore you can test the code to make sure it does what it is suppose to.I would just call it the Domain Model in isolation.  However, I wandered if there was a more specific term.  The reason I ask is because I have to refer to it in a report.  
What do you call a testable piece of code without a user interface?
c#;domain driven design