#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 2 "DateConstraint1.ump"
import os

class X():
    #------------------------
    # MEMBER VARIABLES
    #------------------------
    #X Attributes
    #------------------------
    # CONSTRUCTOR
    #------------------------
    def __init__(self, aD, aE):
        self._e = None
        self._d = None
        self._d = aD
        self._e = aE
        if aD.getTime() <= aE.getTime() :
            raise RuntimeError ("Please provide a valid d and e [d>e]")

    #------------------------
    # INTERFACE
    #------------------------
    def setD(self, aD):
        wasSet = False
        if aD.getTime() > self.getE().getTime() :
            self._d = aD
            wasSet = True
        return wasSet

    def setE(self, aE):
        wasSet = False
        if self.getD().getTime() > aE.getTime() :
            self._e = aE
            wasSet = True
        return wasSet

    def getD(self):
        return self._d

    def getE(self):
        return self._e

    def delete(self):
        pass

    def __str__(self):
        return str(super().__str__()) + "[" + "]" + str(os.linesep) + "  " + "d" + "=" + str((((self.getD().__str__().replaceAll("  ", "    ")) if not self.getD() == self else "this") if not (self.getD() is None) else "null")) + str(os.linesep) + "  " + "e" + "=" + (((self.getE().__str__().replaceAll("  ", "    ")) if not self.getE() == self else "this") if not (self.getE() is None) else "null")


#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 1 "BasicPostCondition1.ump"

class Client():
    #------------------------
    # MEMBER VARIABLES
    #------------------------
    #Client Attributes
    #------------------------
    # CONSTRUCTOR
    #------------------------
    def __init__(self, aMinAge):
        self._minAge = None
        self._minAge = aMinAge

    #------------------------
    # INTERFACE
    #------------------------
    def setMinAge(self, aMinAge):
        wasSet = False
        self._minAge = aMinAge
        wasSet = True
        return wasSet

    def getMinAge(self):
        return self._minAge

    def delete(self):
        pass

    # line 7 "BasicPostCondition1.ump"
    # line 7 "BasicPostCondition1.ump"
    def someMethod(self, arg):
        result = self.someMethod_Original(arg)
        if arg <= 5 :
            raise RuntimeError ("Please provide a valid arg")
        return result

    def someMethod_Original(self, arg):
        // rest of stuff that we don't interpret
       return 0;

    def __str__(self):
        return str(super().__str__()) + "[" + "minAge" + ":" + str(self.getMinAge()) + "]"


#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 1 "BasicPrecondition1.ump"

class Client():
    #------------------------
    # MEMBER VARIABLES
    #------------------------
    #Client Attributes
    #------------------------
    # CONSTRUCTOR
    #------------------------
    def __init__(self, aMinAge):
        self._minAge = None
        self._minAge = aMinAge

    #------------------------
    # INTERFACE
    #------------------------
    def setMinAge(self, aMinAge):
        wasSet = False
        self._minAge = aMinAge
        wasSet = True
        return wasSet

    def getMinAge(self):
        return self._minAge

    def delete(self):
        pass

    # line 8 "BasicPrecondition1.ump"
    def someMethod(self, arg):
        // rest of stuff that we don't interpret
        return 0;

    def __str__(self):
        return str(super().__str__()) + "[" + "minAge" + ":" + str(self.getMinAge()) + "]"


#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 1 "MultipleConstraints.ump"

class MultipleConstraints():
    #------------------------
    # MEMBER VARIABLES
    #------------------------
    #MultipleConstraints Attributes
    #------------------------
    # CONSTRUCTOR
    #------------------------
    def __init__(self, aI, aJ):
        self._j = None
        self._i = None
        self._i = aI
        self._j = aJ
        if aI < 0 :
            raise RuntimeError ("Please provide a valid i [i>=0]")
        if aJ < 0 :
            raise RuntimeError ("Please provide a valid j [j>=0]")
        if aI < aJ :
            raise RuntimeError ("Please provide a valid i and j [i>=j]")

    #------------------------
    # INTERFACE
    #------------------------
    def setI(self, aI):
        wasSet = False
        if aI >= self.getJ() :
            if aI >= 0 :
                self._i = aI
                wasSet = True
        return wasSet

    def setJ(self, aJ):
        wasSet = False
        if aJ >= 0 :
            if self.getI() >= aJ :
                self._j = aJ
                wasSet = True
        return wasSet

    def getI(self):
        return self._i

    def getJ(self):
        return self._j

    def delete(self):
        pass

    def __str__(self):
        return str(super().__str__()) + "[" + "i" + ":" + str(self.getI()) + "," + "j" + ":" + str(self.getJ()) + "]"


#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 1 "BasicConstraint1.ump"

class student():
    #------------------------
    # MEMBER VARIABLES
    #------------------------
    #student Attributes
    #------------------------
    # CONSTRUCTOR
    #------------------------
    def __init__(self, aAge):
        self._age = None
        self._age = aAge
        if aAge <= 18 :
            raise RuntimeError ("Please provide a valid age [age>18]")

    #------------------------
    # INTERFACE
    #------------------------
    def setAge(self, aAge):
        wasSet = False
        if aAge > 18 :
            self._age = aAge
            wasSet = True
        return wasSet

    def getAge(self):
        return self._age

    def delete(self):
        pass

    def __str__(self):
        return str(super().__str__()) + "[" + "age" + ":" + str(self.getAge()) + "]"


#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
#*

#   * attributes on both sides of the constraint's boolean expression

#   
# line 2 "BasicConstraint3.ump"

