コード例 #1
0
 public void DestinationSet_Dest_2_Dest_Overlap()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.AddArea("a", 33);
      ds.AddArea("b", 332);
      Assert.AreEqual<int>(2, ds.ExplicitDestinations.Count);
      Assert.AreEqual<string>("330-331,333-339", ds.ExplicitDestinations["a"].ToString());
      Assert.AreEqual<string>("332", ds.ExplicitDestinations["b"].ToString());
 }
コード例 #2
0
 public void DestinationSet_Dest_ContiguousRange()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.AddArea("a", 330);
      ds.AddArea("a", 331);
      ds.AddArea("b", 332);
      Assert.AreEqual<int>(2, ds.ExplicitDestinations.Count);
      Assert.AreEqual<string>("330-331", ds.ExplicitDestinations["a"].ToString());
 }
コード例 #3
0
 public void DestinationSet_Dest_2_Dest_Disjoint()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.AddArea("a", 330);
      ds.AddArea("b", 332);
      Assert.AreEqual<int>(2, ds.ExplicitDestinations.Count);
      Assert.IsTrue(ds.ExplicitDestinations.ContainsKey("a"));
      Assert.IsTrue(ds.ExplicitDestinations.ContainsKey("b"));
      Assert.AreEqual<string>("330", ds.ExplicitDestinations["a"].ToString());
      Assert.AreEqual<string>("332", ds.ExplicitDestinations["b"].ToString());
 }
コード例 #4
0
        public void ExplicitDestinationSet_EmptyContainsNoRanges()
        {
            ExplicitDestinationSet<string> DestinationSet = new ExplicitDestinationSet<string>();
             DestinationSet.UpdateDestination("destination", string.Empty);
             IEnumerable<ZeroOneDecimalRange> Ranges = DestinationSet.Destinations["destination"].GetRanges();

             Assert.IsFalse(Ranges.Any(), "Area codes returned something, but shouldn't have.");
        }
コード例 #5
0
 public void Destination_UpdateDestinationContainingCoveredAreaCodeRemoveCode()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.UpdateDestination("a", "33,3341");
      ds.UpdateDestination("b", "334");
      ds.UpdateDestination("a", "33");
      Assert.AreEqual<string>("33", ds.ExplicitDestinations["a"].ToString());
      Assert.IsFalse(ds.ExplicitDestinations.ContainsKey("b"));
 }
