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 test300_010_ShouldRunWithEnvironmentReturningZero(self): mySc = SolarCollector.SolarCollector() env = Environment.Environment() env.setRotationalPeriod(1000000) env.setDegradation(50) mySc.configure(env) self.assertEquals(mySc.serviceRequest(), '0000')
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 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_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 test400_010_ShouldRunServiceRequest(self): myMonitor = Monitor.Monitor() env = Environment.Environment() env.setRotationalPeriod(1000000) myMonitor.configure(env) myMonitor.initialize(logFile="logfile.txt") self.assertEquals( myMonitor.serviceRequest(source="Controller", target="Device"), 0)
def test300_030_ShouldRunOutsideUpperBoundReturningZero(self): mySc = SolarCollector.SolarCollector() env = Environment.Environment() env.setRotationalPeriod(1000000) env.setDegradation(50) env.incrementTime(10 * 60 * 60 * 1000000) mySc.configure(env) self.assertEquals(mySc.serviceRequest(), '3fff')
def test300_040_ShouldRunWithinLowerBoundReturningZero(self): mySc = SolarCollector.SolarCollector() env = Environment.Environment() env.setRotationalPeriod(1000000) env.setDegradation(50) env.incrementTime(23 * 60 * 60 * 1000000 + 37 * 60 * 1000000) mySc.configure(env) self.assertEquals(mySc.serviceRequest(), '0000')
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 test400_910ShouldRaiseExceptionOnMissingInitialization(self): with self.assertRaises(ValueError) as context: myMonitor = Monitor.Monitor() env = Environment.Environment() env.setRotationalPeriod(1000000) myMonitor.configure(env) self.assertEquals( myMonitor.serviceRequest(source="Controller", target="Device"), 0)
def test300_010_ShouldGenerateZeroWith25PercentPrabability(self): myDevice = Device.Device() env = Environment.Environment() env.setRotationalPeriod(1000000) myDevice.configure(env) result = [] for _ in range(100000): result.append(myDevice.serviceRequest()) output = (float)(result.count('0000')) / len(result) self.assertAlmostEquals(output, 0.250000000000000, 2)
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')
def test_8_Environment_getRotationalPeriod(self): e = Environment() try: e.getRotationalPeriod() print('Test 8.1 Environment.setRotationPeriod(): FAILED: didnt throw exception for invalid rotationalperiod') except: print('Test 8.1 Environment.setRotationPeriod(): PASSED: threw exception for invalid rotationalperiod') e.setRotationalPeriod(4000000) if (e.getRotationalPeriod() == 4000000): print('Test 8.2 Environment.setRotationPeriod(): PASSED: worked correctly') else: print('Test 8.2 Environment.setRotationPeriod(): FAILED: worked incorrectly')
def test_7_Environment_setRotationalPeriod(self): e = Environment() try: e.setRotationalPeriod('hi') print('Test 7.1 Environment.setRotationPeriod(): FAILED: didnt fail after passed string') except: print('Test 7.1 Environment.setRotationPeriod(): PASSED: threw exception when passed string') try: e.setRotationalPeriod(40) print('Test 7.2 Environment.setRotationPeriod(): FAILED: didnt fail after passing incorrect value') except: print('Test 7.2 Environment.setRotationPeriod(): PASSED: threw exception when passed incorrect value') if (e.setRotationalPeriod(4000000) == 4000000): print('Test 7.3 Environment.setRotationPeriod(): PASSED: returned correct value when passed good value') else: print('Test 7.3 Environment.setRotationPeriod(): FAILED: returned incorrect value when passed good value')
def test_6_Environment_incrementTime(self): e = Environment() try: e.incrementTime('hi') print('Test 6.1 Environment.incrementTime(): FAILED: didnt throw error when incrementing by string') except: print('Test 6.1 Environment.incrementTime(): PASSED: threw error when incrementing by string') try: e.incrementTime(-1) print('Test 6.2 Environment.incrementTime(): FAILED: didnt throw error when incrementing by negative number') except: print('Test 6.2 Environment.incrementTime(): PASSED: threw error when incrementing by negative number') if (e.incrementTime(40) == 40): print('Test 6.3 Environment.incrementTime(): PASSED: worked Normally') else: print('Test 6.3 Environment.incrementTime(): FAILED: didnt work normally') if (e.getTime() == 40): print('Test 6.4 Environment.incrementTime()/getTime(): PASSED') else: print('Test 6.4 Environment.incrementTime()/getTime(): FAILED')
def test400_920_ShouldRaiseExceptionOnRotationalPeriodLessThanMillion( self): with self.assertRaises(ValueError) as context: myEnv = Environment.Environment() myEnv.setRotationalPeriod(999999)
def test400_910_ShouldRaiseExceptionOnRotationalPeriodInFloat(self): with self.assertRaises(ValueError) as context: myEnv = Environment.Environment() myEnv.setRotationalPeriod(10000001.00)
def test400_020_ShouldSetAndReturnRotationalPeriodBoundaryCase(self): myEnv = Environment.Environment() self.assertEquals(myEnv.setRotationalPeriod(1000000), 1000000)
def test400_010_ShouldSetAndReturnRotationalPeriod(self): myEnv = Environment.Environment() self.assertEquals(myEnv.setRotationalPeriod(1000001), 1000001)
def test300_930_ShouldRaiseExceptionOnTimeAbsent(self): with self.assertRaises(ValueError) as context: myEnv = Environment.Environment() myEnv.incrementTime()
def test300_920_ShouldRaiseExceptionOnTimeLessThanZero(self): with self.assertRaises(ValueError) as context: myEnv = Environment.Environment() myEnv.incrementTime(-1)
def test300_010_ShouldReturnIncrementTimeOfSimulatedClock(self): myEnv = Environment.Environment() self.assertEquals(myEnv.incrementTime(10000000), 10000000)
def test200_020_ShouldReturnCurrentTimeOfSimulatedClockAfterIncrement( self): myEnv = Environment.Environment() myEnv.incrementTime(10000000) self.assertEquals(myEnv.getTime(), 10000000)
def test200_010_ShouldReturnCurrentTimeOfSimulatedClock(self): myEnv = Environment.Environment() self.assertEquals(myEnv.getTime(), 0)
def test100_010_ShouldConstruct(self): self.assertIsInstance(Environment.Environment(), Environment.Environment)
def test700_930_ShouldRaiseExceptionOnDegradationFloat(self): with self.assertRaises(ValueError) as context: myEnv = Environment.Environment() myEnv.setDegradation(50.50)
def test600_910_ShouldRaiseExceptionOnStartTimeLessThanZero(self): with self.assertRaises(ValueError) as context: myEnv = Environment.Environment() myEnv.setStartTime(-1)
def test500_910_ShouldRaiseExceptionOnRotationalPeriodAbsent(self): with self.assertRaises(ValueError) as context: myEnv = Environment.Environment() myEnv.getRotationalPeriod()
def test500_010_ShouldGetRotationalPeriod(self): myEnv = Environment.Environment() myEnv.setRotationalPeriod(1000001) self.assertEquals(myEnv.getRotationalPeriod(), 1000001)
def test500_020_ShouldGetRotationalPeriodBoundaryCase(self): myEnv = Environment.Environment() myEnv.setRotationalPeriod(1000000) self.assertEquals(myEnv.getRotationalPeriod(), 1000000)
def test700_030_ShouldSetAndReturnDegradation(self): myEnv = Environment.Environment() self.assertEquals(myEnv.setDegradation(50), 50)
def test600_010_ShouldSetAndReturnStartTime(self): myEnv = Environment.Environment() self.assertEquals(myEnv.setStartTime(500), 500)
def test700_910_ShouldRaiseExceptionOnDegradationLessThanZero(self): with self.assertRaises(ValueError) as context: myEnv = Environment.Environment() myEnv.setDegradation(-1)
def test600_920_ShouldRaiseExceptionOnStartTimeFloat(self): with self.assertRaises(ValueError) as context: myEnv = Environment.Environment() myEnv.setStartTime(500.50)
def test700_920_ShouldRaiseExceptionOnDegradationGT100(self): with self.assertRaises(ValueError) as context: myEnv = Environment.Environment() myEnv.setDegradation(101)