Home | History | Annotate | Download | only in test_tools
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef NET_QUIC_TEST_TOOLS_MOCK_RANDOM_H_
      6 #define NET_QUIC_TEST_TOOLS_MOCK_RANDOM_H_
      7 
      8 #include "base/compiler_specific.h"
      9 #include "net/quic/crypto/quic_random.h"
     10 
     11 namespace net {
     12 
     13 class MockRandom : public QuicRandom {
     14  public:
     15   MockRandom();
     16 
     17   // QuicRandom:
     18   // Fills the |data| buffer with a repeating byte, initially 'r'.
     19   virtual void RandBytes(void* data, size_t len) OVERRIDE;
     20   // Returns 0xDEADBEEF + the current increment.
     21   virtual uint64 RandUint64() OVERRIDE;
     22   // Returns false.
     23   virtual bool RandBool() OVERRIDE;
     24   // Does nothing.
     25   virtual void Reseed(const void* additional_entropy,
     26                       size_t entropy_len) OVERRIDE;
     27 
     28   // ChangeValue increments |increment_|. This causes the value returned by
     29   // |RandUint64| and the byte that |RandBytes| fills with, to change.
     30   void ChangeValue();
     31 
     32  private:
     33   uint8 increment_;
     34 };
     35 
     36 }  // namespace net
     37 
     38 #endif  // NET_QUIC_TEST_TOOLS_MOCK_RANDOM_H_
     39