コード例 #6
0
        public void DestinationSet_Mapping_ChildDestinationMovedToMain()
        {
            ExplicitDestinationSet<string> ds1 = new ExplicitDestinationSet<string>();
             ds1.AddArea("AFGHANISTAN-FIX", 93);
             ds1.AddArea("AFGHANISTAN-MOBILE OTHERS", 937);
             ds1.AddArea("AFGHANISTAN-MOBILE AREEBA", 9377);
             ds1.AddArea("AFGHANISTAN-MOBILE ETISALAT", 9378);
             ds1.AddArea("AFGHANISTAN-MOBILE ROSHAN", 9379);
             ds1.AddArea("ALBANIA", 355);
             ds1.UpdateDestination("ALBANIA-MOBILE", "35566 - 35569");
             ds1.AddArea("ALBANIA-TIRANA", 3554);

             //define just main destinations
             ExplicitDestinationSet<string> ds2 = new ExplicitDestinationSet<string>();
             ds2.AddArea("AFGHANISTAN-FIX", 93);
             ds2.AddArea("ALBANIA", 355);

             DestinationSetBase.MappingResult<string> maps = ds1.MapToDestinationSet(ds2);
             //maps
             Assert.AreEqual<int>(8, maps.Maps.Count, "Fully mapped destinations");
             Assert.AreEqual<string>("930-936,938-939", maps.Maps[new KeyValuePair<string, string>("AFGHANISTAN-FIX", "AFGHANISTAN-FIX")].ToString());
             Assert.AreEqual<string>("9370-9376", maps.Maps[new KeyValuePair<string, string>("AFGHANISTAN-MOBILE OTHERS", "AFGHANISTAN-FIX")].ToString());
             Assert.AreEqual<string>("9377", maps.Maps[new KeyValuePair<string, string>("AFGHANISTAN-MOBILE AREEBA", "AFGHANISTAN-FIX")].ToString());
             Assert.AreEqual<string>("9378", maps.Maps[new KeyValuePair<string, string>("AFGHANISTAN-MOBILE ETISALAT", "AFGHANISTAN-FIX")].ToString());
             Assert.AreEqual<string>("9379", maps.Maps[new KeyValuePair<string, string>("AFGHANISTAN-MOBILE ROSHAN", "AFGHANISTAN-FIX")].ToString());
             Assert.AreEqual<string>("3550-3553,35550-35565,3557-3559", maps.Maps[new KeyValuePair<string, string>("ALBANIA", "ALBANIA")].ToString());
             Assert.AreEqual<string>("35566-35569", maps.Maps[new KeyValuePair<string, string>("ALBANIA-MOBILE", "ALBANIA")].ToString());
             Assert.AreEqual<string>("3554", maps.Maps[new KeyValuePair<string, string>("ALBANIA-TIRANA", "ALBANIA")].ToString());
             //lost area codes
             Assert.AreEqual<int>(6, maps.LostAreaCodes.Count, "Lost areas");
             Assert.AreEqual<string>("9370-9376", maps.LostAreaCodes["AFGHANISTAN-MOBILE OTHERS"].ToString());
             Assert.AreEqual<string>("9377", maps.LostAreaCodes["AFGHANISTAN-MOBILE AREEBA"].ToString());
             Assert.AreEqual<string>("9378", maps.LostAreaCodes["AFGHANISTAN-MOBILE ETISALAT"].ToString());
             Assert.AreEqual<string>("9379", maps.LostAreaCodes["AFGHANISTAN-MOBILE ROSHAN"].ToString());
             Assert.AreEqual<string>("35566-35569", maps.LostAreaCodes["ALBANIA-MOBILE"].ToString());
             Assert.AreEqual<string>("3554", maps.LostAreaCodes["ALBANIA-TIRANA"].ToString());
             //gained area codes
             Assert.AreEqual<int>(2, maps.GainedAreaCodes.Count, "Gained areas");
             Assert.AreEqual<string>("937", maps.GainedAreaCodes["AFGHANISTAN-FIX"].ToString());
             Assert.AreEqual<string>("3554,35566-35569", maps.GainedAreaCodes["ALBANIA"].ToString());
        }
コード例 #7
0
 public void DestinationSet_Dest_CorrectHandlingAreaCodes()
 {
     ExplicitDestinationSet<string> ds1 = new ExplicitDestinationSet<string>();
      ds1.UpdateDestination("A", "33;334");
      ds1.UpdateDestination("B", "33");
 }
コード例 #8
0
        public void ExplicitDestinationSet_UpdateSameDestinationWithoutOverlaps()
        {
            ExplicitDestinationSet<string> DestinationSet = new ExplicitDestinationSet<string>();
             DestinationSet.UpdateDestination("destination", "10-19");
             IEnumerable<string> AreaList = DestinationSet.ExplicitAreas.Select(x => x.ToString());
             Assert.IsTrue(AreaList.Contains("1"));

             DestinationSet.UpdateDestination("destination", "11,110-117");
             AreaList = DestinationSet.ExplicitAreas.Select(x => x.ToString());
             Assert.IsTrue(AreaList.Contains("11"));
             Assert.IsFalse(AreaList.Contains("110"));

             DestinationSet.UpdateDestination("destination", "5,510-517");
             AreaList = DestinationSet.ExplicitAreas.Select(x => x.ToString());
             Assert.IsTrue(AreaList.Contains("5"));
             Assert.IsFalse(AreaList.Contains("52"));
        }
