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)
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')
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')
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)
def test200_910ShouldRaiseExceptionOnMissingFileName(self): with self.assertRaises(ValueError) as context: mySensor = StarSensor.StarSensor(0.1) mySensor.initializeSensor()
def test200_010_ShouldInitializeStarSensorWithStarFile(self): mySensor = StarSensor.StarSensor(0.1) self.assertEquals(mySensor.initializeSensor(starFile="SaoChart.txt"), 9040)
def test100_920ShouldRaiseExceptionOnMissingFOV(self): with self.assertRaises(ValueError) as context: StarSensor.StarSensor()
''' 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 test300_910ShouldRaiseExceptionOnMissingEnvironment(self): with self.assertRaises(ValueError) as context: mySensor = StarSensor.StarSensor(0.1) mySensor.configure()
def test200_950ShouldRaiseExceptionOnFileNameNotString(self): with self.assertRaises(ValueError) as context: mySensor = StarSensor.StarSensor(0.1) mySensor.initializeSensor(starFile=2)
def test500_050_ShouldCalculateHexValueOfNoStar(self): mySensor = StarSensor.StarSensor(0.1) self.assertEquals(mySensor.convertHexadecimal(brightestStar=None), None)
def test500_040_ShouldCalculateHexValueOfNegativeTwenty(self): mySensor = StarSensor.StarSensor(0.1) self.assertEquals(mySensor.convertHexadecimal(brightestStar=-20), 'ff37')
def test500_030_ShouldCalculateHexValueOfSixPointFiftyFive(self): mySensor = StarSensor.StarSensor(0.1) self.assertEquals(mySensor.convertHexadecimal(brightestStar=6.55), '0041')
def test500_020_ShouldCalculateHexValueOfOne(self): mySensor = StarSensor.StarSensor(0.1) self.assertEquals(mySensor.convertHexadecimal(brightestStar=1), '000a')
def test200_920ShouldRaiseExceptionOnIncorrectFileName(self): with self.assertRaises(ValueError) as context: mySensor = StarSensor.StarSensor(0.1) mySensor.initializeSensor(starFile="Sao")
def test200_940ShouldRaiseExceptionOnFileWithDuplicateData(self): with self.assertRaises(ValueError) as context: mySensor = StarSensor.StarSensor(0.1) mySensor.initializeSensor(starFile="SaoChartDuplicate.txt")
def test600_030_ShouldCalculateRAAndDECAsNoneWhenNotConfigured(self): myEnv = Environment.Environment() myEnv.setRotationalPeriod(1000000) mySensor = StarSensor.StarSensor(0.034906585) output = [None, None] self.assertEquals(mySensor.getSensorPosition(), output)
def test300_010_ShouldConfigureWithEnvironment(self): mySensor = StarSensor.StarSensor(0.1) env = Environment.Environment() env.setRotationalPeriod(1000000) self.assertEquals(mySensor.configure(env), True)
def test100_010_ShouldConstruct(self): self.assertIsInstance(StarSensor.StarSensor(0.1), StarSensor.StarSensor)
def test300_920ShouldRaiseExceptionOnPassingNonEnvironmentInstance(self): with self.assertRaises(ValueError) as context: mySensor = StarSensor.StarSensor(0.1) env = 2 mySensor.configure(env)
def test100_910ShouldRaiseExceptionOnInvalidFOV(self): with self.assertRaises(ValueError) as context: StarSensor.StarSensor(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)
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." )