def testMovingAverageReadWrite(self): ma = MovingAverage(windowSize=3) ma.next(3) ma.next(4) ma.next(5) proto1 = MovingAverageProto.new_message() ma.write(proto1) # Write the proto to a temp file and read it back into a new proto with tempfile.TemporaryFile() as f: proto1.write(f) f.seek(0) proto2 = MovingAverageProto.read(f) resurrectedMa = MovingAverage.read(proto2) newAverage = ma.next(6) self.assertEqual(newAverage, resurrectedMa.next(6)) self.assertListEqual(ma.getSlidingWindow(), resurrectedMa.getSlidingWindow()) self.assertEqual(ma.total, resurrectedMa.total)
def testMovingAverageReadWrite(self): ma = MovingAverage(windowSize=3) ma.next(3) ma.next(4) ma.next(5) proto1 = MovingAverageProto.new_message() ma.write(proto1) # Write the proto to a temp file and read it back into a new proto with tempfile.TemporaryFile() as f: proto1.write(f) f.seek(0) proto2 = MovingAverageProto.read(f) resurrectedMa = MovingAverage.read(proto2) newAverage = ma.next(6) self.assertEqual(newAverage, resurrectedMa.next(6)) self.assertListEqual(ma.getSlidingWindow(), resurrectedMa.getSlidingWindow()) self.assertEqual(ma.total, resurrectedMa.total)
def read(cls, proto): encoder = super(AdaptiveScalarEncoder, cls).read(proto) encoder.recordNum = proto.recordNum encoder.slidingWindow = MovingAverage.read(proto.slidingWindow) return encoder
def read(cls, proto): encoder = super(AdaptiveScalarEncoder, cls).read(proto) encoder.recordNum = proto.recordNum encoder.slidingWindow = MovingAverage.read(proto.slidingWindow) return encoder