コード例 #9
0
 public void ExplicitDestinationSet_UpdateDestinationWithUnconventionalRanges3()
 {
     ExplicitDestinationSet<string> DestinationSet = new ExplicitDestinationSet<string>();
      DestinationSet.UpdateDestination("destination", "3434-1");
 }
コード例 #10
0
        public void DestinationSet_Mapping_RSI_SameDestSetWithoutChanges()
        {
            ExplicitDestinationSet<string> ds1 = new ExplicitDestinationSet<string>();
             ds1.AddArea("AFGHANISTAN-FIX", 93);
             ds1.AddArea("AFGHANISTAN-MOBILE OTHERS", 937);
             ds1.AddArea("AFGHANISTAN-MOBILE AREEBA", 9377);
             ds1.AddArea("AFGHANISTAN-MOBILE ETISALAT", 9378);
             ds1.AddArea("AFGHANISTAN-MOBILE ROSHAN", 9379);
             ds1.AddArea("ALBANIA", 355);
             ds1.UpdateDestination("ALBANIA-MOBILE", "35566 - 35569");
             ds1.AddArea("ALBANIA-TIRANA", 3554);
             ds1.AddArea("ALGERIA", 213);
             ds1.UpdateDestination("ALGERIA-MOBILE ORASCOM", "21377; 213780; 21379".Replace(';', ','));
             ds1.UpdateDestination("ALGERIA-MOBILE OTHERS", "213659; 21366; 213670; 21369; 21396190-21396192".Replace(';', ','));
             ds1.AddArea("ALGERIA-MOBILE WATANIYA", 2135);
             ds1.AddArea("AMERICAN SAMOA", 1684);
             ds1.AddArea("ANDORRA", 376);
             ds1.UpdateDestination("ANDORRA-MOBILE", "3763 - 3766");

             //add same set with different order of the elements, map should be 1:1
             ExplicitDestinationSet<string> ds2 = new ExplicitDestinationSet<string>();
             ds2.AddArea("AFGHANISTAN-FIX", 93);
             ds2.AddArea("AFGHANISTAN-MOBILE OTHERS", 937);
             ds2.AddArea("AFGHANISTAN-MOBILE ROSHAN", 9379);
             ds2.AddArea("AFGHANISTAN-MOBILE AREEBA", 9377);
             ds2.AddArea("AFGHANISTAN-MOBILE ETISALAT", 9378);
             ds2.AddArea("ANDORRA", 376);
             ds2.UpdateDestination("ANDORRA-MOBILE", "3763 - 3766");
             ds2.AddArea("ALBANIA", 355);
             ds2.AddArea("ALBANIA-TIRANA", 3554);
             ds2.UpdateDestination("ALBANIA-MOBILE", "35566 - 35569");
             ds2.AddArea("ALGERIA", 213);
             ds2.UpdateDestination("ALGERIA-MOBILE OTHERS", "213659; 21366; 213670; 21369; 21396190-21396192".Replace(';', ','));
             ds2.UpdateDestination("ALGERIA-MOBILE ORASCOM", "21377; 213780; 21379".Replace(';', ','));
             ds2.AddArea("ALGERIA-MOBILE WATANIYA", 2135);
             ds2.AddArea("AMERICAN SAMOA", 1684);

             DestinationSetBase.MappingResult<string> maps = ds1.MapToDestinationSet(ds2);
             Assert.AreEqual<int>(15, maps.Maps.Count, "Fully mapped destinations");
             Assert.AreEqual<int>(0, maps.LostAreaCodes.Count, "Lost areas");
             Assert.AreEqual<int>(0, maps.GainedAreaCodes.Count, "Gained areas");
             foreach (string sDestinationName in ds2.Destinations.Select(x => x.Key))
             {
            Assert.IsTrue(maps[sDestinationName].HasMapping);
            Assert.IsTrue(maps[sDestinationName].IsFullyMapped);
            Assert.IsFalse(maps[sDestinationName].IsMultiMapped);
            Assert.IsFalse(maps[sDestinationName].IsPartiallyMapped);
             }
        }
