Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/18/15 18:24:58 (9 years ago)
Author:
gkronber
Message:

#2283 fixed compile errors and refactoring

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Problems.GrammaticalOptimization.Test/TestSequence.cs

    r11730 r11793  
    4949          var nt = s.FirstNonTerminal;
    5050          Assert.Fail();
    51         }
    52         catch (IndexOutOfRangeException e) {
     51        } catch (IndexOutOfRangeException e) {
    5352        }
    5453      }
     
    201200          s.ReplaceAt(0, 4, t);
    202201          Assert.Fail();
    203         }
    204         catch (ArgumentException) { }
     202        } catch (ArgumentException) { }
    205203
    206204        s.ReplaceAt(0, 2, t); // should work
     
    209207          s.ReplaceAt(0, 3, t);
    210208          Assert.Fail();
    211         }
    212         catch (ArgumentException) { }
     209        } catch (ArgumentException) { }
    213210
    214211        try {
    215212          s.ReplaceAt(1, 2, t);
    216213          Assert.Fail();
    217         }
    218         catch (ArgumentException) { }
     214        } catch (ArgumentException) { }
    219215
    220216        s.ReplaceAt(1, 1, new Sequence("A")); // should work
     
    223219          s.ReplaceAt(-1, 2, t);
    224220          Assert.Fail();
    225         }
    226         catch (ArgumentException) { }
     221        } catch (ArgumentException) { }
    227222
    228223      }
     
    267262        Assert.AreEqual("AA", sub.ToString());
    268263      }
     264      {
     265        var s = new Sequence("aaaAA");
     266        var sub = s.Subsequence(2, 3);
     267
     268        Assert.AreEqual(1, sub.FirstNonTerminalIndex);
     269        Assert.AreEqual("aAA", sub.ToString());
     270      }
     271    }
     272
     273    [TestMethod]
     274    public void TestReadonlySequence() {
     275      CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture;
     276      {
     277        var s = new ReadonlySequence("AAaaaAA");
     278        var sub = s.Subsequence(0, 7);
     279
     280        Assert.AreEqual(0, sub.FirstNonTerminalIndex);
     281        Assert.AreEqual("AAaaaAA", sub.ToString());
     282      }
     283      {
     284        var s = new ReadonlySequence("AAaaaAA");
     285        var sub = s.Subsequence(0, 3);
     286
     287        Assert.AreEqual(0, sub.FirstNonTerminalIndex);
     288        Assert.AreEqual("AAa", sub.ToString());
     289
     290        sub = sub.Subsequence(1, 2);
     291        Assert.AreEqual(0, sub.FirstNonTerminalIndex);
     292        Assert.AreEqual("Aa", sub.ToString());
     293      }
     294      {
     295        var s = new ReadonlySequence("AAaaaAA");
     296        var sub = s.Subsequence(2, 3);
     297
     298        Assert.AreEqual(-1, sub.FirstNonTerminalIndex);
     299        Assert.AreEqual("aaa", sub.ToString());
     300      }
     301      {
     302        var s = new ReadonlySequence("AAaaaAA");
     303        var sub = s.Subsequence(2, 4);
     304
     305        Assert.AreEqual(3, sub.FirstNonTerminalIndex);
     306        Assert.AreEqual("aaaA", sub.ToString());
     307      }
     308      {
     309        var s = new ReadonlySequence("AAaaaAA");
     310        var sub = s.Subsequence(5, 2);
     311
     312        Assert.AreEqual(0, sub.FirstNonTerminalIndex);
     313        Assert.AreEqual("AA", sub.ToString());
     314      }
     315      {
     316        var s = new ReadonlySequence("aaaAA");
     317        var sub = s.Subsequence(2, 3);
     318
     319        Assert.AreEqual(1, sub.FirstNonTerminalIndex);
     320        Assert.AreEqual("aAA", sub.ToString());
     321      }
     322
    269323    }
    270324  }
Note: See TracChangeset for help on using the changeset viewer.