Version 2.1.2: Python bindings, OBJ assets support, bugfixes.
PiperOrigin-RevId: 434731612 Change-Id: I0cfda3e7a3d1c72036764986efc252ffa1b8c6b0
This commit is contained in:
@@ -0,0 +1,171 @@
|
||||
// Copyright 2019 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Xml;
|
||||
using NUnit.Framework;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Mujoco {
|
||||
|
||||
[TestFixture]
|
||||
public class FixedSizeIListHelperTests {
|
||||
public class Example : FixedSizeIListHelper<string> {
|
||||
public override string this[int index] {
|
||||
get {
|
||||
switch (index) {
|
||||
case 0: return _element0;
|
||||
case 1: return _element1;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
set {
|
||||
switch (index) {
|
||||
case 0: _element0 = value; break;
|
||||
case 1: _element1 = value; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override int Count => 2;
|
||||
|
||||
private string _element0;
|
||||
private string _element1;
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CanReadThroughIListInterface() {
|
||||
var example = new Example();
|
||||
IList<string> ilist = example;
|
||||
example[0] = "a";
|
||||
|
||||
Assert.That(ilist[0], Is.EqualTo("a"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CanWriteThroughIListInterface() {
|
||||
var example = new Example();
|
||||
IList<string> ilist = example;
|
||||
ilist[1] = "b";
|
||||
|
||||
Assert.That(example[1], Is.EqualTo("b"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void EnumeratorWorks() {
|
||||
var example = new Example();
|
||||
example[0] = "a";
|
||||
example[1] = "b";
|
||||
|
||||
var actual = new List<string>();
|
||||
foreach (var element in example) {
|
||||
actual.Add(element);
|
||||
}
|
||||
Assert.That(actual.Count, Is.EqualTo(2));
|
||||
Assert.That(actual[0], Is.EqualTo("a"));
|
||||
Assert.That(actual[1], Is.EqualTo("b"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AddNotSupported() {
|
||||
var example = new Example();
|
||||
Assert.Throws<NotSupportedException>(() => example.Add(""));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ClearNotSupported() {
|
||||
var example = new Example();
|
||||
Assert.Throws<NotSupportedException>(() => example.Clear());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RemoveNotSupported() {
|
||||
var example = new Example();
|
||||
Assert.Throws<NotSupportedException>(() => example.Remove(""));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void InsertNotSupported() {
|
||||
var example = new Example();
|
||||
Assert.Throws<NotSupportedException>(() => example.Insert(0, ""));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RemoveAtNotSupported() {
|
||||
var example = new Example();
|
||||
Assert.Throws<NotSupportedException>(() => example.RemoveAt(0));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ContainsFindsItems() {
|
||||
var example = new Example();
|
||||
example[0] = "a";
|
||||
example[1] = "b";
|
||||
Assert.That(example.Contains("a"));
|
||||
Assert.That(example.Contains("b"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ContainsDoesntFindAbsentItems() {
|
||||
var example = new Example();
|
||||
example[0] = "a";
|
||||
example[1] = "b";
|
||||
Assert.That(!example.Contains("c"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CopyTo() {
|
||||
var example = new Example();
|
||||
example[0] = "a";
|
||||
example[1] = "b";
|
||||
|
||||
var buffer = new string[7];
|
||||
example.CopyTo(buffer, 3);
|
||||
|
||||
var expected = new string[] {
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"a",
|
||||
"b",
|
||||
null,
|
||||
null,
|
||||
};
|
||||
|
||||
Assert.That(buffer, Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IndexOfFindsItems() {
|
||||
var example = new Example();
|
||||
example[0] = "a";
|
||||
example[1] = "b";
|
||||
Assert.That(0, Is.EqualTo(example.IndexOf("a")));
|
||||
Assert.That(1, Is.EqualTo(example.IndexOf("b")));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IndexOfDoesntFindAbsentItems() {
|
||||
var example = new Example();
|
||||
example[0] = "a";
|
||||
example[1] = "b";
|
||||
Assert.That(-1, Is.EqualTo(example.IndexOf("c")));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c9ed9c5b0167147beaa7da6310cefa84
|
||||
timeCreated: 1538060897
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user