コード例 #11
0
 public void ExplicitDestinationSet_RemoveNotExistingArea()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.UpdateDestination("a", "330-332,338");
      Assert.AreEqual<string>("330-332,338", ds.Destinations["a"].ToString());
      ds.RemoveArea(3312);
      Assert.AreEqual<string>("330,3310-3311,3313-3319,332,338", ds.Destinations["a"].ToString());
 }
コード例 #12
0
        public void Destination_PopulateByDatatable()
        {
            ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
             DataTable dt = new DataTable();
             dt.Columns.Add("MOCK", typeof(System.Object));
             DataColumn DestinationColumn = dt.Columns.Add("D", typeof(System.String));
             DataColumn AreaColumn = dt.Columns.Add("A", typeof(System.String));
             dt.Rows.Add(new object[] {
             DBNull.Value,
             "destination1",
             "123-125"
              });
             dt.Rows.Add(new object[] {
             12,
             "destination2",
             "34567"
              });
             dt.Rows.Add(new object[] {
             12,
             "destination2",
             DBNull.Value
              });
             dt.Rows.Add(new object[] {
             12,
             "destination2",
             string.Empty
              });
             dt.Rows.Add(new object[] {
             12,
             DBNull.Value,
             DBNull.Value
              });
             dt.Rows.Add(new object[] {
             12,
             string.Empty,
             "1"
              });
             dt.Rows.Add(new object[] {
             12,
             "destination1",
             "2"
              });

             ds.Populate(dt.Select(), DestinationColumn, AreaColumn, false);
             Assert.AreEqual<int>(2, ds.Destinations.Count);
             Assert.AreEqual("123-125,2", ds.Destinations["destination1"].ToString());
             Assert.AreEqual("34567", ds.Destinations["destination2"].ToString());
        }
コード例 #13
0
 public void Destination_OverlapAreaOpt()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.UpdateDestination("a", "33,332");
      Assert.AreEqual<string>("33", ds.Destinations["a"].ToString());
 }
コード例 #14
0
 public void Destination_CreateDestinationWithExistingAreaInOtherDest()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.UpdateDestination("a", "330-332,338");
      ds.UpdateDestination("b", "330");
      Assert.AreEqual<string>("331-332,338", ds.Destinations["a"].ToString());
      Assert.AreEqual<string>("330", ds.Destinations["b"].ToString());
 }
コード例 #15
0
 public void Destination_AddAlreadyExistingArea()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.UpdateDestination("a", "330-332,338");
      Assert.AreEqual<string>("330-332,338", ds.Destinations["a"].ToString());
      ds.AddArea("a", 331);
      Assert.AreEqual<string>("330-332,338", ds.Destinations["a"].ToString());
 }
コード例 #16
0
        public void DestinationSet_Mapping_RSI_SwedenMobileExample()
        {
            ExplicitDestinationSet<string> ds1 = new ExplicitDestinationSet<string>();
             ds1.AddArea("SWEDEN", 46);
             ds1.AddArea("SWEDEN-MOBILE", 467);

             //define just main destinations
             ExplicitDestinationSet<string> ds2 = new ExplicitDestinationSet<string>();
             ds2.AddArea("SWEDEN", 46);
             ds2.UpdateDestination("SWEDEN-MOBILE 1", "4670-4675");
             ds2.UpdateDestination("SWEDEN-MOBILE 2", "4676-4678");

             DestinationSetBase.MappingResult<string> maps = ds1.MapToDestinationSet(ds2);
             Assert.AreEqual<int>(3, maps.GetMappedDestination("SWEDEN-MOBILE").Count());
             Assert.AreEqual<int>(1, maps.GetMappedDestination("SWEDEN").Count());
             Assert.IsTrue(maps["SWEDEN"].IsFullyMapped);
             Assert.IsTrue(maps["SWEDEN-MOBILE"].IsMultiMapped);
             Assert.AreEqual<string>("4670-4675", maps.Maps[new KeyValuePair<string, string>("SWEDEN-MOBILE", "SWEDEN-MOBILE 1")].ToString());
             Assert.AreEqual<string>("4676-4678", maps.Maps[new KeyValuePair<string, string>("SWEDEN-MOBILE", "SWEDEN-MOBILE 2")].ToString());
             Assert.AreEqual<string>("4679", maps.Maps[new KeyValuePair<string, string>("SWEDEN-MOBILE", "SWEDEN")].ToString());
        }
