コード例 #1
0
        public void Count_TwoItemsAdded_ReturnsTwo()
        {
            // arrange
            string f1 = "F1";
            string f2 = "F2";
            FeatureNumericalManager featureManager = new FeatureNumericalManager();

            featureManager.Add(new FeatureNumerical("F1"));
            featureManager.Add(new FeatureNumerical("F2"));
            ItemNumericalSet set = new ItemNumericalSet(featureManager);

            ItemNumerical i1 = set.CreateItem();

            i1.SetValue(f1, 3);
            i1.SetValue(f2, 4.7f);
            set.AddItem(i1);

            ItemNumerical i2 = set.CreateItem();

            i2.SetValue(f1, 1);
            i2.SetValue(f2, 2.1f);
            set.AddItem(i2);

            // act
            int qty = set.Count();

            // assert
            Assert.AreEqual(2, qty);
        }
コード例 #2
0
        public ItemNumericalSet Clone()
        {
            FeatureNumericalManager fm    = new FeatureNumericalManager();
            List <string>           names = _featureManager.GetFeatureNames();

            foreach (string n in names)
            {
                FeatureNumerical f  = _featureManager.Get(n);
                FeatureNumerical nf = new FeatureNumerical(f.Name);
                fm.Add(nf);
            }
            ItemNumericalSet res = new ItemNumericalSet(fm);

            return(res);
        }
コード例 #3
0
        public void CreateItem_ReturnsItem()
        {
            // arrange
            FeatureNumericalManager featureManager = new FeatureNumericalManager();

            featureManager.Add(new FeatureNumerical("F1"));
            featureManager.Add(new FeatureNumerical("F2"));
            ItemNumericalSet set = new ItemNumericalSet(featureManager);

            // act
            ItemNumerical item = set.CreateItem();

            // assert
            Assert.IsNotNull(item);
            Assert.AreEqual(true, item.HasValue("F1") & item.HasValue("F2"));
        }
コード例 #4
0
        public void GetFeatureNames_Features4Exc1Ratio1_ThrowException()
        {
            // arrange
            FeatureNumericalManager m = new FeatureNumericalManager();

            m.Add(new FeatureNumerical("F1"));
            m.Add(new FeatureNumerical("F2"));
            m.Add(new FeatureNumerical("F3"));
            m.Add(new FeatureNumerical("F4"));
            string resolutionFeatureName = "F2";

            // act
            List <string> names = m.GetFeatureNames(new List <string> {
                resolutionFeatureName
            }, 1);

            // assert
            Assert.IsNotNull(names);
            Assert.AreEqual(1, names.Count);
            CollectionAssert.DoesNotContain(names, resolutionFeatureName);
        }
コード例 #5
0
        public void GetSeparateValue_ItemSetFeatures2Items5_ReturnsSeparateValue()
        {
            // arrange
            string f1 = "F1";
            string f2 = "F2";
            FeatureNumericalManager featureManager = new FeatureNumericalManager();

            featureManager.Add(new FeatureNumerical(f1));
            featureManager.Add(new FeatureNumerical(f2));
            _set = new ItemNumericalSet(featureManager);

            int[] a1 = new int[5] {
                1, 2, 3, 4, 5
            };
            float[] a2 = new float[5] {
                1f, 0.2f, 2.3f, 4.1f, 4f
            };
            for (int i = 0; i < 5; i++)
            {
                ItemNumerical item = _set.CreateItem();
                item.SetValue(f1, a1[i]);
                item.SetValue(f2, a2[i]);
                _set.AddItem(item);
            }

            ISplitter splitter = new SplitterRss();

            // act
            FeatureNumericalValue sv = splitter.Split(_set, "F1");
            double fv = Math.Round(sv.FeatureValue, 2);

            // assert
            Assert.IsNotNull(sv);
            //Assert.AreEqual(3.15, fv);
            Assert.AreEqual(1.65, fv);
        }
コード例 #6
0
        public void Clone_Item_ReturnsClone()
        {
            // arrange
            string f1 = "F1";
            string f2 = "F2";
            FeatureNumericalManager featureManager = new FeatureNumericalManager();

            featureManager.Add(new FeatureNumerical(f1));
            featureManager.Add(new FeatureNumerical(f2));
            ItemNumericalSet set  = new ItemNumericalSet(featureManager);
            ItemNumerical    item = set.CreateItem();

            item.SetValue(f1, 5);
            item.SetValue(f2, 3.8f);

            // act
            ItemNumerical clone = item.Clone();

            item.SetValue(f1, 10);

            // assert
            Assert.AreEqual(5, clone.GetValue(f1));
            Assert.AreEqual(3.8f, clone.GetValue(f2));
        }
コード例 #7
0
 public ItemNumericalSet(FeatureNumericalManager featureManager)
 {
     _featureManager = featureManager;
     _featureManager.FeatureAdded   += _featureManager_FeatureAdded;
     _featureManager.FeatureRemoved += _featureManager_FeatureRemoved;
 }