public void TestDistribute() { var d1 = new Distribute <int>(new Dictionary <int, float> { [1] = 0.2f, [2] = 0.5f, [3] = 0.3f }); var fd = new Dictionary <int, Distribute <int> > { [1] = Distribute <int> .Single(2), [2] = Distribute <int> .Single(3), [3] = Distribute <int> .Single(4) }; Distribute <int> d2 = d1.ExpandAndMerge(key => fd[key]); d2.Print(); // Assert.Warn("Check the output."); }