コード例 #17
0
        public void ExplicitDestinationSet_FullRange()
        {
            ExplicitDestinationSet<string> DestinationSet = new ExplicitDestinationSet<string>();
             DestinationSet.UpdateDestination("destination", string.Empty);
             DestinationSet.AddArea("destination", 1);
             DestinationSet.AddArea("destination", 2);
             DestinationSet.AddArea("destination", 3);
             DestinationSet.AddArea("destination", 4);
             DestinationSet.AddArea("destination", 5);
             DestinationSet.AddArea("destination", 6);
             DestinationSet.AddArea("destination", 7);
             DestinationSet.AddArea("destination", 8);
             DestinationSet.AddArea("destination", 9);

             string sAreaString = DestinationSet.Destinations["destination"].ToString();

             Assert.AreEqual<string>("1-9", sAreaString);
        }
コード例 #18
0
 public void ExplicitDestinationSet_UpdateDestinationWithUnconventionalRanges1()
 {
     ExplicitDestinationSet<string> DestinationSet = new ExplicitDestinationSet<string>();
      DestinationSet.UpdateDestination("destination", "00000000001-3,0000000000000000005,6");
      IEnumerable<UInt64> ExpandedAreas = DestinationSet.Destinations["destination"].FullExpandedAreas;
      Assert.IsTrue(ExpandedAreas.Contains<UInt64>(1));
      Assert.IsTrue(ExpandedAreas.Contains<UInt64>(2));
      Assert.IsTrue(ExpandedAreas.Contains<UInt64>(5));
      Assert.IsTrue(ExpandedAreas.Contains<UInt64>(6));
 }
コード例 #19
0
        public void ExplicitDestinationSet_HandlesFullCodesStartingWithLeadingZeros()
        {
            ExplicitDestinationSet<string> DestinationSet = new ExplicitDestinationSet<string>();
             DestinationSet.UpdateDestination("destination", "000000000001, 2,3,0000000000000000005,");

             string sAreaString = DestinationSet.Destinations["destination"].ToString();
             Assert.AreEqual<string>("1-3,5", sAreaString);
        }
コード例 #20
0
        public void DestinationSet_Mapping_RSI_ChildDestinationSwap()
        {
            ExplicitDestinationSet<string> ds1 = new ExplicitDestinationSet<string>();
             ds1.AddArea("AFGHANISTAN-FIX", 93);
             ds1.AddArea("AFGHANISTAN-MOBILE OTHERS", 937);
             ds1.AddArea("AFGHANISTAN-MOBILE AREEBA", 9377);
             //do not include AFGHANISTAN-MOBILE ETISALAT
             ds1.AddArea("AFGHANISTAN-MOBILE ROSHAN", 9379);

             ExplicitDestinationSet<string> ds2 = new ExplicitDestinationSet<string>();
             ds2.AddArea("AFGHANISTAN-FIX", 93);
             ds2.AddArea("AFGHANISTAN-MOBILE OTHERS", 937);
             ds2.AddArea("AFGHANISTAN-MOBILE AREEBA", 9377);
             ds2.AddArea("AFGHANISTAN-MOBILE ETISALAT", 9378);
             //do not include AFGHANISTAN-MOBILE ROSHAN

             DestinationSetBase.MappingResult<string> maps = ds1.MapToDestinationSet(ds2);

             Assert.AreEqual<int>(5, maps.Count);
             Assert.AreEqual<int>(2, maps.LostAreaCodes.Count);
             Assert.AreEqual<int>(2, maps.GainedAreaCodes.Count);
             Assert.AreEqual<string>("9379", maps.LostAreaCodes["AFGHANISTAN-MOBILE ROSHAN"].ToString());
             Assert.AreEqual<string>("9378", maps.LostAreaCodes["AFGHANISTAN-MOBILE OTHERS"].ToString());
             Assert.AreEqual<string>("9378", maps.GainedAreaCodes["AFGHANISTAN-MOBILE ETISALAT"].ToString());
             Assert.AreEqual<string>("9379", maps.GainedAreaCodes["AFGHANISTAN-MOBILE OTHERS"].ToString());
        }
