public void Setup()
        {
            filename = tableName + ".xml";
            contents = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
                         <percentiles>
                             <percentile>
                                 <lower>1</lower>
                                 <content>one through five</content>
                                 <upper>5</upper>
                             </percentile>
                             <percentile>
                                 <lower>6</lower>
                                 <content>six only</content>
                                 <upper>6</upper>
                             </percentile>
                             <percentile>
                                 <lower>7</lower>
                                 <content></content>
                                 <upper>100</upper>
                             </percentile>
                         </percentiles>";

            mockStreamLoader = new Mock <StreamLoader>();
            mockStreamLoader.Setup(l => l.LoadFor(filename)).Returns(() => GetStream());

            mapper = new PercentileXmlMapper(mockStreamLoader.Object);
        }
Пример #2
0
        public void EpicItemsPercentile(int level)
        {
            var epicLower  = Math.Max(1, 100 - level);
            var majorLower = Math.Max(1, 17 - level + 30);

            var tableName  = string.Format(TableNameConstants.Percentiles.Formattable.LevelXItems, level);
            var levelTable = PercentileMapper.Map(tableName);

            var mediumEntry = table[1];
            var majorEntry  = table[50];
            var epicEntry   = table[100];

            Assert.That(levelTable.Keys, Is.EquivalentTo(Enumerable.Range(1, 100)));

            for (var i = 1; i < majorLower; i++)
            {
                Assert.That(levelTable[i], Is.EqualTo(mediumEntry));
            }

            for (var i = majorLower; i < epicLower; i++)
            {
                Assert.That(levelTable[i], Is.EqualTo(majorEntry));
            }

            for (var i = epicLower; i <= 100; i++)
            {
                Assert.That(levelTable[i], Is.EqualTo(epicEntry));
            }
        }
        public void Setup()
        {
            table = new Dictionary<int, string>();
            mockInnerMapper = new Mock<PercentileMapper>();
            mockInnerMapper.Setup(m => m.Map("table name")).Returns(table);

            proxy = new PercentileMapperCachingProxy(mockInnerMapper.Object);
        }
        public PercentileMapperCachingProxy(PercentileMapper innerMapper, AssemblyLoader assemblyLoader)
        {
            this.innerMapper    = innerMapper;
            this.assemblyLoader = assemblyLoader;

            cachedTables = new Dictionary <string, Dictionary <int, string> >();
            myLock       = new object();
        }
Пример #5
0
        public void Setup()
        {
            mockInnerMapper    = new Mock <PercentileMapper>();
            mockAssemblyLoader = new Mock <AssemblyLoader>();
            proxy = new PercentileMapperCachingProxy(mockInnerMapper.Object, mockAssemblyLoader.Object);

            table        = new Dictionary <int, string>();
            table[9266]  = "favorite number";
            table[90210] = "beverly hills";

            mockInnerMapper.Setup(m => m.Map("table name")).Returns(table);
            mockAssemblyLoader.Setup(l => l.GetRunningAssembly()).Returns(Assembly.GetExecutingAssembly());
        }
Пример #6
0
        public void EpicGoodsPercentile(int level)
        {
            var tableName  = string.Format(TableNameConstants.Percentiles.Formattable.LevelXGoods, level);
            var levelTable = PercentileMapper.Map(tableName);

            Assert.That(levelTable.Keys, Is.EquivalentTo(Enumerable.Range(1, 100)));

            var gemEntry = table[10];
            var artEntry = table[100];

            for (var i = 1; i <= 38; i++)
            {
                Assert.That(levelTable[i], Is.EqualTo(gemEntry), $"Table {tableName}, Roll {i}");
            }

            for (var i = 39; i <= 100; i++)
            {
                Assert.That(levelTable[i], Is.EqualTo(artEntry), $"Table {tableName}, Roll {i}");
            }
        }
Пример #7
0
        public void EpicCoinsPercentile(int level)
        {
            var tableName  = string.Format(TableNameConstants.Percentiles.Formattable.LevelXCoins, level);
            var levelTable = PercentileMapper.Map(tableName);

            Assert.That(levelTable.Keys, Is.EquivalentTo(Enumerable.Range(1, 100)));

            var goldEntry     = table[50];
            var platinumEntry = table[100];

            for (var i = 1; i <= 65; i++)
            {
                Assert.That(levelTable[i], Is.EqualTo(goldEntry));
            }

            for (var i = 66; i <= 100; i++)
            {
                Assert.That(levelTable[i], Is.EqualTo(platinumEntry));
            }
        }
Пример #8
0
 public PercentileSelector(PercentileMapper percentileMapper, Dice dice)
 {
     this.percentileMapper = percentileMapper;
     this.dice = dice;
 }
 public PercentileMapperCachingProxy(PercentileMapper innerMapper)
 {
     this.innerMapper = innerMapper;
     cachedTables = new Dictionary<string, Dictionary<int, string>>();
 }
        public void Setup()
        {
            filename = tableName + ".xml";
            contents = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
                         <percentile>
                             <object>
                                 <lower>1</lower>
                                 <content>one through five</content>
                                 <upper>5</upper>
                             </object>
                             <object>
                                 <lower>6</lower>
                                 <content>six only</content>
                                 <upper>6</upper>
                             </object>
                             <object>
                                 <lower>7</lower>
                                 <content></content>
                                 <upper>7</upper>
                             </object>
                         </percentile>";

            mockStreamLoader = new Mock<StreamLoader>();
            mockStreamLoader.Setup(l => l.LoadFor(filename)).Returns(() => GetStream());

            mapper = new PercentileXmlMapper(mockStreamLoader.Object);
        }
Пример #11
0
 public void PercentileSetup()
 {
     PercentileMapper = GetNewInstanceOf <PercentileMapper>();
     table            = PercentileMapper.Map(tableName);
 }
Пример #12
0
 public void Setup()
 {
     percentileMapper = GetNewInstanceOf <PercentileMapper>();
 }
Пример #13
0
 public PercentileSelector(PercentileMapper percentileMapper, Dice dice)
 {
     this.percentileMapper = percentileMapper;
     this.dice             = dice;
 }