Example #1
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)
Example #2
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')
Example #3
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')
Example #4
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)
Example #5
0
 def test200_910ShouldRaiseExceptionOnMissingFileName(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         mySensor.initializeSensor()
Example #6
0
 def test200_010_ShouldInitializeStarSensorWithStarFile(self):
     mySensor = StarSensor.StarSensor(0.1)
     self.assertEquals(mySensor.initializeSensor(starFile="SaoChart.txt"),
                       9040)
Example #7
0
 def test100_920ShouldRaiseExceptionOnMissingFOV(self):
     with self.assertRaises(ValueError) as context:
         StarSensor.StarSensor()
Example #8
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'
Example #9
0
 def test300_910ShouldRaiseExceptionOnMissingEnvironment(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         mySensor.configure()
Example #10
0
 def test200_950ShouldRaiseExceptionOnFileNameNotString(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         mySensor.initializeSensor(starFile=2)
Example #11
0
 def test500_050_ShouldCalculateHexValueOfNoStar(self):
     mySensor = StarSensor.StarSensor(0.1)
     self.assertEquals(mySensor.convertHexadecimal(brightestStar=None),
                       None)
Example #12
0
 def test500_040_ShouldCalculateHexValueOfNegativeTwenty(self):
     mySensor = StarSensor.StarSensor(0.1)
     self.assertEquals(mySensor.convertHexadecimal(brightestStar=-20),
                       'ff37')
Example #13
0
 def test500_030_ShouldCalculateHexValueOfSixPointFiftyFive(self):
     mySensor = StarSensor.StarSensor(0.1)
     self.assertEquals(mySensor.convertHexadecimal(brightestStar=6.55),
                       '0041')
Example #14
0
 def test500_020_ShouldCalculateHexValueOfOne(self):
     mySensor = StarSensor.StarSensor(0.1)
     self.assertEquals(mySensor.convertHexadecimal(brightestStar=1), '000a')
Example #15
0
 def test200_920ShouldRaiseExceptionOnIncorrectFileName(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         mySensor.initializeSensor(starFile="Sao")
Example #16
0
 def test200_940ShouldRaiseExceptionOnFileWithDuplicateData(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         mySensor.initializeSensor(starFile="SaoChartDuplicate.txt")
Example #17
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)
Example #18
0
 def test300_010_ShouldConfigureWithEnvironment(self):
     mySensor = StarSensor.StarSensor(0.1)
     env = Environment.Environment()
     env.setRotationalPeriod(1000000)
     self.assertEquals(mySensor.configure(env), True)
Example #19
0
 def test100_010_ShouldConstruct(self):
     self.assertIsInstance(StarSensor.StarSensor(0.1),
                           StarSensor.StarSensor)
Example #20
0
 def test300_920ShouldRaiseExceptionOnPassingNonEnvironmentInstance(self):
     with self.assertRaises(ValueError) as context:
         mySensor = StarSensor.StarSensor(0.1)
         env = 2
         mySensor.configure(env)
Example #21
0
 def test100_910ShouldRaiseExceptionOnInvalidFOV(self):
     with self.assertRaises(ValueError) as context:
         StarSensor.StarSensor(0)
Example #22
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)
Example #23
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."
            )