def test_4_StarSensor_ServiceRequest(self):
     s = StarSensor(.1)
     if (s.serviceRequest() == None):
         print('Test 4.1 StarSensor.ServiceRequest(): PASSED: Returned None when null environment object')
     else:
         print('Test 4.1 StarSensor.ServiceRequest(): FAILED: Didnt return None when null environment object')
     e = Environment()
     e.setRotationalPeriod(40000000)
     s.configure(e)
     print(s.serviceRequest())
 def test_2_StarSensor_initializeSensor(self):
     s = StarSensor(.1)
     try:
         s.initializeSensor('hi')
         print('Test 2.1 StarSensor.initializeSensor() FAILED: Raised Exception when invalid filename passed')
     except:
         print('Test 2.1 StarSensor.initializeSensor() PASSED: Raised Exception when invalid filename passed')
     if (s.initializeSensor('data.txt') == 3):
         print('Test 2.2 StarSensor.initializeSensor() PASSED: Returned Correct value (number of stars) when passed file')
     else:
         print('Test 2.2 StarSensor.initializeSensor() FAILED: Returned InCorrect value (number of stars) when passed file')
 def test_3_StarSensor_configure(self):
     s = StarSensor(.1)
     e = Environment()
     if (s.configure(e)):
         print ('Test 3.1 StarSensor.configure() PASSED: returned true with valid Environment')
     else:
         print ('Test 3.1 StarSensor.configure() FAILED: returned false with valid Environment')
     try:
         s.configure('hi')
         print ('Test 3.2 StarSensor.configure() FAILED: Threw Error when passed invalid environment')
     except:
         print ('Test 3.2 StarSensor.configure() PASSED: Threw Error when passed invalid environment')
Exemple #4
0
 def test400_020_ShouldCalculateMagnitudeHexValueInitiallyWithDifferentFOV(
         self):
     myEnv = Environment.Environment()
     myEnv.setRotationalPeriod(1000000)
     mySensor = StarSensor.StarSensor(0.034906585)
     mySensor.initializeSensor(starFile="SaoChart.txt")
     mySensor.configure(myEnv)
     self.assertEquals(mySensor.serviceRequest(), '0035')
Exemple #5
0
 def test400_050_ShouldCalculateMagnitudeHexValueAtEighteenthHour(self):
     myEnv = Environment.Environment()
     myEnv.setRotationalPeriod(1000000)
     myEnv.incrementTime(microseconds=43200000000 + 21600000000)
     mySensor = StarSensor.StarSensor(0.034906585)
     mySensor.initializeSensor(starFile="SaoChart.txt")
     mySensor.configure(myEnv)
     self.assertEquals(mySensor.serviceRequest(), '8000')
Exemple #6
0
 def test600_010_ShouldCalculateRAAndDECOfSensor(self):
     myEnv = Environment.Environment()
     myEnv.setRotationalPeriod(1000000)
     mySensor = StarSensor.StarSensor(0.034906585)
     mySensor.initializeSensor(starFile="SaoChart.txt")
     mySensor.configure(myEnv)
     output = [1.5707963267948966, 0.0]
     self.assertEquals(mySensor.getSensorPosition(), output)
Exemple #7
0
 def test600_020_ShouldCalculateRAAndDECOfSensorAtTwelthHour(self):
     myEnv = Environment.Environment()
     myEnv.setRotationalPeriod(1000000)
     myEnv.incrementTime(microseconds=43200000000)
     mySensor = StarSensor.StarSensor(0.034906585)
     mySensor.initializeSensor(starFile="SaoChart.txt")
     mySensor.configure(myEnv)
     output = [4.71238898038469, 0.0]
     self.assertEquals(mySensor.getSensorPosition(), output)
Exemple #8
0
 def test300_010_ShouldConfigureWithEnvironment(self):
     mySensor = StarSensor.StarSensor(0.1)
     env = Environment.Environment()
     env.setRotationalPeriod(1000000)
     self.assertEquals(mySensor.configure(env), True)