コード例 #21
0
        public void ExplicitDestinationSet_StringRepresentationCorrectAfterMultipleUpdates()
        {
            ExplicitDestinationSet<string> DestinationSet = new ExplicitDestinationSet<string>();
             DestinationSet.UpdateDestination("destination", string.Empty);
             DestinationSet.AddArea("destination", 1);
             DestinationSet.AddArea("destination", 3);
             DestinationSet.AddArea("destination", 5);
             DestinationSet.AddArea("destination", 7);
             DestinationSet.AddArea("destination", 2);
             DestinationSet.AddArea("destination", 7);

             string sAreaString = DestinationSet.Destinations["destination"].ToString();

             Assert.AreEqual<string>("1-3,5,7", sAreaString);
        }
コード例 #22
0
        public void Destination_PopulateByDictionary()
        {
            ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
             Dictionary<string, string> Dict = new Dictionary<string, string>();
             Dict.Add("destination1", "123-125, 2");
             Dict.Add("destination2", "34567");

             ds.Populate(Dict);
             Assert.AreEqual<int>(2, ds.Destinations.Count);
             Assert.AreEqual("123-125,2", ds.Destinations["destination1"].ToString());
             Assert.AreEqual("34567", ds.Destinations["destination2"].ToString());
        }
コード例 #23
0
        public void ExplicitDestinationSet_UpdateDestinationWithUnconventionalRanges2()
        {
            ExplicitDestinationSet<string> DestinationSet = new ExplicitDestinationSet<string>();
             DestinationSet.UpdateDestination("destination", "1, 2 ,3-5, 4-675");
             IEnumerable<UInt64> ExpandedAreas = DestinationSet.Destinations["destination"].FullExpandedAreas;

             Assert.IsTrue(ExpandedAreas.Contains<UInt64>(1));
             Assert.IsTrue(ExpandedAreas.Contains<UInt64>(2));
             Assert.IsTrue(ExpandedAreas.Contains<UInt64>(3));
             Assert.IsTrue(ExpandedAreas.Contains<UInt64>(4));
             Assert.IsTrue(ExpandedAreas.Contains<UInt64>(5));

             Assert.IsTrue(ExpandedAreas.Contains<UInt64>(63));
             Assert.IsTrue(ExpandedAreas.Contains<UInt64>(675));

             Assert.IsFalse(ExpandedAreas.Contains<UInt64>(6));
             Assert.IsFalse(ExpandedAreas.Contains<UInt64>(7));
             Assert.IsFalse(ExpandedAreas.Contains<UInt64>(23));
        }
コード例 #24
0
 public void Destination_SingleArea()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.UpdateDestination("a", "33");
      Assert.AreEqual<string>("33", ds.Destinations["a"].ToString());
 }
