12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // Copyright 2008 The Closure Library Authors. All Rights Reserved.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS-IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- goog.provide('goog.testing.MockRandomTest');
- goog.setTestOnly('goog.testing.MockRandomTest');
- goog.require('goog.testing.MockRandom');
- goog.require('goog.testing.jsunit');
- function testMockRandomInstall() {
- var random = new goog.testing.MockRandom([]);
- var originalRandom = Math.random;
- assertFalse(!!random.installed_);
- random.install();
- assertTrue(random.installed_);
- assertNotEquals(Math.random, originalRandom);
- random.uninstall();
- assertFalse(random.installed_);
- assertEquals(originalRandom, Math.random);
- }
- function testMockRandomRandom() {
- var random = new goog.testing.MockRandom([], true);
- assertFalse(random.hasMoreValues());
- random.inject(2);
- assertTrue(random.hasMoreValues());
- assertEquals(2, Math.random());
- random.inject([1, 2, 3]);
- assertTrue(random.hasMoreValues());
- assertEquals(1, Math.random());
- assertEquals(2, Math.random());
- assertEquals(3, Math.random());
- assertFalse(random.hasMoreValues());
- assertNotUndefined(Math.random());
- }
- function testRandomStrictlyFromSequence() {
- var random = new goog.testing.MockRandom([], /* install */ true);
- random.setStrictlyFromSequence(true);
- assertFalse(random.hasMoreValues());
- assertThrows(function() { Math.random(); });
- random.inject(3);
- assertTrue(random.hasMoreValues());
- assertNotThrows(function() { Math.random(); });
- random.setStrictlyFromSequence(false);
- assertFalse(random.hasMoreValues());
- assertNotThrows(function() { Math.random(); });
- }
|