Exemple #9
0
 def test200_940ShouldRaiseExceptionOnFileWithDuplicateData(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         mySensor.initializeSensor(starFile="SaoChartDuplicate.txt")
Exemple #10
0
 def test200_950ShouldRaiseExceptionOnFileNameNotString(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         mySensor.initializeSensor(starFile=2)
Exemple #11
0
 def test200_910ShouldRaiseExceptionOnMissingFileName(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         mySensor.initializeSensor()
Exemple #12
0
 def test200_920ShouldRaiseExceptionOnIncorrectFileName(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         mySensor.initializeSensor(starFile="Sao")
Exemple #13
0
 def test100_920ShouldRaiseExceptionOnMissingFOV(self):
     with self.assertRaises(ValueError) as context:
         StarSensor.StarSensor()
Exemple #14
0
 def test200_010_ShouldInitializeStarSensorWithStarFile(self):
     mySensor = StarSensor.StarSensor(0.1)
     self.assertEquals(mySensor.initializeSensor(starFile="SaoChart.txt"),
                       9040)
Exemple #15
0
 def test100_010_ShouldConstruct(self):
     self.assertIsInstance(StarSensor.StarSensor(0.1),
                           StarSensor.StarSensor)
Exemple #16
0
 def test100_910ShouldRaiseExceptionOnInvalidFOV(self):
     with self.assertRaises(ValueError) as context:
         StarSensor.StarSensor(0)
Exemple #17
0
'''
Created on Sep 27, 2015

@author: sum
'''
import CA02.prod.StarSensor as StarSensor
from CA02.prod import Environment
import CA01.prod.StarCatalog as StarCatalog
import math

ss = StarSensor.StarSensor(0.034906585)
a = ss.initializeSensor(starFile='SaoCharts.txt')

env = Environment.Environment()
a = env.getTime()
env.setRotationalPeriod(microseconds=1000000)

c = ss.configure(env)

sCat = StarCatalog.StarCatalog()
sCat.loadCatalog(starFile='SaoCharts.txt')
s = sCat.getMagnitude(0, math.pi / 2, 0.034906585)
print 24 * 60 * 60 * 1000000 / 2
print env.getTime()
print 'yo'
x = ss.serviceRequest()
print 'yo'
print x
print env.getTime()
env.incrementTime(21600000000 * 3 - env.getTime())
print 'yo'
 def test_5_StarSensor_getSensorPosition(self):
     import math
     s = StarSensor(.1)
     e = Environment()
     s.configure(e)
     try:
         s.getSensorPosition()
         print('Test 5.1 StarSensor.getSensorPosition: FAILED: Threw Error when null rotationalTime')
     except:
         print('Test 5.1 StarSensor.getSensorPosition: PASSED: Threw Error when null rotationalTime')
     e = Environment()
     e.setRotationalPeriod(4000000)
     s.configure(e)
     list = s.getSensorPosition()
     if (list[0] == 2.0*math.pi and list[1] == 0):
         print('Test 5.2 StarSensor.getSensorPosition: PASSED: returned correct value when time == 0')
     else:
         print('Test 5.2 StarSensor.getSensorPosition: PASSED: returned correct value when time == 0')
     e.incrementTime(40)
     s.configure(e)
     list = s.getSensorPosition()
     if (list[0] >= -2*math.pi and list[1] >= -2*math.pi):
         print('Test 5.3 StarSensor.getSensorPosition: PASSED: returned correct value when running normally')
     else:
         print('Test 5.3 StarSensor.getSensorPosition: FAILED: returned incorrect value when running normally')
Exemple #19
0
 def test300_910ShouldRaiseExceptionOnMissingEnvironment(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         mySensor.configure()
Exemple #20
0
 def test500_050_ShouldCalculateHexValueOfNoStar(self):
     mySensor = StarSensor.StarSensor(0.1)
     self.assertEquals(mySensor.convertHexadecimal(brightestStar=None),
                       None)
Exemple #21
0
 def test500_040_ShouldCalculateHexValueOfNegativeTwenty(self):
     mySensor = StarSensor.StarSensor(0.1)
     self.assertEquals(mySensor.convertHexadecimal(brightestStar=-20),
                       'ff37')
Exemple #22
0
 def test500_030_ShouldCalculateHexValueOfSixPointFiftyFive(self):
     mySensor = StarSensor.StarSensor(0.1)
     self.assertEquals(mySensor.convertHexadecimal(brightestStar=6.55),
                       '0041')
Exemple #23
0
 def test500_020_ShouldCalculateHexValueOfOne(self):
     mySensor = StarSensor.StarSensor(0.1)
     self.assertEquals(mySensor.convertHexadecimal(brightestStar=1), '000a')
Exemple #24
0
 def test300_920ShouldRaiseExceptionOnPassingNonEnvironmentInstance(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         env = 2
         mySensor.configure(env)
Exemple #25
0
 def test600_030_ShouldCalculateRAAndDECAsNoneWhenNotConfigured(self):
     myEnv = Environment.Environment()
     myEnv.setRotationalPeriod(1000000)
     mySensor = StarSensor.StarSensor(0.034906585)
     output = [None, None]
     self.assertEquals(mySensor.getSensorPosition(), output)
Exemple #26
0
 def test400_030_ShouldCalculateNoneMagnitudeHexValueIfNotConfigured(self):
     myEnv = Environment.Environment()
     myEnv.setRotationalPeriod(1000000)
     mySensor = StarSensor.StarSensor(0.034906585)
     mySensor.initializeSensor(starFile="SaoChart.txt")
     self.assertEquals(mySensor.serviceRequest(), None)
Exemple #27
0
    def getComponent(self):
        if (self.component['component'] == "Environment"):
            self.instance = Environment.Environment()
            parms = self.component['parms']
            if len(parms) == 0:
                raise ValueError(
                    "Controller.initialize:  Environment requires additional information."
                )
            for parm in parms:
                if (str(parm['name'])
                        == 'rotationalPeriod') and (parm['value'] != None):
                    self.instance.setRotationalPeriod((int)(parm['value']))
                elif (str(parm['name'])
                      == 'startTime') and (parm['value'] != None):
                    self.instance.setStartTime((int)(parm['value']))
                elif (str(parm['name'])
                      == 'degradation') and (parm['value'] != None):
                    self.instance.setDegradation((int)(parm['value']))
                else:
                    raise ValueError(
                        "Controller.initialize:  Environment requires additional information."
                    )
            return self.instance

        elif (self.component['component'] == "Monitor"):
            self.instance = Monitor.Monitor()
            parms = self.component['parms']
            if len(parms) == 0:
                raise ValueError(
                    "Controller.initialize:  Monitor requires additional information."
                )
            for parm in parms:
                if (str(parm['name']) == 'logFile'):
                    self.instance.initialize(str(parm['value']))
                else:
                    raise ValueError(
                        "Controller.initialize:  Monitor requires additional information."
                    )
            return self.instance

        elif (self.component['component'] == "StarSensor"):
            parms = self.component['parms']
            if len(parms) != 2:
                raise ValueError(
                    "Controller.initialize:  StarSensor requires additional information."
                )
            for parm in parms:
                if (str(parm['name']) == 'fieldOfView'):
                    self.instance = StarSensor.StarSensor(
                        (float)(parm['value']))
                elif (str(parm['name']) == 'starFile'):
                    pass
                else:
                    raise ValueError(
                        "Controller.initialize:  StarSensor requires additional information."
                    )
            for parm in parms:
                if (str(parm['name']) == 'starFile'):
                    self.instance.initializeSensor(str(parm['value']))
                elif (str(parm['name']) == 'fieldOfView'):
                    pass
                else:
                    raise ValueError(
                        "Controller.initialize:  StarSensor requires additional information."
                    )
            return self.instance

        elif (self.component['component'] == "Device"):
            self.instance = Device.Device()
            return self.instance
        elif (self.component['component'] == "SolarCollector"):
            self.instance = SolarCollector.SolarCollector()
            return self.instance
        else:
            raise ValueError(
                "Controller.initialize:  The device(s) mentioned in XML is incorrect."
            )