public void Get_WithBuilder_Immediately() { var pool = new Pool(); pool.Register <ObjectDummy>( idSelector: instance => instance.GetType().GetHashCode(), instanceSelector: instance => new ObjectDummy { Data = instance.Data }, getFromPoolCallback: instance => TestContext.WriteLine($"Got instance of '{instance.GetType()}'"), putToPoolCallback: instance => TestContext.WriteLine($"Put instance of '{instance.GetType()}'")); var dummyDataOld = "some data"; var dummyDataNew = "changed"; var template = new ObjectDummy { Data = dummyDataOld }; pool.GetWith(template) .Then(instance => instance.Data = dummyDataNew) .ThenPut(); var result = pool.Get(template); Assert.AreEqual(dummyDataNew, result.Data); }
public async Task Get_WithBuilder_Delayed() { var pool = new Pool(); pool.Register <ObjectDummy>( idSelector: instance => instance.GetType().GetHashCode(), instanceSelector: instance => new ObjectDummy { Data = instance.Data }, getFromPoolCallback: instance => TestContext.WriteLine($"Got instance of '{instance.GetType()}'"), putToPoolCallback: instance => TestContext.WriteLine($"Put instance of '{instance.GetType()}'")); var dummyDataOld = "some data"; var dummyDataNew = "changed"; var delaySeconds = 1; var template = new ObjectDummy { Data = dummyDataOld, Seconds = delaySeconds }; pool.GetWith(template) .Then(instance => instance.Data = dummyDataNew) .ThenWait(instance => TimeSpan.FromSeconds(instance.Seconds)) .ThenPut(); await Task.Delay(delaySeconds); var result = pool.Get(template); Assert.AreEqual(dummyDataNew, result.Data); }
public async Task testPostCreateTransactionOfObjectMetaDataUsingBuilder() { BlockchainAccount account = new BlockchainAccount(); ObjectDummy dummyAsset = new ObjectDummy(); dummyAsset.id = "id"; dummyAsset.description = "asset"; SomeMetaData metaData = new SomeMetaData(); metaData.properties.Add("one"); metaData.properties.Add("two"); metaData.properties.Add("three"); var transaction = await BigchainDbTransactionBuilder <ObjectDummy, SomeMetaData> .init() .addAssets(dummyAsset) .addMetaData(metaData) .operation(Operations.CREATE) .buildAndSign(account.PublicKey, account.Key) .sendTransactionAsync(); transaction.Data.ShouldNotBe(null); transaction.Data.Id.ShouldNotBe(null); transaction.Data.Operation.ShouldBe("CREATE"); // check returned transaction to match properties transaction.Data.MetaData.Metadata.porperty2.ShouldBe(2); transaction.Data.MetaData.Metadata.properties.Count.ShouldBe(3); transaction.Data.MetaData.Metadata.properties[2].ShouldBe("three"); }
void Init() { camera = playerDummy.Camera; objectDummy = new ObjectDummy(); rigid = new BodyRigid(); rigid.MaxAngularVelocity = 0.0f; rigid.Freezable = true; shape = new ShapeCapsule(radius, height); shape.Restitution = 0.0f; shape.Continuous = false; rigid.Enabled = true; objectDummy.Body = rigid; shape.Body = rigid; position = vec3.ZERO; direction = new vec3(1.0f, 0.0f, 0.0f); phiAngle = 90.0f; for (int i = 0; i < (int)State.NumStates; i++) { states[i] = 0; times[i] = 0.0f; } UpdateTransform(); PhysicalMask = physicalMask; PhysicsIntersectionMask = intersectionMask; CollisionMask = collisionMask; PhysicalMass = physicalMass; SetCollisionRadius(radius); SetCollisionHeight(height); MinFriction = minFriction; MaxFriction = maxFriction; MinVelocity = minVelocity; MaxVelocity = maxVelocity; Acceleration = acceleration; Damping = damping; Jumping = jumping; Ground = 0; Ceiling = 0; Game.Player = playerDummy; }
public void Get_Plain() { var pool = new Pool(); pool.Register <ObjectDummy>( idSelector: instance => instance.GetType().GetHashCode(), instanceSelector: instance => new ObjectDummy { Data = instance.Data }, getFromPoolCallback: instance => TestContext.WriteLine($"Got instance of '{instance.GetType()}'"), putToPoolCallback: instance => TestContext.WriteLine($"Put instance of '{instance.GetType()}'")); var dummyData = "some data"; var template = new ObjectDummy { Data = dummyData }; var result = pool.Get(template); Assert.AreNotEqual(template, result); Assert.AreEqual(template.Data, result.Data); Assert.AreEqual(dummyData, result.Data); }
public async Task testPostTransactionOfCreateUsingBuilder() { BlockchainAccount account = new BlockchainAccount(); ObjectDummy dummyAsset = new ObjectDummy(); dummyAsset.id = "id"; dummyAsset.description = "asset"; ObjectDummy dummyMeta = new ObjectDummy(); dummyMeta.id = "id"; dummyMeta.description = "meta"; var transaction = await BigchainDbTransactionBuilder <ObjectDummy, ObjectDummy> .init().addAssets(dummyAsset) .addMetaData(dummyMeta) .operation(Operations.CREATE) .buildAndSign(account.PublicKey, account.Key).sendTransactionAsync(); transaction.Data.ShouldNotBe(null); transaction.Data.Id.ShouldNotBe(null); transaction.Data.Operation.ShouldBe("CREATE"); }
private void Init() { if (showAdvancedSettings) { showAdvancedSettings = false; } if (useExternalBody) { useExternalBody = false; } PlayerDummy player = node as PlayerDummy; if (!player) { return; } // decompose transformation position = node.WorldPosition; direction = MathLib.Normalize(new vec3(-node.WorldTransform.AxisZ)); camera = player.Camera; if (playerBody) { dummy = playerBody.Body as BodyDummy; if (dummy) { for (int i = 0; i < dummy.NumShapes; i++) { if (!shape) { shape = dummy.GetShape(i) as ShapeCapsule; } } if (shape) { shape.Restitution = 0.0f; shape.Continuous = false; PhysicalIntersectionMask = shape.PhysicsIntersectionMask; CollisionMask = shape.CollisionMask; Mass = shape.Mass; CollisionRadius = shape.Radius; CollisionHeight = shape.Height; } } } if (!dummy || !shape) { if (playerBody) { playerBody.Enabled = false; } playerBody = new ObjectDummy(); dummy = new BodyDummy(); shape = new ShapeCapsule(1.0f, 1.0f); shape.Restitution = 0.0f; shape.Continuous = false; dummy.Enabled = true; playerBody.Body = dummy; shape.Body = dummy; PhysicalIntersectionMask = physicalIntersectionMask; CollisionMask = collisionMask; Mass = mass; CollisionRadius = collisionRadius; CollisionHeight = collisionHeight; } contacts = new List <ShapeContact>(); UpdateTransform(); maxSlopeAngle = MathLib.Max(maxSlopeAngle, maxStaticSlopeAngle); maxSlidingSpeed = MathLib.Max(maxSlidingSpeed, minSlidingSpeed); if (showDebug) { Visualizer.Enabled = true; Render.ShowTriangles = 1; } isInitialized = true; }