Example #1
0
        public void random_subset_no_entries_gives_empty_output()
        {
            var randomSubset = new Algorithms.StreamingSubset <int>(10);

            var actual = randomSubset.GetSubset();

            int[] expected = { };

            actual.ShouldBeEquivalentTo(expected);
        }
Example #2
0
        public void random_subset_7_tries()
        {
            // Using seed 123 gives the following for the first 6 calls:
            // 0.984556915231308
            // 0.907815323168326
            // 0.743545518137303
            // 0.811641653446314
            // 0.738779145171297
            // 0.0483150165753043\

            // Note the randomizer is only invoked when the subset is filled up

            var randomSubset = new Algorithms.StreamingSubset <int>(1, 123);

            randomSubset.Give(1);   // Keep

            var actual = randomSubset.GetSubset();

            int[] expected = { 1 };

            actual.ShouldBeEquivalentTo(expected);

            randomSubset.Give(2);
            actual      = randomSubset.GetSubset();
            expected[0] = 1;
            actual.ShouldBeEquivalentTo(expected);

            randomSubset.Give(3);
            actual      = randomSubset.GetSubset();
            expected[0] = 1;
            actual.ShouldBeEquivalentTo(expected);

            randomSubset.Give(4);
            actual      = randomSubset.GetSubset();
            expected[0] = 1;
            actual.ShouldBeEquivalentTo(expected);

            randomSubset.Give(5);
            actual      = randomSubset.GetSubset();
            expected[0] = 1;
            actual.ShouldBeEquivalentTo(expected);

            randomSubset.Give(6);
            actual      = randomSubset.GetSubset();
            expected[0] = 1;
            actual.ShouldBeEquivalentTo(expected);

            randomSubset.Give(7);
            actual      = randomSubset.GetSubset();
            expected[0] = 7;
            actual.ShouldBeEquivalentTo(expected);
        }
Example #3
0
        public void random_subset_less_than_capacity_gives_inputs_back()
        {
            var randomSubset = new Algorithms.StreamingSubset <int>(10);

            randomSubset.Give(5);
            randomSubset.Give(7);
            randomSubset.Give(9);

            var actual = randomSubset.GetSubset();

            int[] expected = { 5, 7, 9 };

            actual.ShouldBeEquivalentTo(expected);
        }