class Client():
    #------------------------
    # MEMBER VARIABLES
    #------------------------
    #Client Attributes
    #------------------------
    # CONSTRUCTOR
    #------------------------
    def __init__(self, aMinAge, aAge):
        self._age = None
        self._minAge = None
        self._minAge = aMinAge
        self._age = aAge
        if aAge <= aMinAge :
            raise RuntimeError ("Please provide a valid age and minAge [age>minAge]")

    #------------------------
    # INTERFACE
    #------------------------
    def setMinAge(self, aMinAge):
        wasSet = False
        if self.getAge() > aMinAge :
            self._minAge = aMinAge
            wasSet = True
        return wasSet

    def setAge(self, aAge):
        wasSet = False
        if aAge > self.getMinAge() :
            self._age = aAge
            wasSet = True
        return wasSet

    def getMinAge(self):
        return self._minAge

    def getAge(self):
        return self._age

    def delete(self):
        pass

    def __str__(self):
        return str(super().__str__()) + "[" + "minAge" + ":" + str(self.getMinAge()) + "," + "age" + ":" + str(self.getAge()) + "]"


#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 1 "BasicConstraint5.ump"

class student():
    #------------------------
    # MEMBER VARIABLES
    #------------------------
    #student Attributes
    #------------------------
    # CONSTRUCTOR
    #------------------------
    def __init__(self, aAge, aWeight):
        self._weight = None
        self._age = None
        self._age = aAge
        self._weight = aWeight
        if aWeight >= 3 or aAge <= 18 :
            raise RuntimeError ("Please provide a valid age and weight [weight<3&&age>18]")

    #------------------------
    # INTERFACE
    #------------------------
    def setAge(self, aAge):
        wasSet = False
        if self.getWeight() < 3 and aAge > 18 :
            self._age = aAge
            wasSet = True
        return wasSet

    def setWeight(self, aWeight):
        wasSet = False
        if aWeight < 3 and self.getAge() > 18 :
            self._weight = aWeight
            wasSet = True
        return wasSet

    def getAge(self):
        return self._age

    def getWeight(self):
        return self._weight

    def delete(self):
        pass

    def __str__(self):
        return str(super().__str__()) + "[" + "age" + ":" + str(self.getAge()) + "," + "weight" + ":" + str(self.getWeight()) + "]"


#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 1 "BasicConstraint6.ump"

class student():
    #------------------------
    # MEMBER VARIABLES
    #------------------------
    #student Attributes
    #------------------------
    # CONSTRUCTOR
    #------------------------
    def __init__(self, aAge, aWeight):
        self._weight = None
        self._age = None
        self._age = aAge
        self._weight = aWeight
        if aWeight >= 3 and aAge <= 18 :
            raise RuntimeError ("Please provide a valid age and weight [weight<3||age>18]")

    #------------------------
    # INTERFACE
    #------------------------
    def setAge(self, aAge):
        wasSet = False
        if self.getWeight() < 3 or aAge > 18 :
            self._age = aAge
            wasSet = True
        return wasSet

    def setWeight(self, aWeight):
        wasSet = False
        if aWeight < 3 or self.getAge() > 18 :
            self._weight = aWeight
            wasSet = True
        return wasSet

    def getAge(self):
        return self._age

    def getWeight(self):
        return self._weight

    def delete(self):
        pass

    def __str__(self):
        return str(super().__str__()) + "[" + "age" + ":" + str(self.getAge()) + "," + "weight" + ":" + str(self.getWeight()) + "]"


#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 1 "BasicConstraint7.ump"

class student():
    #------------------------
    # MEMBER VARIABLES
    #------------------------
    #student Attributes
    #------------------------
    # CONSTRUCTOR
    #------------------------
    def __init__(self, aAge, aWeight):
        self._weight = None
        self._age = None
        self._age = aAge
        self._weight = aWeight
        if (aAge > 18) :
            raise RuntimeError ("Please provide a valid age [age<=18]")

    #------------------------
    # INTERFACE
    #------------------------
    def setAge(self, aAge):
        wasSet = False
        if (aAge <= 18) :
            self._age = aAge
            wasSet = True
        return wasSet

    def setWeight(self, aWeight):
        wasSet = False
        self._weight = aWeight
        wasSet = True
        return wasSet

    def getAge(self):
        return self._age

    def getWeight(self):
        return self._weight

    def delete(self):
        pass

    def __str__(self):
        return str(super().__str__()) + "[" + "age" + ":" + str(self.getAge()) + "," + "weight" + ":" + str(self.getWeight()) + "]"


#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 1 "BasicConstraint8.ump"

class student():
    #------------------------
    # MEMBER VARIABLES
    #------------------------
    #student Attributes
    #------------------------
    # CONSTRUCTOR
    #------------------------
    def __init__(self, aAge, aWeight):
        self._weight = None
        self._age = None
        self._age = aAge
        self._weight = aWeight
        if aAge >= 10 or (aAge >= 10) :
            raise RuntimeError ("Please provide a valid age [age<10&&age<10]")

    #------------------------
    # INTERFACE
    #------------------------
    def setAge(self, aAge):
        wasSet = False
        if aAge < 10 and (aAge < 10) :
            self._age = aAge
            wasSet = True
        return wasSet

    def setWeight(self, aWeight):
        wasSet = False
        self._weight = aWeight
        wasSet = True
        return wasSet

    def getAge(self):
        return self._age

    def getWeight(self):
        return self._weight

    def delete(self):
        pass

    def __str__(self):
        return str(super().__str__()) + "[" + "age" + ":" + str(self.getAge()) + "," + "weight" + ":" + str(self.getWeight()) + "]"