コード例 #25
0
        public void ExplicitDestinationSet_UpdateDestinationWithUnconventionalRanges4()
        {
            ExplicitDestinationSet<string> DestinationSet = new ExplicitDestinationSet<string>();
             DestinationSet.UpdateDestination("destination", "1-123456789");
             IEnumerable<UInt64> ExpandedAreas = DestinationSet.Destinations["destination"].FullExpandedAreas;

             Assert.IsTrue(ExpandedAreas.Contains<UInt64>(10));
             Assert.IsTrue(ExpandedAreas.Contains<UInt64>(12342));
             Assert.IsTrue(ExpandedAreas.Contains<UInt64>(12345678));

             //Should not have "1", since not complete "1" in the range. 13 and so on are not part of the area codes.
             Assert.IsFalse(ExpandedAreas.Contains<UInt64>(1));

             // should not have these area codes. The first one is because the area code is ending with 9 and therefore the complete parent should be part
             Assert.IsFalse(ExpandedAreas.Contains<UInt64>(123456782));
             Assert.IsFalse(ExpandedAreas.Contains<UInt64>(12346));
        }
コード例 #26
0
 public void Destination_SingleAreaWithMultipleCode()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.UpdateDestination("a", "33");
      ds.AddArea("a", 34);
      Assert.AreEqual<string>("33-34", ds.Destinations["a"].ToString());
 }
コード例 #27
0
 public void Destination_UpdateDestination()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.UpdateDestination("a", "330-332,338");
      ds.UpdateDestination("a", "1,330");
      ds.AddArea("a", 332);
      Assert.AreEqual<string>("1,330,332", ds.Destinations["a"].ToString());
 }
コード例 #28
0
 public void Destination_UpdateDestinationContainingCoveredAreaCode()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.UpdateDestination("a", "33,3341");
      ds.UpdateDestination("b", "334");
      Assert.AreEqual<string>("330-333,335-339", ds.ExplicitDestinations["a"].ToString());
      Assert.AreEqual<string>("334", ds.ExplicitDestinations["b"].ToString());
 }
コード例 #29
0
 public void DestinationSet_Dest_CoveredRange()
 {
     ExplicitDestinationSet<string> ds = new ExplicitDestinationSet<string>();
      ds.AddArea("a", 33);
      ds.AddArea("a", 331);
      ds.AddArea("b", 1);
      Assert.AreEqual<int>(2, ds.ExplicitDestinations.Count);
      Assert.IsTrue(ds.ExplicitDestinations.ContainsKey("a"));
      Assert.AreEqual<string>("33", ds.ExplicitDestinations["a"].ToString());
 }
コード例 #30
0
        public void DestinationSet_Diff_Dest_Map_Overlap()
        {
            ExplicitDestinationSet<string> ds1 = new ExplicitDestinationSet<string>();
             ExplicitDestinationSet<string> ds2 = new ExplicitDestinationSet<string>();
             ds1.AddArea("ds1a", 33);
             ds1.AddArea("ds1b", 332);
             ds2.AddArea("ds2a", 33);
             ds2.AddArea("ds2b", 334);
             DestinationSetBase.MappingResult<string> maps = ds1.MapToDestinationSet(ds2);

             Assert.AreEqual<int>(3, maps.Count);
             Assert.AreEqual<string>("330-331,333,335-339", maps.GetMappedAreas("ds1a", "ds2a"));
             Assert.AreEqual<string>("334", maps.GetMappedAreas("ds1a", "ds2b"));
             Assert.AreEqual<string>("332", maps.GetMappedAreas("ds1b", "ds2a"));

             Assert.AreEqual<int>(2, maps.LostAreaCodes.Count);
             Assert.AreEqual<string>("332", maps.LostAreaCodes["ds1b"].ToString());
             Assert.AreEqual<string>("330-331,333-339", maps.LostAreaCodes["ds1a"].ToString());

             Assert.AreEqual<int>(2, maps.GainedAreaCodes.Count);
             Assert.AreEqual<string>("330-333,335-339", maps.GainedAreaCodes["ds2a"].ToString());
             Assert.AreEqual<string>("334", maps.GainedAreaCodes["ds2b"].ToString());
        }